KAPITEL 3 DATEIORGANISATION UND ZUGRIFFSSTRUKTUREN

Größe: px
Ab Seite anzeigen:

Download "KAPITEL 3 DATEIORGANISATION UND ZUGRIFFSSTRUKTUREN"

Transkript

1 KAPITEL 3 DATEIORGANISATION UND ZUGRIFFSSTRUKTUREN h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 1

2 Dateiorganisation und Zugriffsstrukturen Inhalte des Kapitels Seiten, Sätze und Adressierung Klassifikation der Speichertechniken Baumverfahren Hash-Verfahren Klassifikation von Zugriffspfaden Cluster-Bildung Spaltenorientierte Datenbanken Physische Datendefinition in relationalen DBMS Lernziele Verstehen des internen Aufbaus von Seiten und Sätzen sowie deren Adressierung Kenntnis der wichtigsten Dateiorganisationsformen und Arten von Zugriffspfaden wann sollte welche Art verwendet werden? Kennenlernen von Möglichkeiten zur physischen Datendefinition in konkreten relationalen DBMS h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 2

3 Einordnung in die 5-Schichten-Architektur Mengenorientierte Schnittstelle Datensystem Satzorientierte Schnittstelle Zugriffssystem Speichersystem Interne Satzschnittstelle Systempufferschnittstelle Pufferverwaltung Dateischnittstelle Betriebssystem Externspeicher Geräteschnittstelle h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 3

4 Einordnung in die 5-Schichten-Architektur Speichersystem fordert über Systempufferschnittstelle Seiten an interpretiert diese als interne Datensätze interne Realisierung der logischen Datensätze mit Hilfe von Zeigern, speziellen Indexeinträgen und weiteren Hilfsstrukturen Zugriffssystem abstrahiert von der konkreten Realisierung h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 4

5 Seitenzugriff als Flachenhals Maß für die Geschwindigkeit von Datenbankoperationen: Anzahl der Seitenzugriffe auf dem Sekundärspeicher (wegen Zugriffslücke) aber auch Hauptspeicheroperationen nicht beliebig vernachlässigbar Geschwindigkeit des Zugriffs abhängig von der Qualität des Zugriffspfades, d.h. der Anzahl der benötigten Seitenzugriffe Seitenzugriff als Flaschenhals ist wichtige Randbedingung für die Implementierung aller darüber liegenden Strukturen und Schichten! h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 5

6 Seiten, Sätze, Adressierung Struktur der Seiten: doppelt verkettete Liste Header, u.a. Informationen über Vorgänger- und Nachfolger-Seite Informationen über Typ der Sätze Zeitstempel (für Recovery) Angabe über freien Platz Adressierung eines Satzes: Beispielsweise durch Seitennummer und Offset (relative Adresse in Bytes vom Seitenanfang) - Beispiel: (115, 142) h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 6

7 Einpassen von Datensätzen in Seiten Nichtspannsätze: jeder Datensatz in maximal einer Seite Spannsätze: Datensatz eventuell in mehreren Seiten Standard: Nichtspannsätze (nur im Falle von BLOBs oder CLOBs Spannsätze üblich) h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 7

8 Speichervarianten für Sätze variabler Länge n 1 Vorteil Strategie b): leichtere Navigation innerhalb des Satzes h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 8

9 TID-Konzept: Motivation Bisher: Adressierung eines Satzes durch Seitennummer und Offset, wobei der Offset die relative Adresse in Bytes vom Seitenanfang ist z.b. (115, 142) Diese Adresse wird in Verweisen von außen, z.b. in Index-Einträgen etc. verwendet. Was passiert beim Verschieben eines Satz? Konzept notwendig, welches beim Verschieben eines Satzes innerhalb der Seite nicht zum Anpassen der Verweise führt. Tupel Identifier (TID) (oft auch als Record Identifier (RID) bezeichnet) in relationalen Datenbanksystemen heute Stand der Technik h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 9

10 TID-Konzept 1(3) Tupel-Identifier (TID) ist Datensatz-Adresse bestehend aus Seitennummer und Offset Offset verweist innerhalb der Seite bei einem Offset-Wert von i auf den i-ten Eintrag in einer Liste von Tupel-Zeigern, die am Anfang der Seite stehen Jeder Tupel-Zeiger enthält Offsetwert innerhalb der Seite Verschiebung auf der Seite: sämtliche Verweise von außen bleiben unverändert h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 10

11 TID-Konzept 2(3) Verschiebungen auf eine andere Seite: statt altem Datensatz neuer TID-Zeiger mehrstufige Referenz (> 2) aus Effizienzgründen nicht wünschenswert - Lösungsvariante? außerdem: Reorganisation in regelmäßigen Abständen h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 11

12 TID-Konzept 3(3) Alternative: fester, logischer TID in der Literatur auch Data Base Key genannt bzw. im objektobjektorientierten und objektrelationalem Kontext: Object Identifier (OID) Zuordnungstabelle mit OID und phys. Adresse (Page Pointer PP) in Indexen etc. wird OID verwendet keine Änderungen in Indexen bei Verschieben des Datensatzes notwendig aber: immer 2 Seitenzugriffe außerdem: Hotspot beim Locking Modifikation: Verwenden eines Probable Page Pointer (PPP) in Indexen etc. wird sowohl die OID als auch der PPP gespeichert Bei Änderungen (erstmal) nur Anpassung des PP in Zuordnungstabelle (nicht PPP in Indexen) Zugriff: normalerweise über PPP (nur 1 Seitenzugriff) falls Datensatz an Position des PPP nicht gefunden wird langer Weg über OID und PP (3 Seitenzugriffe) außerdem Anpassung PPP h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 12

13 Seitenstruktur in IBM DB2 Datensatzadressen als relative Byteadresse auf der jeweiligen Seite Gelöschte Datensätze werden durch -1 repräsentiert Freispeicher: nur der zusammenhängende Bereich nach dem Satzverzeichnis Quelle: Saake/Heuer/Sattler:2005 h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 13

14 Oracle: Seitenaufbau und Parameter Mit den Parametern pctfree und pctused kann die Speicherplatzausnutzung in den Seiten (Database Block) beeinflusst werden Auswirkungen auf die Performance von Änderungsoperationen Quelle: Oracle Database Administrator's Guide 10g:2004 h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 14

15 Oracle: Storage Parameter Weitere Storage Parameter für Oracle-Tabellen: create table tabelle (...) pctfree 20 pctused 40 storage ( initial 10MB, next 2MB, minextents 1, maxextents 20, pctincrease 0, freelists 3 ) tablespace USER_TBLSPACE; pctfree: Seitenanteil, der nicht für insert-operationen genutzt werden soll (Reservebereich für update); Default 10 pctused: Grenze, bei der eine zuvor bis zu pctfree gefüllte Seite wieder für insert genutzt werden darf; Default 40 freelists: Anzahl der Freispeicherlisten (insb. für paralleles Einfügen) h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 15

16 Dateiorganisation und Zugriffsstrukturen Seiten, Sätze und Adressierung Klassifikation der Speichertechniken Baumverfahren Hash-Verfahren Klassifikation von Zugriffspfaden Cluster-Bildung Spaltenorientierte Datenbanken Physische Datendefinition in relationalen DBMS h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 16

17 Speichertechniken Motivation: Ablage von Datensätzen in Seiten technische Sicht (wie): voriger Abschnitt Zuordnung (welche Datensätze in welchen Seiten) noch nicht diskutiert ist aber entscheidend für die Effizienz des Zugriffs! (Stichwort: Seitenzugriff als Flaschenhals) außerdem: zusätzliche Strukturen (Indexdateien, Zugriffspfade) für effizienten Zugriff Speichertechniken (insbesondere Zugriffspfade) waren und sind eines DER Themen in der Datenbankforschung und -literatur, da ihre effiziente Umsetzung abhängig vom jeweiligen Anwendungskontext einer der entscheidenden Faktoren für die Datenbank-Performance ist. h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 17

18 Kriterien Klassifikation der Speichertechniken wird interne Relation selbst organisiert (Dateiorganisationsform) oder zusätzliche Zugriffsmöglichkeit auf bestehende interne Relation realisiert (Zugriffspfad) Art der Zuordnung von gegebenen Attributwerten zu Datensatz- Adressen Arten von Anfragen, die durch Dateiorganisationsformen und Zugriffspfade effizient unterstützt werden können h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 18

19 Anforderungen an Speichertechniken dynamisches Verhalten Effizienz beim Einzelzugriff (Schlüsselsuche beim Primärindex) Effizienz beim Mehrfachzugriff (Schlüsselsuche beim Sekundärindex) Ausnutzung für sequentiellen Durchlauf (Sortierung, geclusterter Index) Clustering Anfragetypen: exact-match, partial-match, range queries (Bereichsanfragen) h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 19

20 Dateiorganisation vs. Zugriffspfad Dateiorganisationsform: Form der Speicherung der internen Relation unsortierte Speicherung von internen Tupeln: Heap-Organisation sortierte Speicherung von internen Tupeln: sequenzielle Organisation gestreute Speicherung von internen Tupeln: Hash-Organisation (Speicherung von internen Tupeln in mehrdimensionalen Räumen: mehrdimensionale Dateiorganisationsformen) üblich: zusätzliche sortierter Zugriffspfad über Primärschlüssel h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 20

21 Dateiorganisation vs. Zugriffspfad Zugriffspfad: über grundlegende Dateiorganisationsform hinausgehende Zugriffsstruktur, etwa Indexdatei mit Einträgen (K, K ): K: Suchschlüssel, genauer: Zugriffsattribute und Zugriffsattributwerte K : ist Datensatz selbst Zugriffspfad wird Dateiorganisationsform ist Adresse genau eines internen Tupels Primärschlüssel ist Liste von Tupeladressen Sekundärschlüssel mit (K, K 1 ),..., (K, K n ) für denselben Zugriffsattributwert h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 21

22 Dateiorganisation und Zugriffsstrukturen Seiten, Sätze und Adressierung Klassifikation der Speichertechniken Baumverfahren Hash-Verfahren Klassifikation von Zugriffspfaden Cluster-Bildung Spaltenorientierte Datenbanken Physische Datendefinition in relationalen DBMS h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 22

23 Wiederholung DB (Bachelor) Baumverfahren Stufenanzahl dynamisch verändern wichtigste Baumverfahren: B-Bäume und ihre Varianten B-Baum-Varianten sind allgegenwärtig in heutigen Datenbanksystemen (egal ob relational, objektrelational, objektorientiert, ) B-Bäume ausgeglichener, balancierter Suchbaum Ausgeglichen oder balanciert: alle Pfade von der Wurzel zu den Blättern des Baumes gleich lang Hauptspeicher-Implementierungsstruktur: binäre Suchbäume, beispielsweise AVL-Bäume von Adelson-Velskii und Landis Datenbankbereich: Knoten der Suchbäume zugeschnitten auf Seitenstruktur des Datenbanksystems mehrere Zugriffsattributwerte auf einer Seite = Mehrwegbäume h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 23

24 Wiederholung DB (Bachelor) Prinzip des B-Baumes B-Baum von Bayer (B für balanciert, breit, Bayer, NICHT: binär) dynamischer, balancierter Indexbaum, bei dem jeder Indexeintrag auf eine Seite der Hauptdatei zeigt Mehrwegbaum völlig ausgeglichen, wenn 1. alle Wege von Wurzel bis zu Blättern gleich lang 2. jeder Knoten gleich viele Indexeinträge vollständiges Ausgleichen zu teuer, deshalb B-Baum-Kriterium: Jede Seite außer der Wurzelseite enthält zwischen m und 2m Einträge. h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 24

25 Wiederholung DB (Bachelor) Seitenformat des B-Baums Seitenformat: Z 0 S 1 Z 1 D 1 S 2 Z D 2 S S m Z D 2 3 m m frei Z i = Zeiger auf Seite der nächsten Stufe S i = Schlüssel (Zugriffsattributwert) D i = Daten des Satzes oder Verweis auf den Satz (bzw. die Sätze) d.h. materialisiert oder referenziert B-Baum als Primär- und Sekundärindex geeignet Datensätze direkt in die Indexseiten Dateiorganisationsform h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 25

26 Wiederholung DB (Bachelor) Definition B-Baum Ordnung eines B-Baumes ist minimale Anzahl der Einträge auf den Indexseiten außer der Wurzelseite Bsp.: B-Baum der Ordnung 8 faßt auf jeder inneren Indexseite zwischen 8 und 16 Einträgen Def.: Ein Indexbaum ist ein B-Baum der Ordnung m, wenn er die folgenden Eigenschaften erfüllt: 1. Jede Seite, außer der Wurzelseite, enthält mindestens m Elemente. Jede Seite enthält höchstens 2m Elemente. 2. Alle Blattseiten liegen auf der gleichen Stufe. 3. Die Elemente werden in allen Seiten sortiert gespeichert. Jede Seite ist entweder eine Blattseite ohne Nachfolger oder hat i + 1 Nachfolger, falls i die Anzahl ihrer Elemente ist. 4. Für einen Element E i gilt, dass die Werte zwischen E i-1 und E i im linken Teilbaum und die Werte zwischen E i und E i+1 im rechten Teilbaum gespeichert werden. h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 26

27 Wiederholung DB (Bachelor) Suchen in B-Bäumen lookup startend auf Wurzelseite Eintrag im B-Baum ermitteln, der den gesuchten Zugriffsattributwert w überdeckt Zeiger verfolgen, Seite nächster Stufe laden Beispiel: Suchen: 38, 20, 6 h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 27

28 Wiederholung DB (Bachelor) Einfügen in B-Bäumen Beispiel (m = 1) h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 28

29 Wiederholung DB (Bachelor) Einfügen in B-Bäumen Beispiel (Fortsetzung) h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 29

30 Wiederholung DB (Bachelor) Einfügen in B-Bäumen insert: Einfügen eines Wertes w mit lookup entsprechende Blattseite suchen passende Seite n < 2m Elemente w einsortieren passende Seite n = 2m Elemente neue Seite erzeugen, ersten m Werte auf Originalseite letzten m Werte auf neue Seite mittleres Element auf entsprechende Indexseite nach oben ggf. diesen Prozess rekursiv bis zur Wurzel wiederholen h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 30

31 Wiederholung DB (Bachelor) Löschen in B-Bäumen bei weniger als m Elementen auf Seite: Unterlauf delete: Löschen eines Wertes w mit lookup entsprechende Seite suchen w auf Blattseite gespeichert Wert löschen; ggf. Unterlauf behandeln w nicht auf Blattseite gespeichert Wert löschen, durch lexikographisch nächstkleineres Element von einer Blattseite ersetzen; ggf. Unterlauf auf Blattseite behandeln Unterlaufbehandlung Ausgleichen mit der benachbarten Seite (benachbarte Seite n Elemente mit n > m) oder Zusammenlegen zweier Seiten zu einer (Nachbarseite n = m Elemente), das mittlere Element von Indexseite darüber dazu; auf Indexseite ggf.unterlauf behandeln h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 31

32 Wiederholung DB (Bachelor) Löschen in B-Bäumen Beispiel (m = 2) : Löschen von 22 h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 32

33 B-Bäume: Komplexität der Operationen n Datensätze in der Hauptdatei Aufwand beim Einfügen, Suchen und Löschen im B-Baum immer O(log m (n)) Operationen Konkretes Beispiel: Seiten der Größe 4 KB, Zugriffsattributwert 32 Bytes, 8-Byte-Zeiger zwischen 50 und 100 Indexeinträge pro Seite Ordnung dieses B-Baumes Datensätze log 50 ( ) = 4 Seitenzugriffe im schlechtesten Fall Wurzelseite jedes B-Baumes normalerweise im Puffer 3 Seitenzugriffe Wieviel Seitenzugriffe würde der Zugriff ohne Index benötigen? h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 33

34 Varianten B + -Bäume: Daten nur auf den Blattseiten B*-Bäume: Aufteilen von Seiten vermeiden durch Shuffle Präfix-B-Bäume: Zeichenketten als Zugriffsattributwerte, nur Präfix indexieren h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 34

35 B + -Baum: Prinzip in der Praxis am häufigsten eingesetzte Variante des B-Baumes: effizientere Änderungsoperationen, Verringerung der Baumhöhe Daten nur auf den Blattseiten innere Knoten enthalten nur Schlüssel und Zeiger auf nachfolgenden Seite der nächsten Stufe: Seitenformat innere Knoten: Z 0 S 1 Z 1 S 2 Z 2 S 3 S m Z m frei Z i = Zeiger auf Seite der nächsten Stufe S i = Schlüssel Seitenformat Blattknoten: V S 1 D 1 S 2 D 2 S S m D frei 3 m N S i = Schlüssel D i = Daten des Satzes oder Verweis auf den Satz V = Vorgänger-Zeiger N = Nachfolger-Zeiger h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 35

36 Beispiel: B-Baum vs. B + -Baum 13 Schulz 14 Meier keine Daten in den inneren Knoten es passen mehr Einträge auf eine Seite Reduktion der Höhe des Baumes weniger Seitenzugriffe bei lookup, insert, delete (aber jetzt immer log m (n)) h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 36

37 Variante des B + -Baum Speicherung der Datensätze(!) in den Blattseiten schnelle fortlaufende Verarbeitung aller Datensätze in auf- oder absteigender Sortierreihenfolge! Verschmelzen von Zugriffsstruktur und Dateiorganisation h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 37

38 B*-Baum Problem beim B-Baum bzw. B + -Baum: häufiges Aufspalten von Seiten und geringe Speicherplatzausnutzung von nahe 50% B*-Baum: statt Aufteilen von Seiten bei Überlauf zunächst Neuverteilen der Datensätze auf eventuell nicht voll ausgelastete Nachbarseiten falls nicht möglich: zwei Seiten in drei aufteilen ohne Verschiebung eines Elements nach oben (ermöglicht durchschnittliche Speicherplatzausnutzung von 66% statt 50%) h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 38

39 Speicherbedarf für B-Baum Wie kann der maximale Speicheraufwand für einen B-Baum abgeschätzt werden? h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 39

40 Dateiorganisation und Zugriffsstrukturen Seiten, Sätze und Adressierung Klassifikation der Speichertechniken Baumverfahren Hash-Verfahren Klassifikation von Zugriffspfaden Cluster-Bildung Spaltenorientierte Datenbanken Physische Datendefinition in relationalen DBMS h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 40

41 Hash-Verfahren: Grundprinzip Basis-Hash-Funktion: h(k) = k mod m mit m möglichst Primzahl Überlauf-Behandlung Überlaufseiten als verkettete Liste lineares Sondieren h i (k) = (h(k) + i) mod m quadratisches Sondieren h i (k) = (h(k)+ i 2 ) mod m doppeltes Hashen h i (k) = (h(k) + h'(k)*i) mod m h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 41

42 Hash-Verfahren für Datenbanken Quelle: Saake/Heuer/Sattler:2005 h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 42

43 Operationen und Zeitkomplexität lookup, modify, insert, delete lookup benötigt maximal 1 + #B(h(w)) Seitenzugriffe mit #B(h(w)) Anzahl der Seiten (inklusive der Überlaufseiten) des Buckets für Hash-Wert h(w) Untere Schranke 2 (Zugriff auf Hash-Verzeichnis plus Zugriff auf erste Seite) Zeitschranke für modify, insert und delete? sehr effizient für Suche einzelner Werte (konstante Zugriffskosten - bei ausreichendem Speicherplatz und gut streuender Hash-Funktion 2 Zugriffe!) Bereichsanfragen? sortierte Ausgabe von Datensätzen? h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 43

44 Probleme bei statischen Hash-Verfahren Hash-Funktion bildet die Schlüsselwerte auf einen festen Bildbereich ab Was passiert, wenn dieser erweitert werden muss? neue Hash-Funktion Reorganisation (Re-Hashing) aller Datensätze! Dynamisches Hashen Idee: feste Hash-Funktion, aber dynamisch erweiterbarer Bildbereich Verschiedene Realisierungsvarianten Lineares Hashen Erweiterbares Hashen Spiral-Hashen h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 44

45 Prinzip lineares Hashen Folge von Hash-Funktionen, die wie folgt charakterisiert sind: h i : dom(primärschlüssel) { 0,..., 2 i N }: eine Folge von Hash- Funktionen mit i { 0, 1, 2,...} und N als Anfangsgröße des Hash- Verzeichnisses Wert von i: Level der Hash-Funktion Für diese Hash-Funktionen gelten die folgenden Bedingungen: h i+1 (w) = h i (w) für etwa die Hälfte aller w dom(primärschlüssel) h i+1 (w) = h i (w) + 2 i N für die andere Hälfte Bedingungen sind zum Beispiel erfüllt, wenn h i (w) als w mod (2 i N) gewählt wird h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 45

46 Realisierung lineares Hashen Zu einem Zeitpunkt: für ein w höchstens zwei Hash-Funktionen zuständig, deren Level nur um 1 differiert Entscheidung zwischen diesen beiden durch Split-Zeiger sp Split-Zeiger (gibt an, welche Seite als nächstes geteilt wird) lv Level (gibt an, welche Hash-Funktionen benutzt werden) lookup: s := h lv (w); if s < sp then s := h lv+1 (w); zuerst Hash-Wert mit der kleineren Hash-Funktion bestimmen liegt dieser unter dem Wert des Split-Zeigers größere Hash-Funktion verwenden h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 46

47 Beispiel für lineares Hashen 0 Schlüsselwerte (zur Vereinfachung): Bitfolgen Hash-Funktion: die ersten n Bits in umgekehrter Reihenfolge als Zahl, d.h. h 1 interpretiert die erste Zahl, h 2 die ersten beiden usw. Quelle: Saake/Heuer/Sattler:2005 h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 47

48 Splitten einer Seite 1. Die Sätze der Seite (Bucket), auf die sp zeigt, werden mittels h lv+1 neu verteilt ca. die Hälfte der Sätze wird auf Seite (Bucket) unter Hash-Nummer 2 lv N + sp verschoben 2. Der Split-Zeiger wird weitergesetzt: sp := sp + 1; 3. Nach Abarbeiten eines Levels wird wieder bei Seite 0 begonnen; der Level wird um 1 erhöht h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 48

49 Beispiel für lineares Hashen Beispiel: h 2 ( ) = 00 < 1 h 3 ( ) = 001 Quelle: Saake/Heuer/Sattler:2005 h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 49

50 nach Splitten einer Seite Quelle: Saake/Heuer/Sattler:2005 h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 50

51 nach Splitten zweier weiterer Seiten Nachteile des Verfahrens? Quelle: Saake/Heuer/Sattler:2005 h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 51

52 Dateiorganisation und Zugriffsstrukturen Seiten, Sätze und Adressierung Klassifikation der Speichertechniken Baumverfahren Hash-Verfahren Klassifikation von Zugriffspfaden Cluster-Bildung Spaltenorientierte Datenbanken Physische Datendefinition in relationalen DBMS h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 52

53 Klassifikation von Zugriffspfaden Verschiedene (i.a. orthogonale) Möglichkeiten der Klassifikation: dünnbesetzter vs. dichtbesetzter Index geclusterter vs. nicht-geclusterter Index Ein-Attribut vs. Mehr-Attribut-Index h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 53

54 Dünn- vs. dichtbesetzter Index dünnbesetzter Index: nicht für jeden Zugriffsattributwert K ein Eintrag in Indexdatei interne Relation sortiert nach Zugriffsattributen: im Index reicht ein Eintrag pro Seite Index verweist mit (K 1,K 1 ) auf Seitenanführer, nächste Indexeintrag (K 2,K 2 ) Datensatz mit Zugriffsattributwert K? mit K 1 < K? < K 2 ist auf Seite von K 1 zu finden dichtbesetzter Index: für jeden Datensatz der internen Relation ein Eintrag in Indexdatei indexsequenzielle Datei: sortierte Datei mit dünnbesetztem Index als Primärindex Primärindex muss dichtbesetzter Index sein, wenn Dateiorganisationsform Heap-Datei h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 54

55 Geclusterter vs. nicht-geclusterter Index 1(2) geclusterter Index: in der gleichen Form sortiert wie interne Relation Bsp.: interne Relation KUNDEN nach Kundennummern sortiert Indexdatei über dem Attribut KNr üblicherweise geclustert nicht-geclusterter Index: anders organisiert als interne Relation Bsp.: über Name ein Sekundärindex, Datei selbst nach KNr sortiert jeder dünnbesetzte Index ist auch geclusterter Index, aber nicht umgekehrt Sekundärindex kann nur dichtbesetzter, nicht-geclusterter Index sein h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 55

56 Geclusterter vs. nicht-geclusterter Index 2(2) Quelle: Saake/Heuer/Sattler:2005 h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 56

57 Ein-Attribut- vs. Mehr-Attribut-Index Ein-Attribut-Index (non-composite index): Zugriffspfad über einem einzigen Zugriffsattribut Mehr-Attribut-Index (composite index): Zugriffspfad über mehreren Attributen Bsp.: Attribute Name und PLZ unterstützen entweder zwei Ein-Attribut-Indexe oder ein Zwei-Attribut-Index über beiden Attributen Vorteil Mehr-Attribut-Index: bei exact-match nur ein Indexzugriff (weniger Seitenzugriffe) Mehr-Attribut-Index: Ausführungsart bestimmt, ob neben exact-match auch noch partial-match effizient unterstützt wird (eindimensional oder mehrdimensional) h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 57

58 Ein- vs. mehrdimensionale Zugriffsstruktur Ein-Attribut-Index immer eindimensionale Zugriffsstruktur: (Zugriffsattributwerte definieren lineare Ordnung in eindimensionalem Raum) Mehr-Attribut-Index ist eindimensionale oder mehrdimensionale Zugriffsstruktur: eindimensionaler Fall: Kombinationen der verschiedenen Zugriffsattributwerte konkateniert als einen einzigen Zugriffsattributwert betrachten (wieder lineare Ordnung in eindimensionalem Raum) keine partial-match-anfragen mehrdimensionaler Fall: Menge der Zugriffsattributwerte spannt mehrdimensionalen Raum auf bei partial-match bestimmt horizontale oder vertikale Gerade im Raum die Treffermenge mehrdimensionale Bäume mehrdimensionale Hash-Verfahren Grid-Files h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 58

59 Weitere Zugriffsstrukturen Spezifische Anforderungen für Geometrische Strukturen in Geoinformationssystemen, CAD-Systemen etc. mehrdimensionale Bäume (insbesondere Quadtrees, R-Bäume, Grid-Files) Multimedia-Daten mehrdimensionale Bäume, hochdimensionale Index für Feature-Vektoren Objektstrukturen hierarchische Indexe für Klassen- und Komponentenhierarchien Information Retrieval invertierte Listen, Signaturindexe XML Pfadindexe Data Warehouse Bitmap-Indexe, UB-Bäume Literatur (Überblick und weitere Referenzen): G. Saake, A. Heuer, und K. Sattler: Datenbanken: Implementierungstechniken. h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 59

60 Dateiorganisation und Zugriffsstrukturen Seiten, Sätze und Adressierung Klassifikation der Speichertechniken Baumverfahren Hash-Verfahren Klassifikation von Zugriffspfaden Cluster-Bildung Spaltenorientierte Datenbanken Physische Datendefinition in relationalen DBMS h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 60

61 Cluster-Bildung Ziel: gemeinsame Speicherung von (zusammengehörigen) Datensätzen auf Seiten wichtige Spezialfälle: Clusterung nach Schlüsselattributen Bereichsanfragen und Gruppierungen unterstützen: Datensätze in der Sortierreihenfolge zusammenhängend auf Seiten speichern index-organisierte Tabellen Clusterung basierend auf Fremdschlüsselattributen Gruppen von Datensätzen, die einen Attributwert gemeinsam haben, werden auf Seiten gemeinsam gespeichert (Verbundanfragen) h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 61

62 Verbundattribut: Cluster-Schlüssel Cluster für Verbundanfragen Quelle: Saake/Heuer/Sattler:2005 h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 62

63 Oracle-Notation: Definition von Clustern create cluster BESTELL_CLUSTER (BestellNr int) pctused 80 pctfree 5; create table BESTELLUNG ( BestellNr int primary key,...) cluster BESTELL_CLUSTER (BestellNr); create table BESTELL_POSITION ( Position int, BestellNr int references BESTELLUNG,... constraint BestellPosKey primary key (Position, BestellNr) ) cluster BESTELL_CLUSTER (BestellNr); h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 63

64 Organisation von Clustern Indexierte Cluster nutzen einen in Sortierreihenfolge aufgebauten Index (z.b. B + -Baum) über den Cluster-Schlüssel zum Zugriff auf die Cluster Speicherung von Cluster-Identifikatoren anstelle von TIDs create index BESTELL_CLUSTER_IDX on cluster BESTELL_CLUSTER; Hash-Cluster bestimmen den passenden Cluster mit Hilfe einer Hashfunktion Abbildung Cluster-Schlüssel Blockadresse create cluster BESTELL_CLUSTER (BestellNr int) pctused 80 pctfree 5 size 2k hash is BestellNr hashkeys ; h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 64

65 Dateiorganisation und Zugriffsstrukturen Seiten, Sätze und Adressierung Klassifikation der Speichertechniken Baumverfahren Hash-Verfahren Klassifikation von Zugriffspfaden Cluster-Bildung Spaltenorientierte Datenbanken Physische Datendefinition in relationalen DBMS h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 65

66 Spaltenorientierte DBMS: Motivation Charakteristika von Operationen in verschiedenen Anwendungsszenarien: OLTP: Lese- und Schreiboperationen auf einzelnen Datensätzen beim kompletten Lesen einer Tabelle werden viele nicht benötigte Datensätze gelesen Optimierung des gezielten Zugriffs auf Datensätze mit Indexen OLAP: Leseoperationen auf vielen Datensätzen (wobei i.a. nur einzelne Attribute relevant sind) beim kompletten Lesen einer Tabelle werden viele nicht benötigte Attributwerte gelesen Optimierung durch viele Indexe (ggf. Index auf jedem Attribut) Alternative: vertikale Partitionierung (siehe Kapitel 7) Neuer Ansatz: Column-Oriented Database Systems (Spaltenorientierte DBMS) h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 66

67 Spaltenorientierte DBMS: Idee Fundamentale Veränderung der Art, wie Datensätze gespeichert werden: + Einfaches Insert / Update + Nur Lesen relevanter Daten Lesen nicht benötigter Daten + Bessere Kompressionsmöglichkeiten Insert / Update aufwändig Zusammenfügen versch. Daten aufwändig suitable for read-mostly, read-intensive, large data repositories Quelle: Harizopoulos/Abadi/Boncz: VLDB2009 h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 67

68 Spaltenorientierte DBMS: Historie* und Literatur Erste Papiere mit ähnlichen Ansätzen schon in den 70er Jahren 1985: DSM-Paper: G. P. Copeland and S. Khoshafia: A decomposition storage model. SIGMOD Conference er Jahre: Kommerzialisierung durch Sybase IQ bis 2000: Überwiegend im Kontext von Main-Memory-Datenbanken erforscht und eingesetzt seit 2005: Wiedergeburt Lese-optimierter DBMS als Column Store mit Systemen wie C-Store, MonetDB/X100 etc. Wichtige Paper: M. Stonebraker, D. J. Abadi, A. Batkin et al.: C-Store: A Column-oriented DBMS. VLDB 2005 D. J. Abadi, S. Madden, N. Hachem: Column-stores vs. row-stores: how different are they really? SIGMOD Conference 2008 D. J. Abadi, P. A. Boncz, S. Harizopoulos: Column-oriented Database Systems. VLDB Conference 2009 Weitere Paper zu vertiefenden Themen rund um Column-oriented Database Systems auf allen aktuellen DB-Konferenzen (BTW, SIGMOD, VLDB, EDBT) *Quelle: Harizopoulos/Abadi/Boncz: VLDB2009 h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 68

69 Kompression Spaltenorientierte DBMS: Konzepte (1) Spalten lassen sich besser komprimieren als Zeilen Typische* Kompressionsraten: 1:3 für row-store, 1:10 für columnstore Warum? Diverse Kompressionsalgorithmen (Run-length Encoding, Bit-vector Encoding, Differential Encoding etc.) Datenbankoperationen: so lange wie möglich auf komprimierten Daten arbeiten Anpassung der Implementierung der Datenbankoperationen notwendig bzw. Einführung neuer Operatoren *Quelle: Harizopoulos/Abadi/Boncz: VLDB2009 h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 69

70 Spaltenorientierte DBMS: Konzepte (2) Leseoperationen Wann werden Tuple zusammengesetzt? early materialization vs. late materialization (nahezu) alle Datenbankoperationen müssen angepasst werden bzw. neue Operatoren eingeführt werden Änderungsoperationen (insert / delete) Problem? I/O für jede Spalte Re-Komprimierung Kein update-in-place sondern differential lists mit regelmäßigen merge-operationen Anpassung der Lese- und Schreiboperatoren! Anpassung des Transaktionskonzepts! Vertiefung dieser Themen in Vorlesung Big Data Technologien h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 70

71 Spaltenorientierte DBMS: Systeme Kommerziell Sybase IQ Vertica VectorWise 1010data ParAccel Infobright IBM Informix Warehouse Accelarator Exasol SAP HANA. Open Source MonetDB Infobright (C-Store) h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 71

72 Spaltenorientierte DBMS: Alternativen Alternativen bzw. Simulation des Column-Store in einem Row-based Datenbankmanagementsystem: Quelle: Harizopoulos/Abadi/Boncz: VLDB2009 h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 72

73 Spaltenorientierte DBMS: Alternativen SSBM (Star Schema Benchmark): sehr verbreiteter Data Warehouse Benchmark (basiert auf TPC-H Benchmark Datenmodell) Quelle: Abadi: 2008 h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 73

74 Trend Spaltenorientierte DBMS: Trend Row-Store-Systeme mit Column-Stores Unterstützung Oracle Erste Ansätze in Oracle 11g Release 2 für Exadata systems (Appliance, 2010) hybrid columnar compression July 2014 ( ): Oracle In-Memory Database : duplicate data column-oriented in main memory IBM Smart Analytics Optimizer 2010 MS SQL Server MS SQL Server 2012: neuer Indextyp COLUMNSTORE MS SQL Server 2014: Clustered Colum Store Index (full table) IBM DB BLU Acceleration (April 2013): column-organized tables PostgreSQL Extension for PostgreSQL (April 2014) SAP HANA (Appliance): Row-Store und Column-Store h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 74

75 Dateiorganisation und Zugriffsstrukturen Seiten, Sätze und Adressierung Klassifikation der Speichertechniken Baumverfahren Hash-Verfahren Klassifikation von Zugriffspfaden Cluster-Bildung Spaltenorientierte Datenbanken Physische Datendefinition in relationalen DBMS h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 75

76 Oracle: Datenorganisation und Zugriffspfade 1(2) Standardtabellen als Heap Standard-Index: B+-Baum Anlegen von index-organisierten Tabellen möglich: speichern Tupel direkt in den Blättern eines B+-Baums Clusterung mehrerer Relationen möglich; Cluster-Indexe als B+-Baum oder als Hash-Index Bitmap-Indexe für Data Warehouse benutzerdefinierte funktions-basierte Indexe h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 76

77 Oracle: Datenorganisation und Zugriffspfade 2(2) Index-organisierte Tabelle create table tabelle (...) organization index tablespace USER_TBLSPACE, pctthreshold 20 overflow tablespace OVER_TBLSPACE; Ablage der Daten in den Blättern des B+-Baums pctthreshold: Threshold für Speicherung von nicht-indexierten Attributen im Überlaufbereich (Wert: 1-50 Prozentsatz der Blockgröße) optional including: Festlegung der im Index aufzunehmenden Attribute (alle weiteren Überlaufbereich) h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 77

78 DB2: Datenorganisation und Zugriffspfade Standardtabellen als Heap Append-Mode-Tabellen, die für insert-operationen optimiert sind (Einfügen immer am Ende) bereichsgeclusterte Tabellen Multidimensionale Clustering-Tabellen Standard-Index: B+-Baum auch geclusterte Indexe möglich: create index name on tabelle (attribut) cluster; benutzerdefinierte funktions-basierte Indexe h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 78

79 Microsoft SQL Server: Datenorganisation und Zugriffspfade create [ unique ] [ clustered nonclustered ] index name on table-name (...) [ with fillfactor = value, pad_index,...] nicht-geclusterter Index: nur Row-IDs in Blattseiten geclusterter Index: Datensätze auf Blattseiten fillfactor: frei zu haltender Platz für Blattseiten beim Aufbau (pad_index auch für mittlere Seiten) weitere spezielle Indexstrukturen: Indexe auf berechneten Spalten indexierte Sichten (geclusterter Index auf Sicht) materialisierte Sicht h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 79

80 Trend Self-tuning DBMS: Indexempfehlungen Motivation Indexe erhöhen die Performance beim Zugriff drastisch aber: Indexverwaltung ist zusätzlicher Overhead Ziel Basierend auf Workload-Auswertung Empfehlung geeigneter Indexe Herausforderungen Wie ermittelt man, ob ein Index etwas bringt (bringen würde)? Komplexität der Ermittlung Menge von Anfragen Q 1,..., Q m Indexkandidaten I 1,..., I n mit Größe und Verwaltungskosten Profit von I i bzgl. Q k Aufgabe: Finde Indexkonfiguration C { I 1,..., I n } die Größenbeschränkung einhält und Gesamtprofit (unter Berücksichtigung der Verwaltungskosten) maximiert Rucksack-Problem (knapsack) Komplexität? h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 80

81 Trend Self-tuning DBMS: Indexempfehlungen Typische Vorgehensweise (in ähnlicher Form in den neuesten Versionen von DB2, Oracle, MS SQL Server implementiert) Input: Workload durch DBA vorgegebenes (gewichtetes) SQL-Statement-Profil teilweise vom DBMS gesammelte Informationen über SQL-Statements Verarbeitung Durchrechnen verschiedener Konfigurationsvarianten mit Hilfe des Optimizers ( what if Index) Output: Vorschläge zum Anlegen bzw. Löschen von Indexen materialisierten Sichten horizontalen Tabellenpartitionierung (siehe Kapitel 7) h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 81

82 Satzadressierung: TID-Konzept Dateiorganisation Zusammenfassung Heap-Speicherung als Standard indexsequenzielle Organisation Clusterbildung Zugriffspfade B-Baum und Varianten Hash-Verfahren, insbesondere dynamische Hash-Verfahren Aktuelle Entwicklung für lese-intensive Anwendungen mit sehr großen Datenmengen: Spaltenorientierte DBMS (Column-oriented Database Systems) h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 82

83 Architektur von Datenbanksystemen Architektur von Datenbanksystemen Verwaltung des Hintergrundspeichers Dateiorganisation und Zugriffsstrukturen Basisalgorithmen für Datenbank-Operationen Anfrageoptimierung Transaktionsverwaltung und Recovery Verteilte Datenbankarchitekturen h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 83

KAPITEL 3 DATEIORGANISATION UND ZUGRIFFSSTRUKTUREN

KAPITEL 3 DATEIORGANISATION UND ZUGRIFFSSTRUKTUREN KAPITEL 3 DATEIORGANISATION UND ZUGRIFFSSTRUKTUREN h_da Prof. Dr. Uta Störl Architektur von DBMS SoSe 2014 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 1 Dateiorganisation und Zugriffsstrukturen

Mehr

Teil IV. Dateiorganisation und Zugriffsstrukturen

Teil IV. Dateiorganisation und Zugriffsstrukturen Teil IV Dateiorganisation und Zugriffsstrukturen Überblick c Sattler / Saake Datenbank-Implementierungstechniken Letzte Änderung: 10. Mai 2012 4 1 Klassifikation der Speichertechniken Einordnung in 5-Schichten-Architektur

Mehr

Cluster-Bildung. VL Datenbanken II 4 107

Cluster-Bildung. VL Datenbanken II 4 107 Cluster-Bildung gemeinsame Speicherung von Datensätzen auf Seiten wichtige Spezialfälle: Ballung nach Schlüsselattributen. Bereichsanfragen und Gruppierungen unterstützen: Datensätze in der Sortierreihenfolge

Mehr

Dateiorganisation und Zugriffsstrukturen. Prof. Dr. T. Kudraß 1

Dateiorganisation und Zugriffsstrukturen. Prof. Dr. T. Kudraß 1 Dateiorganisation und Zugriffsstrukturen Prof. Dr. T. Kudraß 1 Mögliche Dateiorganisationen Viele Alternativen existieren, jede geeignet für bestimmte Situation (oder auch nicht) Heap-Dateien: Geeignet

Mehr

Kapitel 8: Physischer Datenbankentwurf

Kapitel 8: Physischer Datenbankentwurf 8. Physischer Datenbankentwurf Seite 1 Kapitel 8: Physischer Datenbankentwurf Speicherung und Verwaltung der Relationen einer relationalen Datenbank so, dass eine möglichst große Effizienz der einzelnen

Mehr

Teil IV Dateiorganisation und Zugriffsstrukturen

Teil IV Dateiorganisation und Zugriffsstrukturen Teil IV Dateiorganisation und Zugriffsstrukturen Überblick 1 Klassifikation der Speichertechniken c Sattler / Saake Datenbank-Implementierungstechniken Letzte Änderung: 13. April 2017 4 1 Überblick 1 Klassifikation

Mehr

Algorithmen und Datenstrukturen 1

Algorithmen und Datenstrukturen 1 Algorithmen und Datenstrukturen 1 10. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Suchverfahren für große Datenmengen bisher betrachtete Datenstrukturen

Mehr

Rückblick: Pufferverwaltung

Rückblick: Pufferverwaltung Rückblick: Pufferverwaltung Datenbankpuffer zum Schließen der Zugriffslücke zwischen Primär- und Sekundärspeicher Ersetzungsstrategien berücksichtigen Zeitpunkte und/oder Anzahl der Zugriffe auf bestimmte

Mehr

Datenbanken: Indexe. Motivation und Konzepte

Datenbanken: Indexe. Motivation und Konzepte Datenbanken: Indexe Motivation und Konzepte Motivation Warum sind Indexstrukturen überhaupt wünschenswert? Bei Anfrageverarbeitung werden Tupel aller beteiligter Relationen nacheinander in den Hauptspeicher

Mehr

Einordnung in 5-Schichten-Architektur. 4. Dateiorganisation / Zugriffsstrukturen. Klassifikation der Speichertechniken.

Einordnung in 5-Schichten-Architektur. 4. Dateiorganisation / Zugriffsstrukturen. Klassifikation der Speichertechniken. 4. Dateiorganisation / Zugriffsstrukturen Klassifikation der Speichertechniken Statische Verfahren (Heap, indexsequentiell, indiziert-nichtsequentiell) Baumverfahren (B-Bäume und Varianten) Hashverfahren

Mehr

Fokus bisher lag bisher auf sinnvoller Abbildung eines Ausschnitts der realen Welt in einer relationalen Datenbank

Fokus bisher lag bisher auf sinnvoller Abbildung eines Ausschnitts der realen Welt in einer relationalen Datenbank 8. Datenbanktuning Motivation Fokus bisher lag bisher auf sinnvoller Abbildung eines Ausschnitts der realen Welt in einer relationalen Datenbank Beliebige SQL-Anfragen können auf den Daten ausgewertet

Mehr

ADS: Algorithmen und Datenstrukturen

ADS: Algorithmen und Datenstrukturen ADS: Algorithmen und Datenstrukturen Teil X Peter F. Stadler & Konstantin Klemm Bioinformatics Group, Dept. of Computer Science & Interdisciplinary Center for Bioinformatics, University of Leipzig 13.

Mehr

Datenbanksysteme SS 2013

Datenbanksysteme SS 2013 Datenbanksysteme SS 2013 Kapitel 4: Physikalische Datenorganisation Vorlesung vom 16.04.2013 Oliver Vornberger Institut für Informatik Universität Osnabrück Speicherhierarchie GB 10 GHertz TB 100 10 ms

Mehr

Aufbau Datenbanksysteme

Aufbau Datenbanksysteme Aufbau Datenbanksysteme Lehrveranstaltung Datenbanktechnologien Prof. Dr. Ingo Claßen Prof. Dr. Martin Kempa Hochschule für Technik und Wirtschaft Berlin Speichersystem c Ingo Claßen, Martin Kempa Softwarearchitektur

Mehr

KAPITEL 4 BASISALGORITHMEN FÜR DATENBANKOPERATIONEN

KAPITEL 4 BASISALGORITHMEN FÜR DATENBANKOPERATIONEN KAPITEL 4 BASISALGORITHMEN FÜR DATENBANKOPERATIONEN h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 4: Basisalgorithmen für Datenbankoperationen 1 Einordnung in die 5-Schichten-Architektur

Mehr

Abschluss Einblick und Ausblick

Abschluss Einblick und Ausblick Abschluss Einblick und Ausblick Prof. Dr. T. Kudraß 1 Benutzer Komponenten eines DBMS (Überblick) I/O-Prozessor Output-Generierung Parser für selbst. oder eingebettete Kommandos Precompiler Autorisierungs-Kontrolle

Mehr

Zusatzskript Datenmanagement: physische Strukturen B+- und B*-Baum B+-Baum

Zusatzskript Datenmanagement: physische Strukturen B+- und B*-Baum B+-Baum Seite 1 Zusatzskript Datenmanagement: physische Strukturen B+- und B*-Baum B+-Baum Bild-1 Dargestellt ist die Speicherung der Personentabelle als B+-Baum anhand der Personen-Nummer (PersNr). Die Blattebene

Mehr

Indizes B+Bäume in Oracle. Jörg Winkler

Indizes B+Bäume in Oracle. Jörg Winkler Indizes B+Bäume in Oracle Vortragende: Conrad Kobsch Jörg Winkler Inhalt Allgemeines Aufbau / Eigenschaften von B+Bäumen Vorteile / Nachteile B+Baum-Indexe Kriterien für Indizes Anlegen eines Indizes Anfrageoptimierung

Mehr

Ausarbeitung zum Thema:

Ausarbeitung zum Thema: Hochschule für Technik, Wirtschaft und Kultur Leipzig Ausarbeitung zum Thema: Mehrdimensionale Dateiorganisation und Zugriffspfade Eingereicht von: Thomas Reinhardt, 05IN-B Inhaltsverzeichnis 1 Einleitung

Mehr

B*-BÄUME. Ein Index ist seinerseits wieder nichts anderes als eine Datei mit unpinned Records.

B*-BÄUME. Ein Index ist seinerseits wieder nichts anderes als eine Datei mit unpinned Records. B*-Bäume 1 B*-BÄUME Beobachtung: Ein Index ist seinerseits wieder nichts anderes als eine Datei mit unpinned Records. Es gibt keinen Grund, warum man nicht einen Index über einem Index haben sollte, und

Mehr

Wintersemester 2016/ Matrikelnummer: Hinweise. Unterschrift

Wintersemester 2016/ Matrikelnummer: Hinweise. Unterschrift Fachbereich für Computerwissenschaften Prof. Dr. Nikolaus Augsten Jakob-Haringer-Str. 2 5020 Salzburg, Austria Telefon: +43 662 8044 6347 E-Mail: nikolaus.augsten@sbg.ac.at Datenbanken II Prüfung Wintersemester

Mehr

Baumbasierte Strukturen

Baumbasierte Strukturen Baumbasierte Strukturen Baumbasierte Struktur / Organisation als Binärbaum Haufendateien oder sortierte Dateien nützlich für statische Dateien Dateien organisiert als Binärbaum Effizientes Einfügen und

Mehr

Einordnung in 5-Schichten-Architektur. 4. Dateiorganisation / Zugriffsstrukturen. Klassifikation der Speichertechniken.

Einordnung in 5-Schichten-Architektur. 4. Dateiorganisation / Zugriffsstrukturen. Klassifikation der Speichertechniken. 4. Dateiorganisation / Zugriffsstrukturen Klassifikation der Speichertechniken Statische Verfahren (Heap, indexsequentiell, indiziert-nichtsequentiell) Baumverfahren (B-Bäume und Varianten) Hashverfahren

Mehr

4. Dateiorganisation / Zugriffsstrukturen. Einordnung in 5-Schichten-Architektur

4. Dateiorganisation / Zugriffsstrukturen. Einordnung in 5-Schichten-Architektur 4. Dateiorganisation / Zugriffsstrukturen Klassifikation der Speichertechniken Statische Verfahren (Heap, indexsequentiell, indiziert-nichtsequentiell) Baumverfahren (B-Bäume und Varianten) Hashverfahren

Mehr

In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen.

In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen. 1 In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen. Zunächst stellt sich die Frage: Warum soll ich mich mit der Architektur eines DBMS beschäftigen?

Mehr

Mehrwegbäume Motivation

Mehrwegbäume Motivation Mehrwegbäume Motivation Wir haben gute Strukturen (AVL-Bäume) kennen gelernt, die die Anzahl der Operationen begrenzen Was ist, wenn der Baum zu groß für den Hauptspeicher ist? Externe Datenspeicherung

Mehr

B / B* - Bäume. Guido Hildebrandt Seminar Datenbanksysteme

B / B* - Bäume. Guido Hildebrandt Seminar Datenbanksysteme B / B* - Bäume Guido Hildebrandt Seminar Datenbanksysteme 25.11.2010 Gliederung Einleitung Binärbaum B - Baum B* - Baum Varianten Zusammenfassung Quellen Gliederung Einleitung Binärbaum B - Baum B* - Baum

Mehr

Bäume, Suchbäume und Hash-Tabellen

Bäume, Suchbäume und Hash-Tabellen Im folgenden Fokus auf Datenstrukturen, welche den assoziativen Zugriff (über einen bestimmten Wert als Suchkriterium) optimieren Bäume: Abbildung bzw. Vorberechnung von Entscheidungen während der Suche

Mehr

Performance in der Oracle Datenbank von Anfang an

Performance in der Oracle Datenbank von Anfang an Performance in der Oracle Datenbank von Anfang an Marco Mischke, 26.04.2018 DOAG Regional Agenda Tabellen Indizes Ausführungspläne SQL vs PL/SQL Tabellen Zu 99% werden Standard Strukturen zur Speicherung

Mehr

Dateiorganisation und Zugriffsstrukturen

Dateiorganisation und Zugriffsstrukturen Dateiorganisation und Zugriffsstrukturen Prof. Dr. T. Kudraß 1 Mögliche Dateiorganisationen Viele Alternativen existieren, jede geeignet für bestimmte Situation (oder auch nicht) Heap-Dateien: Geeignet

Mehr

Mehrdimensionale Zugriffspfade und Dateiorganisation

Mehrdimensionale Zugriffspfade und Dateiorganisation Mehrdimensionale Zugriffspfade und Dateiorganisation Gliederung Begriffe, Anforderungen und Probleme, Anwendungsgebiete Konkrete Techniken Bäume Grid-File Mehrdimensionales Hashing Begriffe Eindimensionale

Mehr

KAPITEL 2 SPEICHERSTRUKTUREN UND VERWALTUNG DES HINTERGRUNDSPEICHERS

KAPITEL 2 SPEICHERSTRUKTUREN UND VERWALTUNG DES HINTERGRUNDSPEICHERS KAPITEL 2 SPEICHERSTRUKTUREN UND VERWALTUNG DES HINTERGRUNDSPEICHERS h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2017/18 Kapitel 2: Speicherstrukturen und Verwaltung des Hintergrundspeichers 1 Speicherstrukturen

Mehr

Architektur von Datenbanksystemen

Architektur von Datenbanksystemen Architektur von Datenbanksystemen Prof. Dr. Uta Störl Hochschule Darmstadt Fachbereich Informatik Wintersemester 2017/18 Motivation In Datenbanken-Grundvorlesung betrachtet: Funktionalität von Datenbanksystemen

Mehr

Oracle 10g Einführung

Oracle 10g Einführung Kurs Oracle 10g Einführung Teil 8 Indizes und Suchbäume Timo Meyer Administration von Oracle-Datenbanken Timo Meyer Sommersemester 2006 Seite 1 von 15 Seite 1 von 15 Agenda 1 Einleitung 2 Binäre Suchbäume

Mehr

Hash-Verfahren. Einführung

Hash-Verfahren. Einführung Hash-Verfahren Prof. Dr. T. Kudraß 1 Einführung Drei Alternativen, wie Dateneinträge k* im Index aussehen können: 1. Datensatz mit Schlüsselwert k.

Mehr

Teil VII. Hashverfahren

Teil VII. Hashverfahren Teil VII Hashverfahren Überblick 1 Hashverfahren: Prinzip 2 Hashfunktionen 3 Kollisionsstrategien 4 Aufwand 5 Hashen in Java Prof. G. Stumme Algorithmen & Datenstrukturen Sommersemester 2009 7 1 Hashverfahren:

Mehr

Physische Datenbankdefinition in. Arthur Bauer

Physische Datenbankdefinition in. Arthur Bauer Physische Datenbankdefinition in Arthur Bauer Inhalt Cluster Index-Cluster Hash-Cluster Vor- und Nachteile Index-Organisierte Tabelle (IOT) Partitionierung STORAGE-Klausel in DDL Indexstrukturen Oracle

Mehr

Hash-Verfahren. Prof. Dr. T. Kudraß 1

Hash-Verfahren. Prof. Dr. T. Kudraß 1 Hash-Verfahren Prof. Dr. T. Kudraß 1 Einführung Drei Alternativen, wie Dateneinträge k* im Index aussehen können: 1. Datensatz mit Schlüsselwert k.

Mehr

MS SQL Server: Index Management. Stephan Arenswald 10. Juli 2008

MS SQL Server: Index Management. Stephan Arenswald 10. Juli 2008 MS SQL Server: Index Management Stephan Arenswald 10. Juli 2008 Agenda 1. Einführung 2. Grundlagen Tabellen 3. Grundlagen Indexe 4. Indextypen 5. Index-Erstellung 6. Indexe und Constraints 7. Und Weiter...?

Mehr

DB-Zugriffsverfahren: Übersicht B-Bäume B*-Bäume Übersicht

DB-Zugriffsverfahren: Übersicht B-Bäume B*-Bäume Übersicht DB-Zugriffsverfahren: Übersicht B*-Bäume N. Ritter, HMS Übersicht Zugriffsverfahren über Schlüssel Sequentielle Speicherungsstrukturen Baumsstrukturen Gestreute Speicherungsstrukturen Sequentielle Listen

Mehr

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Blatt Nr. 10 Übung zur Vorlesung Grundlagen: Datenbanken im WS15/16 Harald Lang, Linnea Passing (gdb@in.tum.de)

Mehr

Oracle 9i Einführung Performance Tuning

Oracle 9i Einführung Performance Tuning Kurs Oracle 9i Einführung Performance Tuning Teil 14 Index-Organized Tables Timo Meyer Wintersemester 2005 / 2006 Seite 1 von 13 Seite 1 von 13 1. Anordnung von Zeilen in einer Tabelle 2. Einführung 3.

Mehr

Slotted Pages Wie ordnet man eine Menge von Sätzen auf eine Seite an? ffl Seite besteht aus drei Teilen fixer Seitenkopf (z.b. mit Seitennr, LSN) Slot

Slotted Pages Wie ordnet man eine Menge von Sätzen auf eine Seite an? ffl Seite besteht aus drei Teilen fixer Seitenkopf (z.b. mit Seitennr, LSN) Slot Satzverwaltung Aufgabe Abbildung von Sätzen auf Blöcken ffl Techniken der Satzadressierung TID Konzept (direkt) Zuordnungstabelle (indirekt) ffl Abbildung von Sätzen ffl Realisierung langer Felder" ffl

Mehr

Physische Datenorganisation

Physische Datenorganisation Physische Datenorganisation Physische Datenorganisation 2002 Prof. Dr. Rainer Manthey Informationssysteme 1 Übersicht Datenbanken, Relationen und Tupel werden auf der untersten Ebene der bereits vorgestellten

Mehr

technische universität dortmund Fakultät für Informatik LS 8 Speichern von Daten Prof. Dr. Katharina Morik

technische universität dortmund Fakultät für Informatik LS 8 Speichern von Daten Prof. Dr. Katharina Morik Speichern von Daten Prof. Dr. Katharina Morik Unterschiede von DBMS und files! DBMS unterstützt viele Benutzer, die gleichzeitig auf dieselben Daten zugreifen concurrency control.! DBMS speichert mehr

Mehr

Suchbäume. Suchbäume. Einfügen in Binären Suchbäumen. Suchen in Binären Suchbäumen. Prinzip Suchbaum. Algorithmen und Datenstrukturen

Suchbäume. Suchbäume. Einfügen in Binären Suchbäumen. Suchen in Binären Suchbäumen. Prinzip Suchbaum. Algorithmen und Datenstrukturen Suchbäume Suchbäume Prinzip Suchbaum Der Wert eines Knotens wird als Schlüssel verstanden Knoten kann auch weitere Daten enthalten, die aber hier nicht weiter betrachtet werden Werte der Schlüssel müssen

Mehr

Neues aus der nicht-, semi- und relationalen Welt

Neues aus der nicht-, semi- und relationalen Welt Neues aus der nicht-, semi- und relationalen Welt Information Management Thomas Klughardt Senior System Consultant Das Big Data Problem Was bedeutet Big Data? Performancekritisch Echtzeit Cold Storage

Mehr

Möglichkeiten und Grenzen von Oracle Advanced Compression. Olaf Herden Duale Hochschule BW Campus Horb

Möglichkeiten und Grenzen von Oracle Advanced Compression. Olaf Herden Duale Hochschule BW Campus Horb Möglichkeiten und Grenzen von Oracle Advanced Compression Olaf Herden Duale Hochschule BW Campus Horb Gliederung Motivation Kompression in Oracle Untersuchungen Zusammenfassung & Ausblick Olaf Herden (DHBW

Mehr

Kapitel 1 Grundlagen. Skript zur Vorlesung: Datenbanksysteme II Sommersemester Vorlesung: PD Dr. Peer Kröger

Kapitel 1 Grundlagen. Skript zur Vorlesung: Datenbanksysteme II Sommersemester Vorlesung: PD Dr. Peer Kröger LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS DATABASE Skript zur Vorlesung: Datenbanksysteme II Sommersemester 2016 Kapitel 1 Grundlagen Vorlesung: PD Dr. Peer Kröger http://www.dbs.ifi.lmu.de/cms/datenbanksysteme_ii

Mehr

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Copyright 2013, Oracle and/or its affiliates. All rights reserved. 1 Effiziente Speicherung für SAP Jörn Bartels Architect Oracle Database Server Technologies 2 Oracle 12c Jörn Bartels Architect Oracle Database Server Technologies 3 1997 Effiziente Speicherung für SAP

Mehr

Datenbanksysteme II Physische Repräsentation von Daten Felix Naumann

Datenbanksysteme II Physische Repräsentation von Daten Felix Naumann Datenbanksysteme II Physische Repräsentation von Daten (Kapitel 12) 27.4.2008 Felix Naumann Architektur 2 Mengenorientierter Zugriff Satzorientierter Zugriff Interne Satzschnittstelle Systempufferschnittstelle

Mehr

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Copyright 2013, Oracle and/or its affiliates. All rights reserved. 1 1997 Effiziente Speicherung für SAP 8.0 Jörn Bartels Architect Oracle Database Server Technologies 2 Effiziente Speicherungsformen Ziele Index Komprimierung Index Organized Tables Ergebnisse 3 Ziele

Mehr

5.8.2 Erweiterungen Dynamische Hash-Funktionen (mit variabler Tabellengröße)?

5.8.2 Erweiterungen Dynamische Hash-Funktionen (mit variabler Tabellengröße)? 5.8.2 Erweiterungen Dynamische Hash-Funktionen (mit variabler Tabellengröße)? Ladefaktor: α, n aktuelle Anzahl gespeicherter Werte m Tabellengröße. Einfacher Ansatz: rehash() a z c h s r b s h a z Wenn

Mehr

Literatur: Jeffrey D. Ullman: Principles of Database Systems, 2 nd Edition 1982, Kapitel 2.2

Literatur: Jeffrey D. Ullman: Principles of Database Systems, 2 nd Edition 1982, Kapitel 2.2 Hashorganisation HASHORGANISATION Literatur: Jeffrey D. Ullman: Principles of Database Systems, 2 nd Edition 982, Kapitel 2.2 Die Sätze der Datei werden auf eine Menge von Buckets aufgeteilt. Jedes Bucket

Mehr

Datenbanksysteme II Indexstrukturen Felix Naumann

Datenbanksysteme II Indexstrukturen Felix Naumann Datenbanksysteme II Indexstrukturen (Kapitel 13) 30.10.2009 Felix Naumann Motivation: Platzierung der Tupel in Blöcke 2 Naiv: Beliebig verteilen Aber: SELECT * FROM R Jeden Block untersuchen (Header-Datei)

Mehr

{0,1} rekursive Aufteilung des Datenraums in die Quadranten NW, NE, SW und SE feste Auflösung des Datenraums in 2 p 2 p Gitterzellen

{0,1} rekursive Aufteilung des Datenraums in die Quadranten NW, NE, SW und SE feste Auflösung des Datenraums in 2 p 2 p Gitterzellen 4.4 MX-Quadtrees (I) MatriX Quadtree Verwaltung 2-dimensionaler Punkte Punkte als 1-Elemente in einer quadratischen Matrix mit Wertebereich {0,1} rekursive Aufteilung des Datenraums in die Quadranten NW,

Mehr

OPERATIONEN AUF EINER DATENBANK

OPERATIONEN AUF EINER DATENBANK Einführung 1 OPERATIONEN AUF EINER DATENBANK Ein Benutzer stellt eine Anfrage: Die Benutzer einer Datenbank können meist sowohl interaktiv als auch über Anwendungen Anfragen an eine Datenbank stellen:

Mehr

6.4 Minimale Überdeckung: Basis für Normalisierungsalgorithmen

6.4 Minimale Überdeckung: Basis für Normalisierungsalgorithmen 6. Formaler Datenbankentwurf 6.4. Minimale Überdeckung Seite 1 6.4 Minimale Überdeckung: Basis für Normalisierungsalgorithmen Seien F Mengen von funktionalen Abhängigkeiten. Wir suchen eine minimale Überdeckung

Mehr

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Blatt Nr. 2 Übung zur Vorlesung Grundlagen: Datenbanken im WS3/4 Henrik Mühe (muehe@in.tum.de) http://www-db.in.tum.de/teaching/ws34/dbsys/exercises/

Mehr

Oracle 9i Einführung Performance Tuning

Oracle 9i Einführung Performance Tuning Kurs Oracle 9i Einführung Performance Tuning Teil 13 Cluster Timo Meyer Wintersemester 2005 / 2006 Seite 1 von 14 Seite 1 von 14 1. Anordnung von Zeilen in einer Tabelle 2. Einführung 3. Cluster 4. Typen

Mehr

Indexstrukturen in Datenbanken

Indexstrukturen in Datenbanken für Zeichendaten und Texte sowie mehrdimensionale Dateiorganisation und Zugriffspfade 3. Juli 2014 Inhaltsverzeichnis 1 Einleitung 2 Präfix B+-Baum 3 Tries 4 k-dimensionale Bäume 5 Grid-File 6 mehrdimensionales

Mehr

Inhaltsverzeichnis. vii.

Inhaltsverzeichnis. vii. vii 1 Einführung in Data-Warehouse-Systeme 1 1.1 Anwendungsszenario Getränkemarkt 2 1.2 OLTP versus OLAP 4 1.2.1 OLAP-versus OLTP-Transaktionen 5 1.2.2 Vergleich von OLTP und OLAP 6 1.2.3 Abgrenzung: DBMS-Techniken

Mehr

14. Dateiorganisation/Zugriffsstrukturen. Überblick. Fünf-Schichten-Architektur. 5-Schichten-Architektur: Schnittstellen I

14. Dateiorganisation/Zugriffsstrukturen. Überblick. Fünf-Schichten-Architektur. 5-Schichten-Architektur: Schnittstellen I 14. Dateiorganisation/Zugriffsstrukturen Überblick Architektur von DBMS Dateiorganisation Zugriffsstrukturen DBMS-Architekturen am Beispiel von Oracle Externe Ebene Anfragen Konzeptuelle Ebene Interne

Mehr

6. Anfragebearbeitung

6. Anfragebearbeitung 6. Anfragebearbeitung 6.1 Einleitung 6.2 Indexstrukturen 6.3 Grundlagen der Anfrageoptimierung 6.4 Logische Anfrageoptimierung 6.5 Kostenmodellbasierte Anfrageoptimierung 55 Fokus: Effiziente Berecnung

Mehr

Dynamische Datenstrukturen

Dynamische Datenstrukturen Dynamische Datenstrukturen B-Bäume größere Datenmengen verwalten Extern speichern Art der Speicherung berücksichtigen sonst kein optimaler Datenzugriff möglich Art der Speicherung großer Datenmengen Magnetplatten

Mehr

Gleichheitsanfrage vs. Bereichsanfrage

Gleichheitsanfrage vs. Bereichsanfrage Datenbank Indexe Gleichheitsanfrage vs. Bereichsanfrage Gleichheitsanfrage (single key-value) : Abfragen, die eine Bedingung mit = haben Finde den Namen des Studenten mit Alter = 20 Bereichsanfrage (range

Mehr

Seminar Datenbanken Martin Gerstmann

Seminar Datenbanken Martin Gerstmann Seminar Datenbanken Martin Gerstmann Gliederung 1. Ziele 2. Arten 2.1. erweiterbares Hashing 2.2. lineares Hashing 2.3. virtuelles Hashing 3. Bewertung 1. Ziele wachsende/schrumpfende Datenmengen verwalten

Mehr

Grundlagen der Datenbanksysteme 2 (M-DB2) Dr. Karsten Tolle

Grundlagen der Datenbanksysteme 2 (M-DB2) Dr. Karsten Tolle Grundlagen der Datenbanksysteme 2 (M-DB2) Dr. Karsten Tolle Vorwissen und so SQL Umgang mit MySQL (Workbench) Beispieldaten zum Spielen: http://download.geonames.org/export/dump/ 2 Tuningpotential DB-Interna;

Mehr

Datenbanken. Interne Datenorganisation:

Datenbanken. Interne Datenorganisation: Interne Datenorganisation: Bisher: Konzeptionelle Betrachtungen einer Datenbank aus Sicht der Anwendung: Modellierung, Normalisieren, Sprache zum Einfügen, Ändern, Löschen, Lesen Jetzt: Betrachtung der

Mehr

Datenbanken 1. Kapitel 4: Interne Datenorganisation 4-1. Datenbanken 1 (Bachelor)

Datenbanken 1. Kapitel 4: Interne Datenorganisation 4-1. Datenbanken 1 (Bachelor) Datenbanken 1 Kapitel 4: Interne Datenorganisation 4-1 Interne Datenorganisation Inhalte des Kapitels Aufbau eines Speichermediums, Pages und Pufferverwaltung Datenorganisation Index und B-Baum Hash-Indexe

Mehr

Datenbanken: Architektur & Komponenten 3-Ebenen-Architektur

Datenbanken: Architektur & Komponenten 3-Ebenen-Architektur Datenbanken: Architektur & Komponenten 3-Ebenen-Architektur Moderne Datenbanksysteme sind nach der 3-Ebenen-Architektur gebaut: Anwendung 1 Web-Anwendung Anwendung 2 Java-Programm... Anwendung n Applikation

Mehr

4.3 R-Bäume (I) Idee. basiert auf der Technik überlappender Seitenregionen verallgemeinert die Idee des B + -Baums auf den 2-dimensionalen Raum

4.3 R-Bäume (I) Idee. basiert auf der Technik überlappender Seitenregionen verallgemeinert die Idee des B + -Baums auf den 2-dimensionalen Raum 4.3 R-Bäume (I) Idee basiert auf der Technik überlappender Seitenregionen verallgemeinert die Idee des B + -Baums auf den 2-dimensionalen Raum Geo-Informationssysteme 98 4.3 R-Bäume (I) Definition Ein

Mehr

2. Architektur von Datenbanksystemen

2. Architektur von Datenbanksystemen 2. Architektur von Datenbanksystemen Betrachtete Fragestellungen Schichtenmodell eines relationalen DBMS Hardware und Betriebssystem Pufferverwaltung Speichersystem Zugriffssystem Datensystem VL Datenbank-Implementierungstechniken

Mehr

Industrie 4.0 und Smart Data

Industrie 4.0 und Smart Data Industrie 4.0 und Smart Data Herausforderungen für die IT-Infrastruktur bei der Auswertung großer heterogener Datenmengen Richard Göbel Inhalt Industrie 4.0 - Was ist das? Was ist neu? Herausforderungen

Mehr

Relationales Datenbanksystem Oracle

Relationales Datenbanksystem Oracle Relationales Datenbanksystem Oracle 1 Relationales Modell Im relationalen Modell wird ein relationales Datenbankschema wie folgt beschrieben: RS = R 1 X 1 SC 1... R n X n SC n SC a a : i=1...n X i B Information

Mehr

KAPITEL 2 VERWALTUNG DES HINTERGRUNDSPEICHERS

KAPITEL 2 VERWALTUNG DES HINTERGRUNDSPEICHERS KAPITEL 2 VERWALTUNG DES HINTERGRUNDSPEICHERS h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 2: Verwaltung des Hintergrundspeichers 1 Verwaltung des Hintergrundspeichers Inhalte des Kapitels

Mehr

Synchronisationsmodul Informatik Teil-Modul Datenbanken

Synchronisationsmodul Informatik Teil-Modul Datenbanken Synchronisationsmodul Informatik Teil-Modul Datenbanken Kapitel 4: Interne Datenorganisation Kapitel 4-1 Interne Datenorganisation Inhalte des Kapitels Aufbau eines Speichermediums, Pages und Pufferverwaltung

Mehr

Datenstrukturen und Algorithmen. Vorlesung 5

Datenstrukturen und Algorithmen. Vorlesung 5 Datenstrukturen und Algorithmen Vorlesung 5 Inhaltsverzeichnis Vorige Woche: Sortierte Listen Zyrkuläre Listen Verkettete Listen auf Arrays Heute betrachten wir: Skip Listen ADT Set ADT Map Iterator ADT

Mehr

Datenbanken: Datenkompression. Dr. Matthias Uflacker, Stefan Klauck 2. Mai 2018

Datenbanken: Datenkompression. Dr. Matthias Uflacker, Stefan Klauck 2. Mai 2018 Datenbanken: Datenkompression Dr. Matthias Uflacker, Stefan Klauck 2. Mai 2018 Vorlesungsinhalte/-aufbau Phase 1 Einführung zu Unternehmensanwendungen (2 Vorlesungen) Grundlagen von spaltenorientierten

Mehr

1 Einführung Ziele der Vorlesung Die Idee Lernkarte Selbsttest-Frage 3 Literaturhinweise 3

1 Einführung Ziele der Vorlesung Die Idee Lernkarte Selbsttest-Frage 3 Literaturhinweise 3 1 Einführung 1 1.1 Ziele der Vorlesung 1 1.2 Die Idee 1 1.3 Lernkarte 2 1.4 Selbsttest-Frage 3 Literaturhinweise 3 Teilt Die Zukunft von Enterprise-Computing 5 2 Neue Anforderungen an Enterprise Computing

Mehr

Baum-Indexverfahren. Einführung

Baum-Indexverfahren. Einführung Baum-Indexverfahren Prof. Dr. T. Kudraß 1 Einführung Drei Alternativen, wie Dateneinträge k* im Index aussehen können: 1. Datensatz mit Schlüsselwert k 2.

Mehr

Teil XI Spalten-orientierte DBMSs

Teil XI Spalten-orientierte DBMSs Teil XI Spalten-orientierte DBMSs Spalten-orientierte Datenbankmanagementsysteme 1 Motivation 2 Funktionsweise 3 Erweiterungen 4 Literatur c Sattler / Saake / Köppen Data-Warehouse-Technologien Letzte

Mehr

Datenbanken 2. Kapitel 5: Pufferverwaltung und Optimierung von Zugriffspfaden

Datenbanken 2. Kapitel 5: Pufferverwaltung und Optimierung von Zugriffspfaden Datenbanken 2 Kapitel 5: Pufferverwaltung und Optimierung von Zugriffspfaden Inhalte des Kapitels Pufferverwaltung und Optimierung von Zugriffspfaden DB-Puffermanagement DB-Zugriffspfade Explains Lernziele

Mehr

Baum-Indexverfahren. Prof. Dr. T. Kudraß 1

Baum-Indexverfahren. Prof. Dr. T. Kudraß 1 Baum-Indexverfahren Prof. Dr. T. Kudraß 1 Einführung Drei Alternativen, wie Dateneinträge k* im Index aussehen können: 1. Datensatz mit Schlüsselwert k 2.

Mehr

Objektrelationale Datenbanken

Objektrelationale Datenbanken Objektrelationale Datenbanken Ein Lehrbuch von Can Türker, Gunther Saake 1. Auflage Objektrelationale Datenbanken Türker / Saake schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG dpunkt.verlag

Mehr

INDEXDATEIEN ( INDEXED FILES )

INDEXDATEIEN ( INDEXED FILES ) Indexdateien 1 INDEXDATEIEN ( INDEXED FILES ) ISAM (Indexed Sequential Access Method) Sätze werden nach ihren Schlüsselwerten sortiert. Schlüsselwerte sind immer vergleichbar und daher auch sortierbar.

Mehr

Organisationsformen der Speicherstrukturen

Organisationsformen der Speicherstrukturen Organisationsformen der Speicherstrukturen Bäume und Hashing 1 Motivation Ablage von Daten soll einfachen, schnellen und inhaltsbezogenen Zugriff ermöglichen (z.b. Zeige alle Schüler des Lehrers X am heutigen

Mehr

Data Warehouse Technologien

Data Warehouse Technologien Veit Köppen Gunter Saake Kai-Uwe Sattler Data Warehouse Technologien Inhaltsverzeichnis Inhaltsverzeichnis vii 1 Einführung in Data-Warehouse-Systeme 1 1.1 Anwendungsszenario Getränkemarkt...............

Mehr

Veit Köppen Gunter Saake Kai-Uwe Sattler. 2. Auflage. Data Warehouse Technologien

Veit Köppen Gunter Saake Kai-Uwe Sattler. 2. Auflage. Data Warehouse Technologien Veit Köppen Gunter Saake Kai-Uwe Sattler 2. Auflage Data Warehouse Technologien Inhaltsverzeichnis Inhaltsverzeichnis ix 1 Einführung in Data-Warehouse-Systeme 1 1.1 Anwendungsszenario Getränkemarkt...

Mehr

Vorlesung Datenbankmanagementsysteme

Vorlesung Datenbankmanagementsysteme Vorlesung Datenbankmanagementsysteme Physikalisches Datenbankdesign und (auf Basis von Oracle) M. Lange, S. Weise Folie #12-1 Themen der Vorlesung Grundlagen Architekturen Modellierung Relationale Datenbanken

Mehr

Integriertes Seminar Datenbanken und Informationssysteme. Was sind Peer-to-Peer Systeme? Wie kann man diese effizient nutzen?

Integriertes Seminar Datenbanken und Informationssysteme. Was sind Peer-to-Peer Systeme? Wie kann man diese effizient nutzen? Integriertes Seminar Datenbanken und Informationssysteme P2P-Computing Lehrgebiet Datenverwaltungssysteme Prof. Dr. Dr. h.c. Härder Prof. Dr. Deßloch Björn Jung b_jun@informatik.uni-kl.de Technische Universität

Mehr

Methodik zur Optimierung in Datenbanken. Anja Rommel, 14-INM

Methodik zur Optimierung in Datenbanken. Anja Rommel, 14-INM Methodik zur Optimierung in Datenbanken Anja Rommel, 14-INM 03.07.2015 Gliederung 1. Einleitung 2. Motivation und Ziele 3. Phasen der Optimierung 3.1. Phase 1: Optimierung des DB-Schemas und Anwendungsoptimierung

Mehr

7.3 Baum-Indexstrukturen

7.3 Baum-Indexstrukturen 7. Physischer Datenbankentwurf 7.3. Baum-Indexstrukturen Seite 1 7.3 Baum-Indexstrukturen B-Baum der Ordnung (m, l); m > 2, l > 1. Die Wurzel ist entweder ein Blatt oder hat mindestens zwei direkte Nachfolger.

Mehr

Rückblick: Datenorganisation & Indexstrukturen

Rückblick: Datenorganisation & Indexstrukturen Rückblick: Datenorganisation & Indexstrukturen Datenorganisation der Tupel einer Relation als Haufen, sequenzielle Datei oder indexsequenzielle Datei Indexstrukturen zum effizienteren Zugriff auf Datensätze

Mehr