B-Bäume und Datenbanken

Hallo,

ich versuche gerade die Sache mit den B-Bäumen,B±Bäumen und Hashing in Sachen Datenbanken zu verstehen.

  1. Wo liegt genau der Unterschied zwischen B-Baum und B±Baum? In einem B-Baum liegen doch die Daten einfach in einem Knoten oder nicht? Liegt da der Unterschied?

  2. Wofür werden B-Bäume und B±Bäume in Datenbanken eingesetzt? Zum wiederfinden der Daten auf physischer Ebene? Was wird in den Bäumen genau gespeichert?

  3. Hashing soll dann wohl die Suche der Daten in der Datenbanken beschleunigen oder?

Habt ihr vll. eine Idee?

Hallo,

ich gehe mal davon aus, das dir ein B-Baum ein Begriff ist.

Ein B±Baum ist - wie der Name auch vermuten läßte - eine Erweiterung des B-Baumes.

„Bei einem B±Baum werden die eigentlichen Datenelemente nur in den Blattknoten gespeichert, während die inneren Knoten lediglich Schlüssel enthalten. die Schlüssel in den Verzeichnisseiten bezeichnet man auch als Separatoren.“

Quelle und weitere Infos: http://de.wikipedia.org/wiki/B%2B-Baum

Und ja, Hashing soll die Suche beschleunigen.

Hier ein Anwendungsbeispiel:

„Ein B-Tree-Hash-Index speichert keine tatsächlichen Zeilenwerte der Tabelle. Statt dessen speichert ein B-Tree-Hash-Index eine Codierung, die dafür sorgt, dass die Sortierreihenfolge der ursprünglichen Daten beibehalten wird. Die Hash-Größe, d.h. die Anzahl der Byte in jedem Index-Eintrag zur Speicherung dieses Hash-Wertes, wird vom Server automatisch aufgrund der deklarierten Breite aller Spalten mit Index gewählt. Der Server vergleicht diese Hash-Werte, während er den Index nach einer bestimmten Zeile durchsucht.“

Quelle: http://www.ianywhere.com/developer/product_manuals/s…

Noch 'ne ganz gute Einführung:

http://books.google.com/books?id=FAbmW1WdUWkC&pg=PA5…

Schönen Tag noch

Gut Hash!

tf