Files
2nd/10_Wiki/Topics/B-Tree.md
T
2026-05-02 23:33:34 +09:00

1.7 KiB


id: P-Reinforce-AI-B-TREE category: Unified confidence_score: 0.99 tags: [B-Tree, Data Structure, DB, Indexing] last_reinforced: 2026-04-20

B-Tree (B-트리)

📌 한 줄 통찰 (The Karpathy Summary)

"디스크의 느린 속도를 이겨내는 최적의 균형." 한 노드에 여러 데이터를 담고 층수를 낮게 유지하여, 수백만 건의 데이터도 단 3~4번의 읽기만으로 찾아내는 인덱스의 제왕이다.

📖 구조화된 지식 (Synthesized Content)

  • Multi-way Search Tree:
    • 이진 트리(2-way)와 달리 노드 하나가 수십~수백 개의 자식을 가질 수 있다. 이를 통해 트리의 높이(Height)를 극적으로 낮춘다.
  • Self-Balancing:
    • 데이터가 추가되거나 삭제될 때마다 스스로 노드를 분할(Split)하거나 합치며(Merge) 높이 균형을 유지한다. 언제나 탐색 속도가 보장된다.
  • Disk I/O Efficiency:
    • 노드 한 개의 크기를 하드디스크의 한 블록(Page) 크기에 맞춰 설계하여, 한 번의 스핀으로 최대한 많은 정보를 읽어오게 한다.

⚠️ 모순 및 업데이트 (RL Update)

  • 현대의 SSD 환경에서는 랜덤 액세스 속도가 빨라져서 B-Tree 계열 외에도 LSM-Tree(NoSQL 등에서 사용) 같은 다양한 변종이 사용된다. 하지만 여전히 관계형 DB(MySQL, PostgreSQL)의 기본 인덱스는 B+Tree(B-Tree의 계층형 변형)가 압도적 표준이다.

🔗 지식 연결 (Graph)