H9.5 a.)

burgi
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 115
Registriert: 15. Apr 2009 18:08
Wohnort: Ludwigshafen

H9.5 a.)

Beitrag von burgi »

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

Niggi
Mausschubser
Mausschubser
Beiträge: 82
Registriert: 15. Apr 2009 15:16
Kontaktdaten:

Re: H9.5 a.)

Beitrag von Niggi »

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

linn
Mausschubser
Mausschubser
Beiträge: 77
Registriert: 15. Okt 2008 21:16

Re: H9.5 a.)

Beitrag von linn »

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!?)

burgi
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 115
Registriert: 15. Apr 2009 18:08
Wohnort: Ludwigshafen

Re: H9.5 a.)

Beitrag von burgi »

@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.

michi
Nichts ist wie es scheint
Beiträge: 23
Registriert: 27. Nov 2008 19:58

Re: H9.5 a.)

Beitrag von michi »

@ 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

burgi
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 115
Registriert: 15. Apr 2009 18:08
Wohnort: Ludwigshafen

Re: H9.5 a.)

Beitrag von burgi »

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

Niggi
Mausschubser
Mausschubser
Beiträge: 82
Registriert: 15. Apr 2009 15:16
Kontaktdaten:

Re: H9.5 a.)

Beitrag von Niggi »

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

Antworten

Zurück zu „Archiv“