B-дерево (B-Tree)
B-дерево — це збалансоване дерево пошуку, оптимізоване для роботи зі сховищами з великим обсягом даних.
Це дозволяє підтримувати баланс між продуктивністю та витратами. Коли трафік росте — система додає ресурси (Scale-Out), коли падає — прибирає зайве (Scale-In).
graph LR
Center["B-дерево (B-Tree)"]:::main
Pre_load_balancer["load-balancer"]:::pre --> Center
click Pre_load_balancer "/terms/load-balancer"
Rel_high_availability["high-availability"]:::related -.-> Center
click Rel_high_availability "/terms/high-availability"
Rel_recursion["recursion"]:::related -.-> Center
click Rel_recursion "/terms/recursion"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧒 Простими словами
Це як ієрархічний каталог у величезному архіві. Замість того, щоб кожні дві секунди вибирати 'ліво чи право', ви дивитесь на список із сотні варіантів і одразу переходите на потрібний поверх. Це набагато швидше, коли даних мільйони.
🤓 Expert Deep Dive
B-дерево підтримує баланс автоматично: під час кожної вставки або видалення алгоритм перерозподіляє ключі. Якщо вузол переповнюється, він розділяється на два, а середній елемент піднімається вище. Це гарантує, що шлях від кореня до будь-якого листка завжди однаковий. Це властивість 'ідеального балансу', яка забезпечує передбачувану швидкість O(log n) навіть у найгірших сценаріях.