Zurück zur Übersicht

Begriff

B-Tree

Database Computer Science S3
2 Quellen 0 Lernpfade 0 Backlinks enriched

Warum wichtig?

Dieser Begriff ist ein Knoten im SengakujiWorks-Wissensnetz. Nutze Level 0 für die erste Einordnung, Level 1 für Praxis, Level 2 für technische Struktur und Level 3 für Grenzen, Fallstricke und Expertenkontext.

Stell dir einen binären Baum vor. Jeder Knoten hat 2 Kinder. Auf der Festplatte ist das langsam (jedes Kind ist ein Sektor-Sprung). Ein B-Tree ist ein "breiter" Baum. Jeder Knoten hat hunderte Kinder. Ein Knoten ist so groß wie eine Festplatten-Page (4 KB oder 8 KB). Dadurch ist der Baum extrem flach. Um 1 Milliarde Einträge zu finden, brauchst du nur 3-4 Sprünge (Disk Seeks). Der B-Tree (meistens B+Tree) ist das Rückgrat fast aller relationalen Datenbanken (PostgreSQL, MySQL, Oracle). Er ist optimiert für Lesen.

Merksatz: Eine selbstbalancierende Baumdatenstruktur, die Daten sortiert speichert und O(log n) für Suche, Einfügen und Löschen garantiert; optimiert für Block-basierte Speichermedien (Festplatten).


Quick-Check

  1. Wofür steht das B?
    Bayer? Boeing? Balanced? Niemand weiß es sicher. Rudof Bayer hat es nie verraten. Wahrscheinlich "Boeing" (wo sie arbeiteten).
  2. Warum nicht Hashmap?
    HashIndex ist $O(1)$, aber kann keine Range Queries (WHERE age > 18). B-Tree ist sortiert, also sind Ranges effizient.
  3. SSD?
    Auf SSDs sind B-Trees immer noch gut, aber Random Reads sind billiger. Neue Strukturen (Bw-Tree) versuchen SSDs noch besser auszunutzen.