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
반응형