Physische Datenorganisation
|
|
- Erica Dieter
- vor 8 Jahren
- Abrufe
Transkript
1 Web Science & Technologies University of Koblenz Landau, Germany Grundlagen der Datenbanken Dr. Jérôme Kunegis Wintersemester 2013/14
2 Zugriffshierarchie 2
3 Eigenschaften der Datenträger 8 32 Mb CPU Cache 1-10 ns Gb Hauptspeicher 50 ns Gb Festplattensysteme 1 10 ms pro Disk 500 Gb 5Tb pro Tape Backup-Systeme 10+ s Zugriffslücke
4 Plattenspeicher: Funktionsweise Eine Scheibe (Platter) A Spur B Sektor C Blöcke eines Sektors D Dateisystem-Block 4
5 Plattenspeicher: Beobachtungen Kapazität seit den 80er Jahren stetig gestiegen 5
6 Plattenspeicher: Beobachtungen Grenzen der mechanischen Leistungssteigerung nahezu erreicht (Drehzahlen, Festplattenmechanik, etc.) Hybride Modelle (mit Flash-Cache) als Alternativlösung Betriebssystem oder Datenbank muss den Puffer steuern Solid-State-Disks als Alternativlösung Hohe Geschwindigkeit bei Random-IO Langsames Schreiben von vielen kleinen Datenblöcken wegen größerer Speicherblöcke In vielen Fällen bereits heute 'reine' Hauptspeicher-DB einsetzbar (Beispiel: Oracle TimesTen, SAP HANA) Persistente Speicherung & Updates bleiben Notwendig 6
7 Speicherung von Tupeln im Hintergrundspeicher TID : Tupel Identifikator Seite Satz Datenbank-Seite ( page ) (32 64 Kb) Datensatztabelle Meyer Schneider Müller Forwarding-TID 7
8 Caching von Daten Cache Laden von Seiten aus dem Hintergrundspeicher zur Verarbeitung Daten länger behalten als zwingend notwendig Ersetzungsstrategie Clevere Strategien erreichen 95% Trefferquote (je nach Anwendung) Arbeiten im Cache und Synchronisation mit Hintergrundspeicher 8
9 Index-Strukturen 9
10 Indexstrukturen Schnelles Finden von Tupeln (TID) Zusätzlicher Speicherplatz! Arten Primärindex Legt physische Anordnung der Daten fest Indiziert meist den Primärschlüssel Sekundärindex Indiziert weitere Attribute Nicht indizierte Daten: Sequenzielle Suche über alle (!) Tupel 10
11 ISAM Indexed Sequential Access Method Sortierte Liste der Schlüssel (als Seiten) Verweise auf die Datenseiten Tupel mit Schlüssel zwischen 1 und 7 11
12 ISAM Suchen Binäre Suche im Index Datenseite Sequentielle Suche in Datenseite Einfügen Datenseite voll Überlauf in Nachbarn und Anpassen der Schlüssel Erweitern der Indexseite (verschieben) Löschen Datenseite leer Ausgleich mit Nachbarn (Anpassen der Schlüssel) Löschen im Index (verschieben) 12
13 B-Baum (Englisch: B-tree) Anforderungen an Index Laufzeit-Garantien für Suchen Einfügen Löschen Ausnutzung der Seitenstruktur Minimierung der Seitenzugriffe Suchbaum Was bedeutet B? Comer, Douglas (June 1979), "The Ubiquitous B-Tree", Computing Surveys 11 (2):
14 Beispiel für einen binären Suchbaum { London, Paris, Madrid, Kopenhagen, Lissabon, Zürich, Frankfurt, Wien, Amsterdam, Florenz } London Kopenhagen Paris Frankfurt Lissabon Madrid Zürich Amsterdam Wien Florenz 14
15 Überblick: B-Baum mit Grad k 1 Knoten = 1 Seite Platz für 2k+1 Referenzen Beispiel: k = 2? 10 Platz für 2k Tupel Gleiche Tiefe Referenzen in Blättern leer 19 Meyer B-007 Indexschlüssel Weitere Tupeldaten 15
16 Eigenschaften: B-Baum mit Grad k Alle Wege von Wurzel zu Blättern gleich lang Jeder Knoten (außer Wurzel) mit mindestens k Tupeln belegt (Auslastung 50%) Tupel in jedem Knoten sortiert Knoten (außer Blätter) mit n Tupeleinträgen hat n+1 Kinder (und somit n+1 Referenzen) Sind S1 bis S n die Schlüsselindizes in einem Knoten und V 0 bis V n die Referenzen, dann V 0 verweist auf Knoten mit Einträgen x < S 1 Vi verweist auf Knoten mit Einträgen S i < x < S i+1 Vn verweist auf Knoten mit Einträgen x > S n Zustand nach jeder Operation garantieren 16
17 Einfügen eines Tupels Relevant ist der Wert des Indexattributes: x Suche x im B-Baum Endet erfolglos an Stelle an der eingefügt werden muss. Füge Tupel dort ein Wenn Knoten überfüllt (2k + 1 Einträge) Spalte Knoten in zwei Knoten auf Mittlerer Eintrag wird in den Vaterknoten hochgezogen Erste k und letzte k kommen in neue Knoten Die zwei neue Knoten haben k Einträge Prüfe rekursiv ob Vaterknoten überfüllt 17
18 Löschen eines Tupels Suche X im B-Baum Falls in Blattknoten Entferne Eintrag aus dem Blattknoten. Blattknoten kann nun unterfüllt sein (siehe unten) Falls in nicht-blattknoten ersetze X durch größten Wert aus linkem Kindbaum. Dieser Wert bedindet sich immer in einem Blattknoten, der nun unterfüllt sein kann (siehe unten) Wenn Blattknoten unterfüllt (< k Einträge) Versuche Ausgleich mit Nachbarn mit mindestens k + 1 Einträgen (erst links, dann rechts): Trennwert ersetzt fehlenden Wert in Blattknoten; Eintrag aus Nachbarknoten wird neuer Trennwert Wenn beide Nachbarknoten k Einträge haben: Merge Blattknoten mit linkem Nachbar-Blattknoten Fahre rekursiv beim Vater-Knoten fort 18
19 Beispiel B-Baum siehe Tafel / gesonderter Foliensatz 19
20 B+-Baum (Englisch: B+ Tree) Nachteil B-Baum: Parameter k hängt von Tupelgröße ab Baumtiefe hängt von Tupelgröße ab B+-Baum: Keine Daten in den inneren Knoten nur Referenzschlüssel Verkettung der Blattknoten untereinander durch Referenzen Ergebnis: flacherer Baum, der immer bis zu den Blättern durchlaufen werden muss 20
21 Aufbau eines B+-Baums 21
22 Erweiterung des B+-Baums: Präfixbaum (Englisch: Trie) Innere (d.h., nicht-blatt-) Knoten können Werte enthalten, die nicht in der Relation enthalten sind Künstliche Werte genügen, sofern Bedingung erfüllt ist: Vi verweist auf Knoten mit Einträgen S i < x < S i+1 Anders formuliert: Vi 1 < S i < V i Beispiel: Werte V sind Zeichenketten (Strings) Verwende Präfix von Vi, der größer als V i 1 ist Aussprechen wie tree (cf. retrieval) 22
23 Präfixbaum: Beispiel Viele Varianten möglich 23
24 Hashing Bäume: log(n) viele Seitenzugriffe Hashing: Fast eindeutige Zuordnung von Datum zu Bucket (Behälter) Verwendung einer Hash-Funktion: h: D B D: Domäne des Indexschlüssels B = {0,, m 1}: Nummerierung von Behältern ( B = m) Charakteristiken der gesuchten Hash-Funktion Fester vs. flexibler Wertebereich Gute Verteilung über den Wertebereich, auch bei schlechter Verteilung der Datencharakteristiken über den Eingabebereich Berechnung von h(v) in Zeit log(n) [oft konstante Laufzeit möglich] Wahl der Anzahl der Behälter m 24
25 Hashing Abbildung h: D [0 m 1], genannt Hash-Funktion Bildet Schlüssel x 1, x n aus Domäne D (z.b. Strings, Zahlen, etc.) auf Positionen h(x 1 ),, h(x 2 ) in Array a[0 m 1], genannt Hash-Tabelle (mit n m) Speicherung von Schlüssel x i in a[h(x i )] Anforderungen an h: Sehr effiziente Berechenbarkeit Gleichverteilung von x 1,, x n auf {0,, m 1}, möglichst zufällig um Ungleichverteilungen zu vermeiden Menge der x mit h(x) = y möglichst gleich groß für alle 0 y < m Für geordnete Schlüssel x 1 < x 2 < < x n sollte die Ordnung von h(x 1 ), h(x 2 ),, h(x n ) eine zufällige Permutation sein Beispiele für sinnvolle Hash-Funktionen h(x) = (ax + b) mod m h(x) = (mittlere k Ziffern von x²) mod m h(x) = a + g(x); g(x) = x[1] + b g(x[2 end]) Für Integers x Für k-stellige Integers x Für Strings x 25
26 Statisches Hashing Bucket = 1 Seite 6 Schmitt B-124 Indexschlüssel Weitere Tupeldaten 6 3 h(x) = x mod Überlauf
27 Erweiterbares Hashing Statisches Hashing: eines der beiden Probleme Zu viele leere Einträge Zu viel Überlauf Erweiterbares Hashing Interpretiere Hashwert h(x) als Bitfolge Aufteilen des Hashwertes: h(x) = d p d : Directory gibt Bucket an ( d = globale Tiefe) p : ungenutzter Teil Sofern möglich deckt eine Seite mehrere Buckets ab (lokale Tiefe) 27
28 Erweiterbares Hashing 28
29 29
30 30
31 31
32 32
33 Ergänzung: Erweitertes Hashing Doppelte Hashwerte: Überlauf abfangen (wie bei statischer Hashtabelle) Löschen von Werten: Verschmelzen von Seiten Reduktion der lokalen Tiefe Evtl. Reduktion der globalen Tiefe möglich 33
34 Hashing vs. Bäume Hashing Punktuelle Abfragen: SELECT * FROM Staedte WHERE name = 'Koblenz'; Bäume für den allgemeinen Fall Bereichsabfragen: SELECT * FROM Staedte WHERE einwohner >= AND einwohner <=
35 SQL: Create Index Grobsyntax: CREATE [UNIQUE] INDEX Index ON Tabelle (Attribut1, Attribut2,...); DROP INDEX Index; Primary Key hat immer einen Index (muss nicht explizit angelegt werden) Oracle: Default-Indextyp ist ein B+-Baum Beispiele: CREATE INDEX Studenten_idx1 ON Studenten(Semester); CREATE INDEX Staedte_idx1 ON Staedte(einwohner); DROP INDEX Studenten_idx1; 35
36 Objektballung (Clustering) clustered key PersNr / gelesenvon 2125 Name Rang Sokrates C4 Titel VorlNr Ethik Name Rang Russel C4. Vorlesungen VorlNr Titel SWS gelesen Von 5001 Grundzüge Ethik Erkenntnistheorie Professoren PersNr Name Rang Raum 2125 Sokrates C Russel C4 232 Oft gemeinsam angefragte Daten dicht beieinander ablegen 36
37 Oracle Clusters und Indexierung Mit einem B+ Baum: CREATE CLUSTER cluster_name ( attribute type,... ); CREATE INDEX index_name ON cluster_name; CREATE TABLE table_name ( usual parameters ) CLUSTER cluster_name ( attribute_name ); Mit Hashing: CREATE CLUSTER cluster_name ( attribute type,... ) [HASH IS hashfunktion] HASHKEYS anzahl; CREATE TABLE table_name ( usual parameters ) CLUSTER cluster_name ( attribute_name ); 37
38 Mehrdimensionale Indexstrukturen 38
39 Abfragen auf mehreren Attribute Wertbasierter Zugriff auf der Grundlage mehrerer Attribute, einzeln oder in beliebigen Kombinationen. Typische Anforderungen aus CAD, VLSI-Entwurf, Kartographie, Recommender-Systeme, Anfragen decken den Bereich ab zwischen mehrdimensionalem Punktzugriff (EMQ Exact Match Query) und mehrdimensionalen Bereichsanfragen (RQ Region Query) Problemstellung: Mehrdimensionale Nachbarschaftsverhältnisse 39
40 Abfragen auf mehreren Attribute Beispiel: SELECT name FROM Staedte WHERE latitude >= AND latitude <= AND longitude >= 13.3 AND longitude <= Mit B-Bäumen: Auswahl von Städten mit passender latitude Auswahl von Städten mit passender longitude Bildung der Schmittmenge deutlich zu viele Daten angefasst! 40
41 Anfragearten für Mehrdimensionale Indizes Exact Match Query spezifiziert Suchwert für jede Dimension D i Partial Match Query spezifiziert Suchwert für einen Teil der Dimensionen Range Query spezifiziert ein Suchintervall [l i, u i ] für alle Dimensionen Partial Range Query spezifiziert ein Suchintervall für einen Teil der Dimensionen 41
42 Grundlagen mehrdimensionaler Datenstrukturen Wertebereiche D1,..., D k : alle D i sind total geordnete Mengen von möglichen Werten Datenraum D = D1 D k k-dimensionaler Schlüssel entspricht Punkt im Datenraum p D Beispiel: R-Baum Guttman, A. (1984). R-Trees: A Dynamic Index Structure for Spatial Searching. Proc. Int. Conf. on Management of Data, p
43 R-Baum Innere Knoten und Blätter sind unterschiedlich Einträge in innere Knoten: Angabe einer k-dimensionalen Region Interval in jeder Dimension Regionen können überlappen Verweise auf Kindknoten Alter Gehalt [18,60] [60,120] Einträge Blattknoten: Tupeldaten Alter Gehalt Name Bond Mini Mickey Duck 43
44 R-Baum 44
45 R-Baum: Operationen Suchen Identifizieren aller betroffenen Region(en) Auswahl der tatsächlich betroffenen Tupel Beispiel: Alle Personen im Alter von 50 bis 60 Jahren [18,20] [60,80] [25,60] [110,120] [41,45] [45,70] [40,65] [95,100] Alter Gehalt Alle Personen im Alter von 16 bis 43 Jahren und Gehalt zwischen 60 und
46 Datenraum Alter: Lucie Bond Bert Mickey Alter Duck Ernie Speedy Mini Urmel Bill Gehalt Alter: Einkommen:
47 R-Baum: Einfügen Suche passende Region(en) und zugehöriges Blatt: Keine Region: passe die Region an, die am wenigsten vergößert werden muss Eine Region: erweitere diese Mehrere Regionen: wähle eine aus Einfügen In das ausgewählte Blatt Bei Überlauf: Region aufteilen (Partionierung): Gleichmäßige Verteilung der Einträge Möglichst kleine Regionen Optimal Aufteilung zu aufwändig Heuristiken Evtl. Partitionierung der inneren Knoten nötig (R-Baum wächst nach oben) 47
48 Gute vs. schlechte Partitionierung gute Partitionierung schlechte Partitionierung Mickey Bond Mickey Bond Alter Duck Mini Speedy Alter Duck Mini Speedy Gehalt Gehalt 48
49 Nach oben gewachsener R-Baum [18,50] [45,80] [25,65] [95,120] Sepp Lucie Bond Bert Mickey [18,20] [41,45] [41,50] [60,80] [45,55] [60,70] [25,60] [110,120] [40,65] [95,100] Alter Ernie Duck Jan Speedy Mini Urmel Bill 43 70K Mickey 41 60K Jan 50 65K Sepp Gehalt 49
50 Zusammenfassung Zugriffslücke erfordert effizienten Zugriff auf Hintergrundspeicher Indexstrukturen optimieren die Anzahl der Zugriffe ISAM B-Bäume B+-Bäume Erweiterbares Hashing Clusterung gruppiert oft genutzte Daten zusammen Mehrdimensionale Indexstrukturen für kombinierte Anfragen 50 50
51 Fragen? 51
Physische Datenorganisation
Institute for Web Science & Technologies WeST Grundlagen der Datenbanken Dr. Thomas Gottron Wintersemester 2012/13 Lernziele Speicherhierarchie ISAM B-Bäume, B + -Bäume,... Hashing Mehrdimensionalen Datenstrukturen
MehrKapitel 7 Physische Datenorganisation. Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume
Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume Überblick: Speicherhierarchie Register (L1/L2/L3) Cache Hauptspeicher Plattenspeicher
MehrKapitel 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
MehrDatenintegrität. Arten von Integritätsbedingungen. Statische Integritätsbedingungen. Referentielle Integrität. Integritätsbedingungen in SQL.
Datenintegrität Arten von Integritätsbedingungen Statische Integritätsbedingungen Referentielle Integrität Integritätsbedingungen in SQL Trigger 1 Datenintegrität Einschränkung der möglichen Datenbankzustände
MehrDatenintegrität. Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen
Datenintegrität Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen Formulierung von Integritätsbedingungen ist die wichtigste Aufgabe des DB-Administrators!
MehrDatenintegrität. Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen
Datenintegrität Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen Formulierung von Integritätsbedingungen ist die wichtigste Aufgabe des DB-Administrators!
MehrDatenbanken: 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
MehrR-Baum R + -Baum X-Baum M-Baum
R-Baum und Varianten R-Baum R + -Baum X-Baum M-Baum staab@uni-koblenz.de 1 R-Baum R-Baum: Guttman 1984 Erweiterung B-Baum um mehrere Dimensionen Standardbaum zur Indexierung im niedrigdimensionalen Raum
MehrNachtrag zu binären Suchbäumen
Nachtrag zu binären Suchbäumen (nicht notwendigerweise zu AVL Bäumen) Löschen 1 3 2 10 4 12 1. Fall: Der zu löschende Knoten ist ein Blatt: einfach löschen 2. Fall: Der zu löschende Knoten hat ein Nachfolgeelement
MehrMS 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...?
MehrKapitel 7 Physische Datenorganisation. Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume
Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume Überblick: Speicherhierarchie Register (L/L2/L3) Cache Hauptspeicher Plattenspeicher
MehrReferentielle Integrität
Datenintegrität Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung statische Integritätsbedingungen Bedingungen an den Zustand der Datenbasis dynamische
MehrPhysische 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
MehrTutorium Algorithmen & Datenstrukturen
June 16, 2010 Binärer Baum Binärer Baum enthält keine Knoten (NIL) besteht aus drei disjunkten Knotenmengen: einem Wurzelknoten, einem binären Baum als linken Unterbaum und einem binären Baum als rechten
MehrReferentielle Integrität
Datenintegrität Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung statische Integritätsbedingungen Bedingungen an den Zustand der Datenbasis dynamische
MehrAlgorithmik II. a) Fügen Sie in einen anfangs leeren binären Baum die Schlüsselfolge 20, 28, 35, 31, 9, 4, 13, 17, 37, 25 ein.
Aufgabe 10 Binäre Bäume a) Fügen Sie in einen anfangs leeren binären Baum die Schlüsselfolge, 28, 35, 31, 9, 4,, 17, 37, 25 ein. 1. Einfügen von : 3. Einfugen von 35: 2. Einfügen von 28: 28 28 10. Einfügen
MehrDatenstrukturen & Algorithmen
Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Binäre Suchbäume Einführung und Begriffe Binäre Suchbäume 2 Binäre Suchbäume Datenstruktur für dynamische Mengen
MehrB-Bäume I. Algorithmen und Datenstrukturen 220 DATABASE SYSTEMS GROUP
B-Bäume I Annahme: Sei die Anzahl der Objekte und damit der Datensätze. Das Datenvolumen ist zu groß, um im Hauptspeicher gehalten zu werden, z.b. 10. Datensätze auf externen Speicher auslagern, z.b. Festplatte
Mehr1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert
Inhalt Einführung 1. Arrays 1. Array unsortiert 2. Array sortiert 3. Heap 2. Listen 1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert 3. Bäume
MehrMengenvergleiche: Alle Konten außer das, mit dem größten Saldo.
Mengenvergleiche: Mehr Möglichkeiten als der in-operator bietet der θany und der θall-operator, also der Vergleich mit irgendeinem oder jedem Tupel der Unteranfrage. Alle Konten außer das, mit dem größten
MehrKapitel 7 Physische Datenorganisation. Speicherhierarchie Hintergrundspeicher / RAID B-Bäume Hashing R-Bäume. Register. Cache.
Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID B-Bäume Hashing R-Bäume 1 Überblick: Speicherhierarchie Register Cache Hauptspeicher Plattenspeicher Archivspeicher A.
MehrOPERATIONEN 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:
MehrDateiorganisation 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
MehrFokus 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! DBMS organisiert die Daten so, dass minimal viele Plattenzugriffe nötig sind.
Unterschiede von DBMS und files Speichern von Daten! DBMS unterstützt viele Benutzer, die gleichzeitig auf dieselben Daten zugreifen concurrency control.! DBMS speichert mehr Daten als in den Hauptspeicher
MehrKapitel 7 Physische Datenorganisation. Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-BäumeB Bäume Hashing R-Bäume
Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-BäumeB Bäume Hashing R-Bäume Überblick: Speicherhierarchie Register (L1/L2/L3) Cache Hauptspeicher
MehrRü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
MehrKapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete
Kapitel 4: Dynamische Datenstrukturen Algorithmen und Datenstrukturen WS 2012/13 Prof. Dr. Sándor Fekete 4.4 Binäre Suche Aufgabenstellung: Rate eine Zahl zwischen 100 und 114! Algorithmus 4.1 INPUT: OUTPUT:
MehrDatenintegrität. Bisherige Integritätsbedingungen
Datenintegrität Integitätsbedingungen chlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung statische Bedingungen an den Zustand der Datenbasis dynamische Bedingungen an Zustandsübergänge
MehrKapitel 7 Physische Datenorganisation. Speicherhierarchie Hintergrundspeicher / RAID B-Bäume Hashing R-Bäume
Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID B-Bäume Hashing R-Bäume Überblick: Speicherhierarchie Register (L1/L2/L3) Cache Hauptspeicher Plattenspeicher Archivspeicher
MehrPhysische Datenorganisation
Vorlesung Datenbanksysteme vom 17.10.2016 Physische Datenorganisation Architektur eines DBMS Speicherhierarchie Index-Verfahren Ballung (Clustering) beste Zugriffsmethode Architektur eines DBMS Wichtigste
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Dipl. Inform. Andreas Wilkens 1 Organisatorisches Freitag, 05. Mai 2006: keine Vorlesung! aber Praktikum von 08.00 11.30 Uhr (Gruppen E, F, G, H; Vortestat für Prototyp)
MehrVorkurs Informatik WiSe 15/16
Konzepte der Informatik Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 16.10.2015 Technische Universität Braunschweig, IPS Inhaltsverzeichnis Suchen Binärsuche Binäre Suchbäume 16.10.2015 Dr. Werner
MehrDynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München
Kapitel 4 Dynamisches SQL Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München 2008 Thomas Bernecker, Tobias Emrich unter Verwendung der Folien des Datenbankpraktikums aus dem Wintersemester
Mehr3.2 Binäre Suche. Usr/local/www/ifi/fk/menschen/schmid/folien/infovk.ppt 1
3.2 Binäre Suche Beispiel 6.5.1: Intervallschachtelung (oder binäre Suche) (Hier ist n die Anzahl der Elemente im Feld!) Ein Feld A: array (1..n) of Integer sei gegeben. Das Feld sei sortiert, d.h.: A(i)
MehrAlgorithmen und Datenstrukturen Balancierte Suchbäume
Algorithmen und Datenstrukturen Balancierte Suchbäume Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Überblick Einführung Einfügen und Löschen Einfügen
MehrDatenstrukturen und Algorithmen
Datenstrukturen und Algorithmen VO 708.031 Bäume robert.legenstein@igi.tugraz.at 1 Inhalt der Vorlesung 1. Motivation, Einführung, Grundlagen 2. Algorithmische Grundprinzipien 3. Sortierverfahren 4. Halden
MehrMining High-Speed Data Streams
Mining High-Speed Data Streams Pedro Domingos & Geoff Hulten Departement of Computer Science & Engineering University of Washington Datum : 212006 Seminar: Maschinelles Lernen und symbolische Ansätze Vortragender:
MehrName:... Vorname:... Matrikel-Nr.:... Unterschrift:...
Studiengang Bachelor of Computer Science Modulprüfung Praktische Informatik 1 Wintersemester 2010 / 2011 Name:... Vorname:... Matrikel-Nr.:... Unterschrift:... Hinweise: 1.) Schreiben Sie Ihren Namen und
MehrBinäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen
Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders
MehrPhysischer Datenbankentwurf: Datenspeicherung
Datenspeicherung.1 Physischer Datenbankentwurf: Datenspeicherung Beim Entwurf des konzeptuellen Schemas wird definiert, welche Daten benötigt werden und wie sie zusammenhängen (logische Datenbank). Beim
MehrDATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER
DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER INHALTSVERZEICHNIS 1. Datenbanken 2. SQL 1.1 Sinn und Zweck 1.2 Definition 1.3 Modelle 1.4 Relationales Datenbankmodell 2.1 Definition 2.2 Befehle 3.
MehrKonzepte von Betriebssystemkomponenten Disk-Caches und Dateizugriff
Konzepte von Betriebssystemkomponenten Disk-Caches und Dateizugriff von Athanasia Kaisa Grundzüge eines Zwischenspeichers Verschiedene Arten von Zwischenspeicher Plattenzwischenspeicher in LINUX Dateizugriff
MehrKapiteltests zum Leitprogramm Binäre Suchbäume
Kapiteltests zum Leitprogramm Binäre Suchbäume Björn Steffen Timur Erdag überarbeitet von Christina Class Binäre Suchbäume Kapiteltests für das ETH-Leitprogramm Adressaten und Institutionen Das Leitprogramm
Mehr4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.
Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel
MehrVorlesung Datenbanksysteme vom Architektur eines DBMS Speicherhierarchie Hintergrundspeicher / RAID Index-Verfahren Ballung (Clustering)
Vorlesung Datenbanksysteme vom 22.10.2008 Physische Datenorganisation Architektur eines DBMS Speicherhierarchie Hintergrundspeicher / RAID Index-Verfahren Ballung (Clustering) beste b t Zugriffsmethode
Mehr7. Übung - Datenbanken
7. Übung - Datenbanken Informatik I für Verkehrsingenieure Aufgaben inkl. Beispiellösungen 1. Aufgabe: DBS a Was ist die Kernaufgabe von Datenbanksystemen? b Beschreiben Sie kurz die Abstraktionsebenen
Mehrt r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r )
Definition B : Menge der binären Bäume, rekursiv definiert durch die Regeln: ist ein binärer Baum sind t l, t r binäre Bäume, so ist auch t =, t l, t r ein binärer Baum nur das, was durch die beiden vorigen
MehrRelationale Kalküle. Grundlagen der Datenbanken. Dr. Jérôme Kunegis Wintersemester 2013/14
Web Science & Technologies University of Koblenz Landau, Germany Grundlagen der Datenbanken Dr. Jérôme Kunegis Wintersemester 2013/14 Lernziele Grundideen des Domänen-Relationenkalküls (DRK) und des Tupel-Relationenkalküls
MehrProgrammieren I. Kapitel 7. Sortieren und Suchen
Programmieren I Kapitel 7. Sortieren und Suchen Kapitel 7: Sortieren und Suchen Ziel: Varianten der häufigsten Anwendung kennenlernen Ordnung Suchen lineares Suchen Binärsuche oder Bisektionssuche Sortieren
MehrKONSTRUKTION VON ROT-SCHWARZ-BÄUMEN
KONSTRUKTION VON ROT-SCHWARZ-BÄUMEN RALF HINZE Institut für Informatik III Universität Bonn Email: ralf@informatik.uni-bonn.de Homepage: http://www.informatik.uni-bonn.de/~ralf Februar, 2001 Binäre Suchbäume
MehrÜberblick: Speicherhierarchie. Überblick: Speicherhierarchie. Überblick: Speicherhierarchie. Kapitel 7 Physische Datenorganisation
Kapitel 7 Physische Datenorganisation Überblick: Speicherhierarchie Register (L/L2/L3) Cache Speicherhierarchie Hintergrundspeicher / RAID B-Bäume Hashing R-Bäume Hauptspeicher Plattenspeicher Archivspeicher
MehrOracle 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
MehrPhysische Datenorganisation
Vorlesung Datenbanksysteme vom 19.10.2015 Physische Datenorganisation Architektur eines DBMS Speicherhierarchie Hintergrundspeicher / RAID Index-Verfahren Ballung (Clustering) beste Zugriffsmethode Architektur
MehrAlignment-Verfahren zum Vergleich biologischer Sequenzen
zum Vergleich biologischer Sequenzen Hans-Joachim Böckenhauer Dennis Komm Volkshochschule Zürich. April Ein biologisches Problem Fragestellung Finde eine Methode zum Vergleich von DNA-Molekülen oder Proteinen
MehrMIN oder MAX Bildung per B*Tree Index Hint
E-Mail: rainer@lambertz-c.de Internet: http://www.lambertz-c.de MIN oder MAX Bildung per B*Tree Index Hint Zugegeben, der Trick Min- oder Maximalwerte per Index Hint zu ermitteln ist nicht neu. Gewöhnlich
MehrPhysische Datenorganisat
Physische Datenorganisat Speicherhierarchie Hintergrundspeicher / RAID B-Bäume Hashing (R-Bäume ) Objektballung Indexe in SQL Kapitel 7 1 Überblick: Speicherhierarchie Register Cache Hauptspeicher Plattenspeicher
MehrPhysische Datenorganisat
Physische Datenorganisat Speicherhierarchie Hintergrundspeicher / RAID B-Bäume Hashing (R-Bäume ) Objektballung Indexe in SQL Überblick: Speicherhierarchie 1 8 Byte Compiler Register 8 128 Byte Cache Cache-Controller
MehrIndexstrukturen 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
MehrAufgabe 1: [Logische Modellierung]
Aufgabe 1: [Logische Modellierung] a) Entwerfen Sie für das von Ihnen entworfene Modell aus Aufgabe 2 des 1. Übungsblattes ein Star-Schema. b) Entwerfen Sie für das vorangegangene Modell einen Teil eines
Mehrmit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007
6. Übung zur Vorlesung Datenbanken im Sommersemester 2007 mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007 Aufgabe 1: Rekursion Betrachten Sie die folgende Tabelle
MehrAVL-Bäume Analyse. Theorem Ein AVL-Baum der Höhe h besitzt zwischen F h und 2 h 1 viele Knoten. Definition Wir definieren die nte Fibonaccizahl:
AVL-Bäume Analyse (Folie 85, Seite 39 im Skript) Theorem Ein AVL-Baum der Höhe h besitzt zwischen F h und 2 h 1 viele Knoten. Definition Wir definieren die nte Fibonaccizahl: 0 falls n = 0 F n = 1 falls
Mehr3. Das Relationale Datenmodell
3. Das Relationale Datenmodell Das Relationale Datenmodell geht zurück auf Codd (1970): E. F. Codd: A Relational Model of Data for Large Shared Data Banks. Comm. of the ACM 13(6): 377-387(1970) DBMS wie
MehrKapitel 7 Dr. Jérôme Kunegis. Logische Kalküle. WeST Web Science & Technologies
Kapitel 7 Dr. Jérôme Kunegis Logische Kalküle WeST Web Science & Technologies Lernziele Grundideen des Domain-Relationenkalküls (DRK) und des Tupel-Relationenkalküls (TRK) Relationale Datenbank als Formelmenge
MehrSuchbäume. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung
Suchbäume Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Action required now 1. Smartphone: installiere die App "socrative
MehrDATENSTRUKTUREN UND ZAHLENSYSTEME
DATENSTRUKTUREN UND ZAHLENSYSTEME RALF HINZE Institute of Information and Computing Sciences Utrecht University Email: ralf@cs.uu.nl Homepage: http://www.cs.uu.nl/~ralf/ March, 2001 (Die Folien finden
MehrLernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können.
6. Bäume Lernziele 6. Bäume Lernziele: Definition und Eigenschaften binärer Bäume kennen, Traversierungsalgorithmen für binäre Bäume implementieren können, die Bedeutung von Suchbäumen für die effiziente
MehrGrundlagen der Programmierung 2. Bäume
Grundlagen der Programmierung 2 Bäume Prof. Dr. Manfred Schmidt-Schauÿ Künstliche Intelligenz und Softwaretechnologie 24. Mai 2006 Graphen Graph: Menge von Knoten undzugehörige (gerichtete oder ungerichtete)
MehrKapitel 5: Dynamisches Programmieren Gliederung
Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen
MehrAlgorithmen und Datenstrukturen Suchbaum
Algorithmen und Datenstrukturen Suchbaum Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Motivation Datenstruktur zur Repräsentation dynamischer Mengen
MehrVorlesung Dokumentation und Datenbanken Klausur
Dr. Stefan Brass 5. Februar 2002 Institut für Informatik Universität Giessen Vorlesung Dokumentation und Datenbanken Klausur Name: Geburtsdatum: Geburtsort: (Diese Daten werden zur Ausstellung des Leistungsnachweises
Mehr13. Binäre Suchbäume
1. Binäre Suchbäume Binäre Suchbäume realiesieren Wörterbücher. Sie unterstützen die Operationen 1. Einfügen (Insert) 2. Entfernen (Delete). Suchen (Search) 4. Maximum/Minimum-Suche 5. Vorgänger (Predecessor),
MehrFelder. November 5, 2014
Felder Universität Bielefeld AG Praktische Informatik November 5, 2014 Felder: Datenstrukturen mit konstantem Zugriff Felder nennt man auch, Vektoren, Matrizen,... Konstanter Zugriff heisst: Zugriff auf
MehrADS: 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.
MehrProgrammiertechnik II
Bäume Symboltabellen Suche nach Werten (items), die unter einem Schlüssel (key) gefunden werden können Bankkonten: Schlüssel ist Kontonummer Flugreservierung: Schlüssel ist Flugnummer, Reservierungsnummer,...
MehrBinäre Bäume Darstellung und Traversierung
Binäre Bäume Darstellung und Traversierung Name Frank Bollwig Matrikel-Nr. 2770085 E-Mail fb641378@inf.tu-dresden.de Datum 15. November 2001 0. Vorbemerkungen... 3 1. Terminologie binärer Bäume... 4 2.
MehrSemantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung
6. Datenintegrität Motivation Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung nur sinnvolle Attributwerte (z.b. keine negativen Semester) Abhängigkeiten
MehrProfessionelle Seminare im Bereich MS-Office
Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion
MehrHilfe zur Dokumentenverwaltung
Hilfe zur Dokumentenverwaltung Die Dokumentenverwaltung von Coffee-CRM ist sehr mächtig und umfangreich, aber keine Angst die Bedienung ist kinderleicht. Im Gegensatz zur Foto Galeria können Dokumente
MehrDipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009
Hochschule Darmstadt DATENBANKEN Fachbereich Informatik Praktikum 3 Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009 PL/SQL Programmierung Anwendung des Cursor Konzepts und Stored Procedures Und Trigger
MehrSortierte Folgen 250
Sortierte Folgen 250 Sortierte Folgen: he 1,...,e n i mit e 1 apple applee n kennzeichnende Funktion: M.locate(k):= addressof min{e 2 M : e k} Navigations Datenstruktur 2 3 5 7 11 13 17 19 00 Annahme:
MehrReferenzielle Integrität SQL
Referenzielle Integrität in SQL aus Referential Integrity Is Important For Databases von Michael Blaha (Modelsoft Consulting Corp) VII-45 Referenzielle Integrität Definition: Referenzielle Integrität bedeutet
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Dipl. Inform. Andreas Wilkens aw@awilkens.com Überblick Grundlagen Definitionen Elementare Datenstrukturen Rekursionen Bäume 2 1 Datenstruktur Baum Definition eines Baumes
MehrLoggen Sie sich in Ihrem teamspace Team ein, wechseln Sie bitte zur Verwaltung und klicken Sie dort auf den Punkt Synchronisation.
Ihre Welt spricht teamspace! Anleitung zur Synchronisation 1. Schritt: Loggen Sie sich in Ihrem teamspace Team ein, wechseln Sie bitte zur Verwaltung und klicken Sie dort auf den Punkt Synchronisation.
MehrHandbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken
Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Dateiname: ecdl5_01_00_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Grundlagen
MehrFolge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12
Grundlagen: Folge 19 - Bäume 19.1 Binärbäume - Allgemeines Unter Bäumen versteht man in der Informatik Datenstrukturen, bei denen jedes Element mindestens zwei Nachfolger hat. Bereits in der Folge 17 haben
MehrCluster-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
Mehr5.3 Datenänderung/-zugriff mit SQL (DML)
5.3 Datenänderung/-zugriff mit SQL (DML) Hinweis: - DML-Anweisungen sind mengenorientiert - Mit einer Anweisungen kann mehr als ein Tupel eingefügt, geändert, gelöscht oder gelesen werden Benutzungs- und
MehrSoftware Engineering Klassendiagramme Assoziationen
Software Engineering Klassendiagramme Assoziationen Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Lesen von Multiplizitäten (1) Multiplizitäten werden folgendermaßen
MehrOP-LOG www.op-log.de
Verwendung von Microsoft SQL Server, Seite 1/18 OP-LOG www.op-log.de Anleitung: Verwendung von Microsoft SQL Server 2005 Stand Mai 2010 1 Ich-lese-keine-Anleitungen 'Verwendung von Microsoft SQL Server
MehrKapitel 7 Physische Datenorganisation. Speicherhierarchie Hintergrundspeicher / RAID B-Bäume Hashing R-Bäume
Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID B-Bäume Hashing R-Bäume Überblick: Speicherhierarchie Register (L1/L2/L3) Cache Hauptspeicher Plattenspeicher Archivspeicher
MehrDigitale Magazine ohne eigenen Speicher
Stefan Lucks Digitale Magazine ohne eigenen Speicher 1 Digitale Magazine ohne eigenen Speicher Wie man die Integrität fremdgespeicherter Archivalien sicherstellen kann Stefan Lucks Professur für Mediensicherheit
MehrVorlesung 04.12.2006: Binäre Entscheidungsdiagramme (BDDs) Dr. Carsten Sinz
Vorlesung 04.12.2006: Binäre Entscheidungsdiagramme (BDDs) Dr. Carsten Sinz Datenstruktur BDD 1986 von R. Bryant vorgeschlagen zur Darstellung von aussagenlogischen Formeln (genauer: Booleschen Funktionen)
MehrAnmerkungen zur Übergangsprüfung
DM11 Slide 1 Anmerkungen zur Übergangsprüfung Aufgabeneingrenzung Aufgaben des folgenden Typs werden wegen ihres Schwierigkeitsgrads oder wegen eines ungeeigneten fachlichen Schwerpunkts in der Übergangsprüfung
Mehr1 topologisches Sortieren
Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung
MehrAbschnitt: Algorithmendesign und Laufzeitanalyse
Abschnitt: Algorithmendesign und Laufzeitanalyse Definition Divide-and-Conquer Paradigma Divide-and-Conquer Algorithmen verwenden die Strategien 1 Divide: Teile das Problem rekursiv in Subproblem gleicher
Mehr