--- id: wiki-2026-0508-b-tree title: B Tree category: 10_Wiki/Topics status: needs_review canonical_id: self aliases: [P-Reinforce-AI-B-TREE] duplicate_of: none source_trust_level: A confidence_score: 0.99 tags: [B-Tree, Data Structure, DB, Indexing] raw_sources: [] last_reinforced: 2026-04-20 github_commit: pending inferred_by: Claude Opus 4.7 (auto-normalize 2026-05-08) tech_stack: language: unspecified framework: unspecified --- # [[B-Tree|B-Tree]] (B-ํŠธ๋ฆฌ) ## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) > "๋””์Šคํฌ์˜ ๋А๋ฆฐ ์†๋„๋ฅผ ์ด๊ฒจ๋‚ด๋Š” ์ตœ์ ์˜ ๊ท ํ˜•." ํ•œ ๋…ธ๋“œ์— ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด๊ณ  ์ธต์ˆ˜๋ฅผ ๋‚ฎ๊ฒŒ ์œ ์ง€ํ•˜์—ฌ, ์ˆ˜๋ฐฑ๋งŒ ๊ฑด์˜ ๋ฐ์ดํ„ฐ๋„ ๋‹จ 3~4๋ฒˆ์˜ ์ฝ๊ธฐ๋งŒ์œผ๋กœ ์ฐพ์•„๋‚ด๋Š” ์ธ๋ฑ์Šค์˜ ์ œ์™•์ด๋‹ค. ## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) - **Multi-way [[Search|Search]] Tree**: - ์ด์ง„ ํŠธ๋ฆฌ(2-way)์™€ ๋‹ฌ๋ฆฌ ๋…ธ๋“œ ํ•˜๋‚˜๊ฐ€ ์ˆ˜์‹ญ~์ˆ˜๋ฐฑ ๊ฐœ์˜ ์ž์‹์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ํŠธ๋ฆฌ์˜ ๋†’์ด(Height)๋ฅผ ๊ทน์ ์œผ๋กœ ๋‚ฎ์ถ˜๋‹ค. - **Self-Balancing**: - ๋ฐ์ดํ„ฐ๊ฐ€ ์ถ”๊ฐ€๋˜๊ฑฐ๋‚˜ ์‚ญ์ œ๋  ๋•Œ๋งˆ๋‹ค ์Šค์Šค๋กœ ๋…ธ๋“œ๋ฅผ ๋ถ„ํ• (Split)ํ•˜๊ฑฐ๋‚˜ ํ•ฉ์น˜๋ฉฐ(Merge) ๋†’์ด ๊ท ํ˜•์„ ์œ ์ง€ํ•œ๋‹ค. ์–ธ์ œ๋‚˜ ํƒ์ƒ‰ ์†๋„๊ฐ€ ๋ณด์žฅ๋œ๋‹ค. - **Disk I/O [[Efficiency|Efficiency]]**: - ๋…ธ๋“œ ํ•œ ๊ฐœ์˜ ํฌ๊ธฐ๋ฅผ ํ•˜๋“œ๋””์Šคํฌ์˜ ํ•œ ๋ธ”๋ก(Page) ํฌ๊ธฐ์— ๋งž์ถฐ ์„ค๊ณ„ํ•˜์—ฌ, ํ•œ ๋ฒˆ์˜ ์Šคํ•€์œผ๋กœ ์ตœ๋Œ€ํ•œ ๋งŽ์€ ์ •๋ณด๋ฅผ ์ฝ์–ด์˜ค๊ฒŒ ํ•œ๋‹ค. ## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & Updates) - ํ˜„๋Œ€์˜ SSD ํ™˜๊ฒฝ์—์„œ๋Š” ๋žœ๋ค ์•ก์„ธ์Šค ์†๋„๊ฐ€ ๋นจ๋ผ์ ธ์„œ B-Tree ๊ณ„์—ด ์™ธ์—๋„ LSM-Tree(NoSQL ๋“ฑ์—์„œ ์‚ฌ์šฉ) ๊ฐ™์€ ๋‹ค์–‘ํ•œ ๋ณ€์ข…์ด ์‚ฌ์šฉ๋œ๋‹ค. ํ•˜์ง€๋งŒ ์—ฌ์ „ํžˆ ๊ด€๊ณ„ํ˜• DB(MySQL, PostgreSQL)์˜ ๊ธฐ๋ณธ ์ธ๋ฑ์Šค๋Š” B+Tree(B-Tree์˜ ๊ณ„์ธตํ˜• ๋ณ€ํ˜•)๊ฐ€ ์••๋„์  ํ‘œ์ค€์ด๋‹ค. ## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) - Related: [[Distributed-Systems-Engineering|Distributed-Systems-Engineering]] , [[Combinatorial-Optimization|Combinatorial-Optimization]] - Foundation: Computational Thinking ## ๐Ÿค– LLM ํ™œ์šฉ ํžŒํŠธ (How to Use This Knowledge) **์–ธ์ œ ์ด ์ง€์‹์„ ์“ฐ๋Š”๊ฐ€:** - *(TODO)* **์–ธ์ œ ์“ฐ๋ฉด ์•ˆ ๋˜๋Š”๊ฐ€:** - *(TODO)* ## ๐Ÿงช ๊ฒ€์ฆ ์ƒํƒœ (Validation) - **์ •๋ณด ์ƒํƒœ:** needs_review - **์ถœ์ฒ˜ ์‹ ๋ขฐ๋„:** A - **๊ฒ€ํ†  ์ด์œ :** *(P-Reinforce Phase 1 ์ž๋™ ์ •๊ทœํ™”. ๋ณธ๋ฌธ ๊ฒ€์ฆ ํ•„์š”.)* ## ๐Ÿงฌ ์ค‘๋ณต ๊ฒ€์‚ฌ (Duplicate Check) - **๊ธฐ์กด ์œ ์‚ฌ ๋ฌธ์„œ:** *(TODO: ์ธ๋ฑ์„œ ํด๋Ÿฌ์Šคํ„ฐ ๋ฆฌํฌํŠธ ์ฐธ์กฐ)* - **์ฒ˜๋ฆฌ ๋ฐฉ์‹:** UPDATE (์ž๋™ ์ •๊ทœํ™”) - **์ฒ˜๋ฆฌ ์ด์œ :** Phase 1 ์ •๊ทœํ™” โ€” ์˜› ํ…œํ”Œ๋ฆฟ/๋ˆ„๋ฝ ํ•„๋“œ ๋ณด๊ฐ•. ## ๐Ÿ•“ ๋ณ€๊ฒฝ ์ด๋ ฅ (Changelog) | ๋‚ ์งœ | ๋ณ€๊ฒฝ ๋‚ด์šฉ | ์ฒ˜๋ฆฌ ๋ฐฉ์‹ | ์‹ ๋ขฐ๋„ | |------|-----------|-----------|--------| | 2026-05-08 | P-Reinforce Phase 1 ์ •๊ทœํ™” (frontmatter + ํ—ค๋” ํ‘œ์ค€ํ™”) | UPDATE | A | ## ๐Ÿ’ป ์ฝ”๋“œ ํŒจํ„ด (Code Patterns) **ํŒจํ„ด 1:** *(TODO: ์ด ํ”„๋กœ์ ํŠธ ์ปจ๋ฒค์…˜ ๋ฐ˜์˜ํ•œ ๊ตฌ์กฐ ์Šค์ผˆ๋ ˆํ†ค)* ```text # TODO ``` ## ๐Ÿค” ์˜์‚ฌ๊ฒฐ์ • ๊ธฐ์ค€ (Decision Criteria) **์„ ํƒ A๋ฅผ ์จ์•ผ ํ•  ๋•Œ:** - *(TODO)* **์„ ํƒ B๋ฅผ ์จ์•ผ ํ•  ๋•Œ:** - *(TODO)* **๊ธฐ๋ณธ๊ฐ’:** > *(TODO)* ## โŒ ์•ˆํ‹ฐํŒจํ„ด (Anti-Patterns) - **[์•ˆํ‹ฐํŒจํ„ด]:** *(TODO: ๋ฌด์—‡์„ ํ•˜๋ฉด ์•ˆ ๋˜๋Š”๊ฐ€ + ์ด์œ  + ๋Œ€์‹  ๋ฌด์—‡์„)*