Hab da mal ne Verständnisfrage:
Sind B+ Bäume beim Einzelzugriff (auf einzelnen Datensatz) nicht prinziepiell auch schneller als B-Bäume? Obwohl beim B-Baum eventuell nicht bis zur Blattebene herabgestiegen werden muss. Da bei B+ Bäumen ja Indizierung und Datensätze getrennt sind sind doch bei B+ Bäumen weniger Plattenzugriffe notwendig um einen einzelnen Datensatz zu finden und auszulesen als beim B-Baum. Von daher wäre der B+Baum doch eigentlich immer vorzuziehen, oder ? Der einzige Vorteil von B-Baum gegenüber B+Baum ist doch die beim B+Baum kompliziertere Einfügeoperation. Die aber im Vergleich zu den Zeitgewinnen beim Einzelzugriff vernachlässigbar sein sollte.
Danke burgi
H9.5 a.)
Re: H9.5 a.)
so wie ich das verstanden hab, symbolisiert die Höhe des Baumes die anzahl der Plattenzugriffe, da beim B+ Baum nun mal immer auf die letzte Ebene heruntergestiegen werden muss, haben wir eine konstante Zugriffszeit für alle Elemente aber eben eine relativ schlechte weil ich immer h Plattenzugriffe habe. Bei einem B-Baum kann es durchaus sein, dass sich bereits in der 1.Stufe oder in der Wurzel der gesuchte Datensatz sich befindet und damit hast du im ganzen betrachtet mit dem B-Baum eine durchaus bessere Zugriffszeit auf einzelne Elemente
Re: H9.5 a.)
Was ist bei Gruppe 1 mit "Aktualisieren der Kundeninformationen" gemeint? Beinhaltet das auch eine Änderung der Telefonnummer (wodurch der Knoten an eine andere Stelle vorschoben werden müsste =löschen+einfügen!?)
Re: H9.5 a.)
@linn:
ich denke aktualisieren bezieht sich nur auf die datensätze auf die die nummern zeigen
@ Niggi:
mit der Höhe und den Plattenzugriffen hast du meiner Meinung nach nicht ganz recht, zumindest Teile des Baums, egal ob B oder B+Baum können meiner Ansicht nach im Hauptspeicher gehalten werden. Aber selbst wenn ich davon ausgehe dass ich für jeden Knoten einen neuen Plattenzugriff brauche, hab ich beim B+Baum mit einem Zugriff wesentlich mehr Schlüssel (abhänig von der Datensatzgrösse) in einem Knoten, dadurch dass im B+Baum die Datensätze nicht in den Knoten gespeichert werden sondern als Pointer in den Blättern. Das führt dazu, dass die Höhe des B+Baums kleiner als die eines korrespondierenden B-Baumes ist.
ich denke aktualisieren bezieht sich nur auf die datensätze auf die die nummern zeigen
@ Niggi:
mit der Höhe und den Plattenzugriffen hast du meiner Meinung nach nicht ganz recht, zumindest Teile des Baums, egal ob B oder B+Baum können meiner Ansicht nach im Hauptspeicher gehalten werden. Aber selbst wenn ich davon ausgehe dass ich für jeden Knoten einen neuen Plattenzugriff brauche, hab ich beim B+Baum mit einem Zugriff wesentlich mehr Schlüssel (abhänig von der Datensatzgrösse) in einem Knoten, dadurch dass im B+Baum die Datensätze nicht in den Knoten gespeichert werden sondern als Pointer in den Blättern. Das führt dazu, dass die Höhe des B+Baums kleiner als die eines korrespondierenden B-Baumes ist.
Re: H9.5 a.)
@ Niggi:
Der Unterschied, dass in einem B-Baum nicht bis auf die unterste Stufe gegangen werden muss, kann im Einzelfall auftreten, aber bei hohem Fanout ist die Suchtiefe nahezu identisch zur Höhe. Also macht es von der Zugriffszeit im Durchschnitt kaum bis garkeinen Unterschied ob du in einem B-Baum oder einem B+-Baum suchst.
vgl. Folie zu Mehrwegbäumen S. 25
Der Unterschied, dass in einem B-Baum nicht bis auf die unterste Stufe gegangen werden muss, kann im Einzelfall auftreten, aber bei hohem Fanout ist die Suchtiefe nahezu identisch zur Höhe. Also macht es von der Zugriffszeit im Durchschnitt kaum bis garkeinen Unterschied ob du in einem B-Baum oder einem B+-Baum suchst.
vgl. Folie zu Mehrwegbäumen S. 25
Re: H9.5 a.)
damit bleibt eigentlich kein vorteil fuer den b baum mehr uebrig oder seh ich das falsch ?
die folge aufgaben implizieren ja dass es einen vorteil fuer den b baum gibt
die folge aufgaben implizieren ja dass es einen vorteil fuer den b baum gibt
Re: H9.5 a.)
okay, ich bin überzeugt das beim direkten Lesen der Unterschied sehr gering ist, aber beim Einfügen ist der B+-Baum geringfügig komplizierter als beim B-Baum ansonsten würde ich nämlich wirklich gar keinen Vorteil für den B- Baum bei Operationen aus (1) sehen und das würde die komplette aufgabe unsinnig machen