1 / 107

Kapitel 5

Kapitel 5. Zugriffsschicht: Satzverwaltung. Gegenstand des Kapitels. Datenmodell. Performanz. Datentypen: Satzmengen Operatoren: Operatoren auf Mengen. Mengenorientiert es Datenmodell. Anfragebearbeitung. Optimaler Einsatz der logischen Ressourcen. Datentypen: Sätze und Satzmengen

sarah-mason
Télécharger la présentation

Kapitel 5

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Kapitel 5 Zugriffsschicht: Satzverwaltung

  2. Gegenstand des Kapitels Datenmodell Performanz Datentypen: • Satzmengen Operatoren: • Operatoren auf Mengen Mengenorientiertes Datenmodell Anfragebearbeitung Optimaler Einsatz der logischen Ressourcen Datentypen: • Sätze und Satzmengen Operatoren: • Operatoren auf Sätzen Satzorientiertes Datenmodell Satz- u. Satzmengenverwaltung Vorschau auf zukünftig benötigte Daten Datentypen: • phys. Zugriffsstrukturen auf Sätze Operatoren: • seq. Durchlauf, gezielte Suche Satzzugriffsstrukturen Zugriffsschicht Vermeiden nicht aktuell benötigter Daten Transparenter homogener Speicher Datentypen: • Seite = feste Anzahl von Bytes • Segment = var. Anzahl von Seiten Operatoren: • Anforderung/Freigabe von Seiten • Segmente anlegen/öffnen/schließen Hauptspeicherseiten u. Segmente Segment- u. Pufferverwaltung Bevorratung von Daten im Hauptspeicher (rechtzeitige Bereitstellung vor Benutzung) Dateien Datentypen: • Block = feste Anzahl von Bytes • Datei = variable Anzahl v. Blöcken Operatoren: • Dateien anlegen/öffnen/schließen • Lesen/Schreiben von Blöcken Schneller Transport zwischen Haupt- und Hintergrundspeicher Dateiverwaltung Speicherstruktur Geräteschnittstelle Geräte-E/A

  3. Seite: Orientierung an Gerätestrukturen Gleichförmige und feste Größe Zugriff auf die einzelne Seite Bevorratung im Puffer aufgrund von internen Schätzmodellen Phys. Datensatz: Orientierung an Anwendungsbedürfnissen Ungleichförmige und zeitlich variable Größe Zugriff auf den einzelnen Satz unabhängig von Zugriffen auf andere Sätze im Kontext von Zugriffen auf weitere Sätze Bevorratung auf einer Seite und damit im Puffer aufgrund von Schätzmodellen oder Vorgaben der Anwendung Seiten vs. Datensätze

  4. Phys. Datensatz: Orientierung an Anwendungsbedürfnissen Ungleichförmige und zeitlich variable Größe Zugriff auf den einzelnen Satz unabhängig von Zugriffen auf andere Sätze im Kontext von Zugriffen auf weitere Sätze Bevorratung auf einer Seite und damit im Puffer aufgrund von Schätzmodellen oder Vorgaben der Anwendung Abhängigkeit? Satzzugriffsstrukturen Satzzugriffstruktur: Satzmenge so organisiert, dass performanter Zugriff möglich ist, ggf. mittels zusätzlicher Hilfsstrukturen ggf. Ballung: Anordnen von gleichzeitig oder unmittelbar aufeinander folgend zugegriffener Datensätze

  5. Datenmodell Derselbe Satz kann mehreren Zugriffstrukturen angehören Performanter Zugriff Physische DB (satzorientiert) enthält▶ Zugriffs- struktur enthält▶ Physischer Datensatz 1.. 1 0.. 0.. 1.. 1..? repräsentiert durch ▼ gespeichert in ▼ 1 1..? enthält▶ enthält▶ Physische DB (seitenorientiert) Segment Seite 1 0.. 1 0.. Bei Strukturen mit Gemeinsamkeiten Anordnung Datensätze auf Seiten: Satzverwaltung

  6. Kapitel 5.1 Seitenspeicherverwaltung

  7. Aufgabe Freispeicherverwaltung: Bereitstellung einer Seite mit genügend freiem Speicher für die Speicherung eines Satzes Physische DB (satzorientiert) enthält▶ Zugriffs- struktur enthält▶ Physischer Datensatz 1.. 1 0.. 0.. 1.. 1.. repräsentiert durch ▼ gespeichert in ▼ 1 1 enthält▶ enthält▶ Physische DB (seitenorientiert) Segment Seite 1 0.. 1 0..

  8. Verwaltung freier Seiten (1) • Pro Segment gibt es eine FreispeichertabelleFT, mit FT(i) = noch verfügbarer freier Speicherplatz auf Seite i. • FT muss dauerhaft gespeichert werden; hierzu werden die Einträge von FT auf Seiten abgebildet: • Ein Eintrag von FT habe die Länge L. • Die Seitengröße sei PS, und die Netto-Seitengröße NETPS (Seitengröße minus Größe des Seitenkopfes, der für Verwaltungsinformationen reserviert ist). • Auf eine Seite passen k Einträge der Freispeichertabelle FT: • Sei s die Anzahl der Seiten des Segments. Um alle Einträge von FT für die Verwaltung des freien Speichers von s Seiten zu speichern, benötigt man n Seiten:

  9. Verwaltung freier Seiten (2) • Da Freispeicherseiten häufig durchsucht werden müssen, minimiere deren Zahl  stets L = 1 Byte! • Folge: Der Speicher auf einer Seite wird in Gruppen von g = ⌈PS/28⌉ = ⌈PS/256⌉ Bytes eingeteilt und gruppenweise verwaltet. Unscharfe Verwaltung mit Verschnitt Scharfe Verwaltung

  10. Ablage der Freispeichertabelle (1) Option 1: FT belegt die ersten n Seiten des Segments. Nur geeignet bei statischer Segmentgröße s. Eine Erweiterung der FT ist nur durch Verschieben von Daten auf Seiten möglich („Freimachen“ der Seiten n+1 bis n+m, wenn m weitere Seiten für FT benötigt werden). Option 2: Äquidistante Verteilung von FT auf die Seiten ik+1, i=0,1,2,… Zu empfehlen bei dynamischem Wachstum von Segmenten.

  11. Ablage der Freispeichertabelle (2) Option 1: Freispeichertabelleseiten Nutzdatenseiten 15 20 05 60 25 60 ... ... 320 0 ••• Seite 1 Seite 3 Seite 4 Seite 50 Seite 2

  12. Ablage der Freispeichertabelle (3) Option 2: Freispeichertabelleseiten Nutzdatenseiten 15 20 05 60 25 60 ... ... 320 0 ••• ••• Seite 1 Seite 41 Seite 39 Seite 40 Seite 2

  13. Freispeichertabelle  Seitentabelle • Bei indirekter Seitenadressierung verbunden mit einer indirekten Einbringstrategie kann FT an die Seitentabelle angebunden werden: FT(i) zusammen mit Tabelle(i). • Vorteil: Insgesamt Verringerung der Schreibvorgänge für Seitentabelle und Freispeichertabelle. • Nachteil: Verstoß gegen Schichtenprinzip; die Seitentabelle ist eine interne Datenstruktur der Segment-Verwaltung, die Freispeichertabelle eine interne Datenstruktur der Zugriffsschicht.

  14. Freispeichertabelle  Seitentabelle Segment S2 Segment S1 P2‘ P1‘ P3‘ ... Pn‘ Pk P2 P3 ... P1 Freispeicher-tabelle von S1 Freispeicher-tabelle von S2 50 60 ... 164 112 224 200 133 ... 91 Bk+2 B4 B5 ... B2 Bk B1 B3 ... Bk+3 Seitentabelle von S1 Seitentabelle von S2 B1 B2 B3 B4 B5 ... Bk Bk+1 ... Bk+2 Bk+3 Bk+n

  15. Kapitel 5.2 Platzierung von Datensätzen: Grundsätze

  16. Platzierung von Datensätzen auf Seiten • (Zugriffsstruktur-)gesteuerte Platzierung:Die Anwendung macht Voraussagen zur Art und Abfolge der Zugriffe. • Die Zugriffsstrukturkontrollierteigenständig die Platzierung ihrer Datensätze auf Seiten. • (Zugriffsstruktur-)freie Platzierung:Die Anwendung macht keine Voraussagen zur Art und Abfolge der Zugriffe. Bestenfalls können interne Schätzmodelle eingesetzt werden. • Die Zugriffsschicht platziert die Datensätze nach eigenständigen Kriterien. Nächstes Kapitel Dieses Kapitel

  17. Eigenschaft von Datensätzen Datensätze besitzen stets variable Länge: Die Anzahl der Felder und die Länge der Feldwerte • können zwischen Sätzen variieren, • können jeweils dynamisch wachsen und schrumpfen  Vergrößerung oder Verkleinerung des Datensatzes. Sicht der Zugriffsschicht: • Nutzdatenbereich unstrukturiert (seine Verwaltung obliegt höheren Schichten), aber die Nutzdatenlänge muss angegeben werden. • Je nach Art der Verwaltung kommen noch weitere Überhangfelder hinzu. L Nutzdaten

  18. Kapitel 5.3 Verwaltung kleiner Datensätze

  19. Datenmodell • Kleiner Datensatz: Datensatz, dessen Länge kleiner als die Seitengröße ist. • Jeder (kleine) Datensatz wird vollständig innerhalb einer Seite gespeichert. • Eine Seite kann jedoch mehrere Datensätze enthalten. Physische DB (satzorientiert) enthält▶ Zugriffs- struktur enthält▶ Kl. Physischer Datensatz 1.. 1 0.. 0.. 1.. 1.. repräsentiert durch ▼ gespeichert in ▼ 1 1 enthält▶ enthält▶ Physische DB (seitenorientiert) Segment Seite 1 0.. 1 0..

  20. Freispeicher innerhalb einer Seite Üblich: Kompakte Verwaltung des freien Speichers: • Der gesamte freie Speicher einer Seite ist ein zusammenhängender Speicherbereich. • Vorteil: Es steht immer der gesamte freie Speicher für die Allokation zusammenhängender Speicherbereiche zur Verfügung. • Nachteile: Verschiebeaufwand bei Freigabe von Speicher, Umadressierung der Datensätze auf der Seite. • Verwaltungsinformation im Seitenkopf: Falls der freie Speicher am Anfang oder Ende der Seite liegt, genügt entweder Anfangsadresse oder Länge des freien Speichers.

  21. Freispeicher innerhalb einer Seite 100 3600 Seitenkopf Satz A Sa tz B Satz C Sa tz D Satz E S atz F S atz G S atz H Satz K Satz L Satz M Seite 10

  22. Kapitel 5.3.1 Einzelsatzablage

  23. Forderungen an die Adressierung Forderungen: • Stabilität: Da die Adresse eines Satzes an sehr vielen Stellen in der Datenbasis vorkommen kann (z.B. in mehreren Zugriffsstrukturen), und oft gar nicht alle Stellen bekannt sind, an denen die Adresse eines Satzes vorkommt, sollte die Adresse eines Satzes über die Lebensdauer der DB relativ stabil bleiben. • Flexibilität: Der Satz sollte auf den Seiten des Segments verschiebbar sein (innerhalb einer Seite und über Seitengrenzen hinweg), um bspw. Wachstumsschwankungen auffangen zu können.

  24. Lösungsansätze für die Adressierung • Direkte Adresse eines Satzes: Nummer der Seite und Offset innerhalb der Seite, an dem sich der Satz befindet. Entweder instabil oder inflexibel. • Lösung: Vorschalten einer indirekten Adresse (Stabilität), aus der die direkte Adresse zu ermitteln ist (Flexibilität). • Zu untersuchen: Einfachheit der Ermittlung versus Stabilitätsverhalten. TID LID PPP

  25. TID (1) • Einführung von seitenlokalen Tabellen. • Die Einträge der Tabelle werden als Slots bezeichnet. • Sie enthalten die relativen Adressen (Offsets) der Datensätze auf der Seite. • Die Slottabelle und deren Größe wird im Seitenkopf der Seite verwaltet. • Eine Satzadresse ist ein Paar (Seitennummer, Slotnummer) und heißt Tuple identifier (TID). • Für die Repräsentation von Slotnummern genügt meist 1 Byte; bei 32 bit-Satzadressen bleiben 24 bit für die Seitennummer.

  26. Seitenadresse Slotnummer 8 bit 24 bit ext.TID(Satz C) 10 5 Satz C TID (2) 100 3600 Seitenkopf Satz A Sa tz B Satz C Sa tz D Satz E S atz F S atz G S atz H Satz K Satz L Satz M Seite 10

  27. Segment S4711 TID von Datensatz R1 P123 #Slots:6 P123 3 R1 R1 5 4 3 2 1 0 TID (3) • Für die Verschiebung eines Satzes innerhalb einer Seite wird nur der zu dem Datensatz gehörende Slot auf den neuen Offset des Satzes gesetzt. • Der TID bleibt beim Verschieben eines Satzes innerhalb der Seite unverändert. • Beispiel: Verschieben von Datensatz R1 innerhalb von Seite P123.

  28. TID (4) • Flexibilität: Wenn ein Satz von einer Seite verdrängt und auf eine andere Seite verschoben wird, soll sein TID unverändert bleiben. • Hierzu wird ein sogenannter Stellvertretersatz auf der alten Seite eingeführt, der auf den neuen Speicherplatz des Satzes verweist. • Der Stellvertretersatz muss natürlich kleiner sein als der verdrängte Satz, da sonst das Verdrängen des Satzes von der Ursprungsseite keinen Speichergewinn bringt. • Beispiel: Satz R1 wird von Seite P123 auf Seite P504 verschoben.

  29. Stellvertretersatz P123 TID von Datensatz R1 Rückwärtsverweis und Nutzdaten von Datensatz R1 #Slots:6 P504 2 P123 3 5 4 3 2 1 0 P504 #Slots:4 = Stellvertreterbit P123 3 R1 = Verdrängungsbit 3 2 1 0 TID (5) Segment S4711 R1

  30. TID (6) • Wird ein bereits verdrängter Satz von seiner jetzigen Seite erneut verdrängt, dann wird 1. eine neue Seite für den Satz gesucht, 2. der TID des Satzes auf der neuen Seite in den Stellvertretersatz auf der Ursprungsseite (Home page) des Satzes eingetragen. • Die Home Page des Satzes wird anhand des Rückwärtsverweises ermittelt. • Die Verweiskette bei mehrfacher Verdrängung eines Satzes bleibt so auf 1 Verweis beschränkt. • Dabei kann es auch zu Zurückholen auf die Home Page kommen. • Beispiel: Erneutes Verdrängen von Satz R1 auf Seite P345.

  31. Stellvertretersatz P123 TID von Datensatz R1 #Slots:6 P504 2 P123 3 5 4 3 2 1 0 P504 P345 #Slots:4 #Slots:5 P123 3 R1 P123 3 R1 3 2 1 0 4 3 2 1 0 TID (7) Segment S4711 R1

  32. Stellvertretersatz P123 TID von Datensatz R1 #Slots:6 P504 P345 4 2 P123 3 5 4 3 2 1 0 P504 P345 #Slots:4 #Slots:5 P123 3 R1 3 2 1 0 4 3 2 1 0 TID (7) Segment S4711 R1

  33. Bewertung des TID-Konzeptes Vorteile: • Jeder Datensatz wird mit maximal 2 Seitenzugriffen aufgefunden. • Bei 10 % verdrängten Sätzen ergibt sich ein mittlerer Zugriffsfaktor von 1.1 Seitenzugriffen pro Satz. Nachteile: • Ungünstig bei Seitenspalt-Verfahren, bei denen volle Seiten geteilt und die Hälfte der Datensätze auf eine neue Seite verschoben werden (Abhilfe: Zugriffsstruktur-Steuerung!). • Langfristig instabil: Bei Löschen und Reorganisation ändern sich die TIDs, zur Anpassung müssen alle Vorkommen der alten TIDs in der Datenbasis gefunden werden. • TID nur eindeutig im Segment. Fazit: • Hohe Flexibilität, mittelmäßige Stabilität, schneller Zugriff.

  34. Logischer Identifikator von Datensatz R1 logischer Identifikator (LID) TID Segment S4711 P123 #Slots:6 R1 345.208 P123 3 5 4 3 2 1 0 LID (1) Langfristig stabiler Identifikator Zuordnungstabelle

  35. LID (2) Realisierungsvariante 1: Laufende Nummer • Vorteil: Der einfachste Weg, eindeutige Identifikatoren zu erzeugen, ist das Inkrementieren eines Zählers. • Kurze LIDs (z.B. 32 bit): • Die Größe der DB und damit die Performanz werden positiv beeinflusst. • Mit 32 bit lassen sich 4 G Datensätze identifizieren • Ausreichend für die meisten Anwendungen. • Andernfalls Wiederverwendung von Identifikatoren (Fehlerquelle!) • Lange LIDs (z.B. 64 bit): • Vorrat verfügbarer Identifikatoren größer. • Man kann es sich leisten, die LIDs gelöschter Datensätze nicht wiederzuverwenden.

  36. LID (3) Realisierungsvariante 2: Strukturierte Identifikatoren • Sie enthalten Informationen über den Datensatz plus laufende Nummer. Beispiele: Wert eines Schlüsselattributs der logischen Ebene; Segment-, DB-, Typidentifikatoren; bei verteilter DB die Adresse des Rechners, auf dem der Datensatz erzeugt wurde. • Vorteil: Informationen können bereits dem logischen Identifikator entnommen werden. • Nachteile: Längere Identifikatoren, komplizierte Generierungsverfahren für Identifikatoren, i.Allg. wird nicht der gesamte Raum möglicher Identifikatoren genutzt.

  37. LID (4) Varianten für die Realisierung von Zuordnungstabellen: • Geltungsbereich einer Zuordnungstabelle: • eine Tabelle für die gesamte DB (sehr große Tabelle, TIDs müssen um Segmentnummer ergänzt werden) • eine Tabelle pro Segment • eine Tabelle pro Zugriffsstruktur. • Speicherung von Zuordnungstabellen: • Abbildung auf Seiten notwendig. • Schnelle Suche: Speicherung sortiert oder über eine Hashtabelle.

  38. Bewertung des LID-Konzeptes Vorteile: • Beim Verschieben/Löschen eines Satzes muss allein sein Eintrag in der Tabelle angepasst/beseitigt werden. • Langfristig stabil: LIDs überleben Reorganisation der DB. Nachteile: • Für gegebenen LID sind mindestens 2 Seitenzugriffe notwendig, um auf einen Satz zuzugreifen. Oft noch mehr: • Bei Hashverfahren: Es können mehr als 2 Seitenzugriffe erforderlich sein. • Problem des virtuellen Hauptspeichers. • Eigene Transaktionstechniken für Zuordnungstabelle. Fazit: • Höhere Zugriffskosten, hohe Stabilität, hohe Flexibilität.

  39. PPP (1) • LID-Konzept mit folgender Erweiterung: • Satzadresse ist Paar (LID, TID): • TID verweist „mit hoher Wahrscheinlichkeit“ auf den Speicherplatz des Datensatzes. • TID (und auch Paar) wird als Probable Page Pointer (PPP) bezeichnet. • In den Slottabellen einer Seite ist in jedem Slot zusätzlich zum Offset der LID des Satzes gespeichert. • Beim Erzeugen eines Datensatzes geht seine aktuelle TID in Zuordnungstabelle und PPP ein. • Wird ein Datensatz verschoben, dann wird der TID in der Zuordnungstabelle angepasst. • Dagegen: faule Anpassung der PPP bei deren Verwendung.

  40. 3. Zugriff über aktuellen TID 2. Zugriff auf Zuordnungstabelle über log. Identifikator 1. Zugriff über den TID, der in dem PPP enthalten ist 345.208 1 P378 PPP(R1) 4. Ersetzen dieses veralteten TIDs P123 2 PPP (2) Zuordnungstabelle Segment S4711 P123 logischer Identifik. TID R1 345.208 P123 2 345.208 1 2 0 P378 R0815 270.450 2 0 1 veraltet

  41. Bewertung des PPP-Konzeptes Vorteile: • Schnellerer Zugriff als bei LIDs. • Bei 10 % verdrängten Datensätzen durchschnittlich 1.2 Seitenzugriffe pro Satzzugriff. Nachteile: • Hoher Speicherplatzbedarf wegen langer Satzadressen. • Anpassung veralteter TIDs in PPPs erfordert Schreibzugriff. Fazit: • Breiter gestreute Ermittlungskosten, hohe Stabilität und Flexibilität, hoher Aufwand. • Nur bei hoher Dynamik (häufiges Verdrängen von Sätzen) bzw. häufigen Reorganisationen mit TID-Konzept konkurrenzfähig.

  42. Kapitel 5.3.2 Ballen von Datensätzen

  43. Kontextwissen, Qualität der Clusterung Ballungszeitpunkt Wann bestimme ich zu einem Datensatz die Seite, auf der der Satz gespeichert werden soll? 1. Zum Zeitpunkt des Erzeugens: Datensätze erhalten sofort nach ihrer Erzeugung eine Seite zugewiesen. Auf diese Art kann die Ballung der Datensätze nur begrenzt optimiert werden, da die „guten“ Seiten bereits voll sein können. 2. Beim Commit: Transaktionen weisen allen erzeugten Datensätzen zunächst nur temporäre Speicherplätze zu und versuchen beim Commit, eine gute Ballung für die neu erzeugten Datensätze aufzubauen. 3. Bei der Reorganisation: Die beste Art, eine gute Ballung aufzubauen, besteht in einer vollständigen oder teilweisen Reorganisation der DB. Dabei können die Datensätze unabhängig von ihrem Erzeugungszeitpunkt geballt werden, da man im Vollbesitz aller Informationen ist.

  44. Ballungsproblem Definition des Ballungsproblems: • Gegeben: 1. Eine Menge von physischen Datensätzen, 2. die Größe der physischen Datensätze, 3. ein Schätzmodell für das Nutzungsprofil, das angibt, wie häufig auf zwei Datensätze direkt hintereinander zugegriffen wird, 4. die Seitengröße. • Ausgabe: Eine Gruppierung von Datensätzen auf Seiten, so dass die Seitengröße nicht überschritten wird und die Anzahl der logischen Seitenreferenzen für den durchschnittlichen Operationsmix der Datenbasis minimiert wird. Aufgabe 1: Erstelle das Modell Aufgabe 2: Wähle geeigneten Ballungsalgorithmus

  45. Stabilität Zur Stabilität der Ballung: Bei Änderungen der DB verschlechtert sich die Ballung zunehmend, da sich mit Änderungen in der DB häufig auch die Nutzung der Datensätze ändert, die Ballung aber unverändert bleibt und das neue Nutzungsprofil der Datensätze nicht mehr unterstützt.

  46. Modellierung des Zugriffsverhaltens • Das Zugriffsverhalten der Anwendungen wird durch einen Clusterungsgraph (CG) modelliert. • Die Knoten stellen physische Datensätze dar. • Eine Kante zwischen zwei Datensätzen R1 und R2 zeigt an, dass es Anwendungen gibt, die auf Datensatz R1 zugreifen und direkt danach auf Datensatz R2. • Kanten und Knoten des CG sind gewichtet. • Das Gewicht einer Kante drückt die relative Häufigkeit von direkten Zugriffen vom Anfangspunkt der Kante zu ihrem Endpunkt aus (alle Kanten haben ein Gewicht > 0). Die Kantengewichte stellen somit ein Modell für das Zugriffsverhalten der Anwendungen dar. • Das Gewicht eines Knoten ist die Länge des entsprechenden Datensatzes.

  47. Beispiel Clusterungsgraph Cuboid Material Vertex

  48. Datensätze Kantengewicht Knotengewicht= Datensatzgröße Beispiel Clusterungsgraph 12 MatSet 5 6 CubSet 16 22 22 Material 77 Material 99 8 20 15 8 20 10 58 58 58 Cuboid 2 Cuboid 3 Cuboid 1 40 40 40 40 28 28 40 40 Vertex21 Vertex28 … 28 28 28 28 Vertex11 Vertex18 Vertex38 … Vertex31 …

  49. Ermittlung der Kantengewichte Statische Verfahren: • Diese Verfahren beruhen entweder auf Eingaben des Benutzers oder auf einer Analyse des Datenbankschemas oder der Anwendungsimplementierungen. Dynamische Verfahren: • Sie beruhen auf der Analyse früherer Anwendungen. • Entweder müssen spezielle Trainingsläufe von Anwendungen gefahren werden, oder • das Zugriffsverhalten der normalen Alltags-Anwendungen wird protokolliert. • Hoher Aufwand während des Alltags-Betriebs der Datenbasis.

  50. Ballungsalgorithmen Reformulierung des Ballungsproblems: Ein Ballungsalgorithmus erhält als Eingabe einen CG und die Seitengröße, und produziert als Ausgabe eine Aufteilung der Knoten des CG auf Seiten. Sequenz-basierte Ballungsalgorithmen: • Sie überführen den CG in eine Sequenz von Datensätzen. • Die Sequenz wird in Teilsequenzen zerlegt, so dass die Datensätze in jeder Teilsequenz auf eine Seite passen. • Die Seiten werden dabei soweit wie möglich gefüllt. Partitionierungs-basierte Ballungsalgorithmen: • Sie wenden einen Graphpartitionierungs-Algorithmus auf den CG an. • Der CG wird in Partitionen zerlegt, so dass die Datensätze in jeder Partition auf eine Seite passen.

More Related