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) навіть у найгірших сценаріях.

🔗 Пов'язані терміни

Попередні знання:

📚 Джерела