Topic

B-Tree(B-트리)

JackerLab 2026. 6. 7. 07:10
728x90
반응형

개요

B-Tree는 다진 탐색 트리(Multi-way Search Tree)의 일종으로, 하나의 노드가 여러 개의 자식 노드를 가질 수 있는 균형 트리 구조이다. 디스크 기반 시스템에서 I/O를 최소화하기 위해 설계되었으며, 데이터베이스와 파일 시스템에서 핵심 인덱스 구조로 널리 사용된다.


1. 개념 및 정의

B-Tree는 노드가 여러 개의 키와 자식을 가질 수 있도록 설계된 자가 균형 트리로, 트리의 높이를 최소화하여 탐색, 삽입, 삭제 연산을 모두 O(log n) 시간에 수행할 수 있도록 한다. 특히 블록 단위 저장장치(HDD, SSD)에 최적화된 구조이다.


2. 특징

항목 설명 비고
다진 트리 구조 하나의 노드에 여러 키 저장 I/O 감소
균형 유지 모든 리프 노드 동일 깊이 성능 안정
정렬 상태 유지 키가 항상 정렬 탐색 효율

한줄 요약: B-Tree는 디스크 효율을 극대화한 균형 트리 구조이다.


3. 구성 요소

구성 요소 설명 역할
키(Key) 데이터 식별 값 탐색 기준
포인터(Pointer) 자식 노드 연결 트리 확장
노드(Node) 여러 키 포함 저장 단위

한줄 요약: 키와 포인터 기반의 노드 구조로 구성된다.


4. 기술 요소

기술 설명 특징
노드 분할(Split) 노드 초과 시 분리 균형 유지
노드 병합(Merge) 삭제 시 결합 공간 효율
재분배(Rebalancing) 키 재조정 안정성 확보

한줄 요약: 동적 구조 조정을 통해 항상 균형을 유지한다.


5. 장점 및 이점

장점 설명 효과
디스크 접근 최소화 트리 높이 감소 I/O 성능 향상
대용량 데이터 처리 수백만 건 처리 가능 확장성 우수
안정적 성능 항상 균형 유지 예측 가능

한줄 요약: 대규모 데이터 환경에서 최고의 성능을 발휘한다.


6. 주요 활용 사례 및 고려사항

활용 사례 설명 고려사항
DB 인덱스 MySQL, Oracle 등 페이지 크기 중요
파일 시스템 NTFS, ext4 블록 관리 필요
검색 엔진 색인 구조 데이터 분포 고려

한줄 요약: 저장 시스템 핵심 구조지만 설계 최적화가 중요하다.


7. 결론

B-Tree는 대용량 데이터 환경에서 효율적인 탐색과 저장을 가능하게 하는 핵심 자료구조로, 특히 디스크 기반 시스템에서 필수적인 역할을 수행한다. 앞으로도 클라우드, 빅데이터, 분산 시스템 환경에서 그 중요성은 더욱 커질 것으로 전망된다.

728x90
반응형