카
카카오
February 20, 20251회
MongoDB WiredTiger의 B+Tree
간단 소개
MongoDB WiredTiger의 B+Tree 구조, 리프 페이지 관리 방식, InnoDB와의 비교 분석을 통해 데이터 관리 방법을 심층적으로 설명합니다.
AI Summary
- WiredTiger B+Tree 구조
- WiredTiger는 B+Tree를 사용하여 데이터를 관리하며, 페이지 간의 연결을 유지하지 않는 특징이 있음.
- WT_REF 구조체를 통해 페이지를 참조하고, CAS를 활용하여 원자적 업데이트를 수행하여 잠금을 최소화함.
- 범위 쿼리 시 부모 페이지를 거쳐 다음 페이지로 이동하며, 이는 페이지 간 연결이 없는 구조로 인해 발생함.
- 리프 페이지 관리
- 리프 페이지는 WT_ROW 배열 형태로 로우를 관리하며, 이진 탐색을 통해 빠르게 특정 로우를 찾을 수 있음.
- WT_UPDATE 구조체는 기존 키의 변경 및 삭제를 관리하며, 업데이트 체인을 형성하여 MVCC를 구현함.
- WT_INSERT 구조체는 새로운 키의 삽입을 관리하며, 스킵 리스트 구조를 사용하여 삽입과 조회를 효율적으로 처리함.
- InnoDB B+Tree 비교 및 결론
- InnoDB는 동일 레벨 페이지 간 양방향 연결 리스트를 사용하는 반면, WiredTiger는 페이지 간 연결이 없음.
- InnoDB는 리프 페이지 내 레코드를 단방향 연결 리스트로 관리하며, 페이지 디렉터리를 통해 성능을 보완함.
- WiredTiger는 낙관적 동시성 제어를, InnoDB는 비관적 동시성 제어를 사용하며, 서비스 특성에 따라 적합한 방식을 선택해야 함.
Next Feeds
VM Blue-Green 전환으로 효율적인 개발 환경 만들기 (feat. Property 주입)
VM Blue-Green 전환과 Property 주입을 통해 CI/CD 효율성을 높이고 개발 환경을 개선한 경험 공유.
Blue-Green 배포CI/CDProperty 주입DockerSpring Boot
2025. 2. 19.
현대자동차
카나리 배포 도입과 상품 유닛의 쓱데이 대응기
쓱데이 대응을 위한 카나리 배포 도입 배경, 활용 방법, 그리고 실제 적용 사례를 통해 얻은 교훈을 공유합니다.
카나리 배포쓱데이상품 유닛트래픽Java 21
2025. 2. 19.
SSG

사내 AI 챗봇 서비스 구축하기
크리에이트립 FE 개발자가 사내 AI 챗봇을 구축한 경험 공유: Azure OpenAI 연동, GraphQL 스키마 조회, 파일 지원, 웹 접근 기능 등 구현 과정과 트러블 슈팅.
AI 챗봇Azure OpenAIGraphQLFunction CallingNext.js
2025. 2. 19.
크리에이트립

GitLab Release 자동화 완벽 가이드(feat. CI/CD)
GitLab CI/CD를 활용한 릴리즈 자동화 방법과 release-cli, Changelog API를 이용한 배포 및 릴리즈 노트 자동 생성 과정을 설명합니다.
GitLabCI/CD릴리즈 자동화release-cliChangelog API
2025. 2. 19.
인포그랩
AWS re:Invent 2024 Recap: Compute
AWS re:Invent 2024에서 공개된 EC2, Graviton, Trainium 등 AWS의 최신 컴퓨팅 기술 동향과 발전 방향을 분석합니다.
AWS re:InventEC2GravitonTrainiumNitro System
2025. 2. 18.
카카오페이
AWS re:Invent 2024 Recap: AI 2편
AWS re:Invent 2024에서 공개된 SageMaker와 Bedrock의 주요 업데이트를 통해 AI 개발 및 운영 효율성을 높이는 방안을 제시합니다.
AWS re:InventSageMakerBedrock생성형 AIAI
2025. 2. 18.
카카오페이