C Tutorium – B*-Baum Index Manager – Knut Stolze
B*-Baum Knoten Knoten Knoten Knoten Knoten Knoten Blatt Blatt Blatt
Innere Knoten Knoten = Seite/Block (Größe 4K) Gefüllt mit Paaren (Schlüssel, Seiten-Nummer) Schlüssel ist Wegweiser zum Sohn Seiten-Nummer gibt ID des Sohnes an
Innere Knoten (2) Header InnerNodeHeader Array von Einträgen Globaler Seiten-Header Seiten-Nummer Seiten-Typ (immer “BTreeIndexPage”) Knoten-Typ (immer “InnerNodeType”) InnerNodeHeader firstLeft – ID des linkesten Sohnes bei welchem alle Schlüssel <= ersten Schlüssel countEntry – Anzahl der Einträge im aktuellen Knoten father – ID des Vater-Knotens Array von Einträgen
Blatt Knoten = Seite/Block (Größe 4K) Gefüllt mit Paaren (Schlüssel, Tupel-ID) Schlüssel generiert aus Tupel (von Anwendung) Tupel-ID identifiziert Tupel auf Datenseiten Schlüssel können eindeutig sein, müssen aber nicht
Blatt (2) Header LeafNodeHeader Array von Einträgen Globaler Seiten-Header Seiten-Nummer Seiten-Typ (immer “BTreeIndexPage”) Knoten-Typ (immer “LeafNodeType”) LeafNodeHeader countEntry – Anzahl von Einträgen im Knoten father – ID des Vater-Knotens leftBrother – ID des linken Nachbarknotens rightBrother – ID des rechten Nachbarknotens Array von Einträgen