B-tree는 각 노드가 많은 key를 담고 많은 자식을 갖는(높은 팬아웃(fanout)) 자가 균형 탐색 트리입니다. 이는 트리를 얕게 유지하여 디스크 읽기 횟수를 최소화하며, 이것이 바로 데이터베이스와 파일 시스템에 필요한 것입니다.
높은 팬아웃이 binary tree를 이기는 이유
text
1,000,000개 key에 대한 Binary BST -> 높이 ~20 (디스크 탐색 20회)
B-tree, 노드당 100개 key -> 높이 ~3 (디스크 탐색 3회)
각 노드 = 하나의 디스크 블록/페이지 읽기.
구조 (B-tree 차수 4)
text
[ 17 | 35 ]
/ | \
[4|9|12] [20|28] [40|50|60]
각 노드가 많은 key를 채움 -> 적은 레벨
