Physische Datenorganisation. Vorlesung Datenbanksysteme Univ.-Prof. Dr. Günther Specht

Größe: px
Ab Seite anzeigen:

Download "Physische Datenorganisation. Vorlesung Datenbanksysteme Univ.-Prof. Dr. Günther Specht"

Transkript

1 Physische Datenorganisation Kapitel IX Vorlesung Datenbanksysteme Univ.-Prof. Dr. Günther Specht Universität Innsbruck Institut für Informatik Datenbanken und Informationssysteme (DBIS) Vorlesungsinhalt 9. Physische Datenorganisation Hardwarenahe Aspekte Assoziativer Datenzugriff Realisierungsformen für assoziativen Zugriff auf einzelne Datensätze Problem der Datenabhängigkeit von Anwendungsprogrammen 2 G. Specht: Datenbanksysteme 9-1

2 Hardwarenahe Aspekte 3 Hardwarenahe Aspekte Festplattenlaufwerke, häufig auch: Disk-Arrays viele, kleinere Platten anstelle von wenigen großen Parallelisierung des Zugriffs Erhöhung der Fehlertoleranz Verschiedene Speichertechniken, RAID-Level [1] Auf physischer Ebene blockorientierte (seitenorientierte) Aufzeichnung und Zugriff Typische Blockgrößen (page size, block size): 512 Byte, 1k, 2k, 4k,... Datenorganisation (Hierarchie): Block Spur Zylinder Direkter Zugriff über Seitennummer Umrechnung von Seitennummer auf physische Adresse (Zylinder, Spur, Spur-Offset) durch Betriebssystem oder Platten-Controller/Micro-Code. [1] RAID = Random Array of Inexpensive Disks; 4 G. Specht: Datenbanksysteme 9-2

3 Basismethoden für Plattenzugriff Sequentiell Schneller sequentieller Zugriff in aufsteigender Sortierfolge Datensätze fester und variabler Länge möglich Schnell, aber schlechte Performance falls Anwendung wahlfreien Zugriff benötigt Änderungen (updates) i.d.r. sehr aufwendig Anwendungen: sequential read, log-files, batch processing, Data Warehouse: Reporterstellung) Wahlfrei (random) Zugriffszeit von Position des Schreib-/Lesekopfes abhängig Schneller Zugriff, wenn alle Daten im selben Zylinder (daher erstrebenswert: physisch nahe Speicherung oft gemeinsam benötigter Daten (physical clustering)) Datensätze fester Länge von Vorteil (für variable Satzlänge spezielle Implementierung erforderlich) 5 Performance- und Datensicherheitsaspekte Anzahl der Hintergrundspeicher-Zugriffe (i.d.r. Magnetplatten) i.a. dominierender Performance-Faktor für DBMSe: Abschätzung bzw. Abschätzbarkeit (best case, average case, worst case) der Anzahl der Plattenzugriffe deshalb wichtiges Auswahlkriterium bei Bewertung von Verfahren Zuverlässigkeit des Dateisystems bzw. der physischen Speicherung ausschlaggebend für Brauchbarkeit des DBS Standard-Dateisysteme oft nicht sicher genug (aus DBS-Sicht): Direktes physisches Durchschreiben geänderter Datensätze (tuple) nicht immer gewährleistet (file cache!) Aktualisierung der Dateizuordnungstabelle [1] erst beim Schließen der Datei (CLOSE), dadurch Gefahr von Datenverlusten bei Systemabstürzen Selbst CLOSE bewirkt nicht in allen Fällen ein physisches Zurückschreiben der Dateizuordnungstabelle (Beispiel: IBM VM/CMS: Mini-Disk-Konzept) Standard-Dateisysteme oft zu ineffizient (zuviel Overhead) Funktionalität des Dateisystems deckt DBS-Bedürfnisse nur teilweise ab oft zu wenig Kontrolle über die konkrete physische Speicherung [1] File allocation table (FAT), file directory 6 G. Specht: Datenbanksysteme 9-3

4 Daten- und Dateiorganisation auf Magnetplatten (Bsp. MS-DOS) 7 Daten- und Dateiorganisation auf Magnetplatten cont. Folge Viele kommerzielle DBS-Hersteller implementieren eigene Extern-Speicherverwaltung für ihr DBS auf der (mehr oder weniger) nackten Hardware (z.b. UNIX: raw devices ) Probleme DBS-Code muss bei neuer Platten-Hardware u.u. angepasst werden Standard-Datensicherung des Betriebssystems oft nicht mehr anwendbar Längerfristiger Trend Verlagerung von Datenbank-Funktionalität ins Betriebssystem/Dateisystem führt für DBMS z.t. aber auch zu Problemen Gefahr des Double-Pagings (OS- und DB-Optimierungen spießen sich) Double-Logging Deferred Write... 8 G. Specht: Datenbanksysteme 9-4

5 Assoziativer Datenzugriff 9 Assoziativer Datenzugriff Problemstellung Datensätze werden intern über einen Record-Identifier (Record-ID) adressiert, das kann sein Relative Satznummer Tupel-ID Database Key (Surrogat, Object-ID) Benutzer sprechen Datensätze aber in der Regel über Inhalte an Beispiele Datensatz mit PersNr = 4711 Datensatz mit Name = 'Dadam' und Vorname = 'Peter' Alle Datensatz mit Gehalt > Erforderlich: Abbildung von Feldwert(en) auf Record-IDs Assoziation eines Wertes mit entsprechenden Treffer-Record(s) Realisierungsformen Keine Unterstützung sequentielle Suche + Vergleich Zugriff über relative Satznummer Hash-Zugriff Indexe G. Specht: Datenbanksysteme 9-5

6 Realisierungsformen für assoziativen Zugriff auf einzelne Datensätze Relative Satznummer Zugriff auf Datensätze fester Länge innerhalb einer Datei Blocken/Entblocken der Datensätze durch Betriebssystem Direkter Zugriff auf einen Datensatz mittels dessen relativer Satznummer: 0, 1, 2,... Pascal: seek(filename, recno) read(filename, recordvariable) Wird vor allem als internes Zugriffsverfahren eingesetzt (siehe aber auch TID-/DB-Key-Konzept!) Nur für sehr einfachen assoziativen Zugriff geeignet Beispiele: PersNr rel. SatzNr oder ArtNr rel. SatzNr Potentielles Problem für assoziativen Zugriff: Harte Verdrahtung von physischer und logischer Sicht ( Reorganisationsbedarf) Für komplizierte Abbildungen Hash-Verfahren besser geeignet 11 Hash-Verfahren (gestreute Speicherung) Idee: Ableitung der Satznummer aus dem Primärschlüssel Trivialfall TeileNr = 1 Satznummer = 1 TeileNr = 2 Satznummer = 2 TeileNr = 3 Satznummer = 3... Im Allgemeinen nicht realisierbar, da Wertebereich des Primärschlüssels zu groß (jede mögliche Teilenummer belegt einen Speicherplatz!) Hash-Verfahren gegeben Wertebereich des Primärschlüssel (attributs): dom(pk) Menge der bereitgestellten Satzadressen {0,1,2,...,n}: S Kardinalität der Primärschlüsselwerte card(pk) (wieviele Werte wirklich auftreten, in der Regel geschätzt) 12 G. Specht: Datenbanksysteme 9-6

7 Hash-Verfahren cont. Zu beachten card(dom(pk)) >> card(s) ist erlaubt card(pk) > card(s) macht keinen Sinn Meist wird card(s) so gewählt, dass Belegungsfaktor α < 0.8. α := card(pk) / card(s). Zwei Teilprobleme Was ist eine gute Hashfunktion ( wenig Kollisionen) Effiziente (Sonder-) Behandlung von Kollisionen zusätzlich: was tun wenn Hashbereich voll?? vergrößern oder dynamische Hashverfahren Allgemein zum Verhalten von Hashverfahren Im schlechtesten Fall sehr ineffizient (degeneriert zu linearer Liste) Im Mittel (unter vernünftigen Annahmen) jedoch sehr effizient, besser als baumorientierte Verfahren: oftmals realistisch ~ 1, 2 Zugriffe 13 Hash-Verfahren cont. Bekanntester Ansatz zur Wahl der Hashfunktion Divisionsrest-Verfahren h(pk) := pk mod n n = card(s) Beispiel S := {0,1,..., 996} (für card(s) wird i.a. eine Primzahl gewählt) pk 1 = s1 = mod 997 s1 = 916 pk 2 = s2 = mod 997 s2 = 725 Kollisionsbehandlung verschiedene Alternativen, u.a.: Verkettung der Überläufer... in einem separaten Bereich außerhalb der Hashtabelle Überläufer auch (an anderer Stelle) in der Hashtabelle; Bestimmung dieser anderen Stelle: in der Nachbarschaft ( h(pk) ±1, ± 2, ± 3,...: lineares Sondieren in quadratisch wachsendem Abstand: quadratisches Sondieren zufälliges Sondieren über zusätzliche Hashfunktion: re-hashing G. Specht: Datenbanksysteme 9-7

8 Beispiel Die Hashfunktion sei h = s mod 100 Zu speichern seien die Datensätze mit pk = 3117, 4517, 2917 Fazit: alle werden auf Satznummer 17 abgebildet Anker für Lösung mit Überlaufbereichen Überlaufkette von h 0(s) = 17 h (3117) 0 h 0(1022) h 2 (4517) h (2917) Würdigung Hash-Verfahren Schnellstes Verfahren, wenn Hashfunktion gut gewählt und wenn Speicherplatz nicht zu knapp kalkuliert Verkettung aller Überlaufsätze untereinander mit h 0(s) = 17 Zugriff in Sortierreihenfolge nicht möglich Nur für Primärschlüsselzugriff und damit Punktanfragen geeignet Gängige Variante: Einträge in Hashtabelle ( Buckets ), nehmen mehrere Datensätze auf 15 Index-sequentielle Datenorganisation Merkmale Primärdatei nach Schlüsselattribut sortiert gespeichert Dadurch Lesen der Datensätze in Sortierfolge möglich Ein- oder mehrstufiger Index zum schnelleren Auffinden des richtigen Datenblocks Beim Erstanlegen i.d.r. Freihalten einer Platzreserve in den Datenblöcken für spätere Einfügungen Beim Überlauf (overflow) von Datenblöcken Anlegen von Überlauf-Bereichen (overflow areas) pro Spur pro Gruppe von Spuren pro Zylinder... ISAM (Index Sequential Access Method) Nicht reorganisationsfrei! 16 G. Specht: Datenbanksysteme 9-8

9 B-Bäume Vorüberlegungen Indexbäume Naheliegende Vermutung Guter, ausgeglichener Baum für Internspeicher ergibt auch guten Baum für Externspeicher Zu lösendes Problem: Wie Knoten auf Seiten abbilden, so dass die Anzahl der Seitenzugriffe minimiert wird? 17 Clusterung von Baumknoten auf Seiten Problem Optimale Zusammenfassung (Clusterung) der Knoten schwer bestimmbar (bei dynamischen Strukturen) Lösungsansatz Seitenorientierte Baumverfahren B-Baum (Bayer/McCreight, 1972) 18 G. Specht: Datenbanksysteme 9-9

10 B-Baum Eigenschaften und Merkmale Knoten = Speicherblöcke (Seiten) fester Länge jede Seite kann bis zu 2*n Datensätze (Einträge) aufnehmen n heißt Ordnung des B-Baumes Jede Seite (außer der Wurzel) enthält stets m Datensätze fester Länge, wobei gilt: n m 2*n Jeder Eintrag hat einen Schlüsselteil und einen Datenteil (Datenteil enthält oft nur Zeiger auf den echten Datensatz) Die Datensätze innerhalb einer Seite sind aufsteigend nach Primärschlüssel geordnet Eine Seite ist entweder Blattseite oder sie hat m+1 Nachfolger Alle Blattseiten befinden sich auf derselben Höhe Struktur eines B-Baumes 19 B-Baum (im Bsp: 2. Ordnung (n=2)) Suchen nach Schlüssel S 1. Lese Wurzelseite 2. Suche S in Seite gefunden { gib Datensatz aus; fertig!} nicht gefunden Seite ist Blatt { Schlüssel nicht in Baum; fertig!} Seite ist kein Blatt bestimme kleinstes K i mit S < K i : { setze Suche in Block p i fort} solches K i nicht vorhanden: { setze Suche in Block p m+1 fort} 20 G. Specht: Datenbanksysteme 9-10

11 B-Baum (im Bsp: 2. Ordnung (n=2)) Einfügen von Schlüssel S 1. Suche S in Baum gefunden { Fehlermeldung; fertig!} nicht gefunden { b = Block (Blattseite), in der die Suche nach S abgebrochen wurde} 2. Füge S in b ein b hat noch Platz { Einfügen; fertig!} b läuft über: (*) 1. Füge S temporär in b ein. 2. Mittlerer Schlüssel in b ist nun K n Splitte b in b links (K 1... K n ) und b rechts (K n+2... K 2*n ). 4. Setze S zu K n Füge S in Vater von b ein; setze Pointer in Vater von b auf b links und b rechts. Falls Vaterknoten überläuft, setze b := Vaterknoten, dann weiter bei (*). Ggf. wird hierbei ein neuer Wurzelknoten erzeugt (d.h. der B-Baum wächst um eine Stufe). 21 Einfügen mit Überlauf und Knotensplitt Ausgangssituation Einfügen von "9": mittleres Element Überlauf! Baum nach Einfügen und Knoten-Splitt: G. Specht: Datenbanksysteme 9-11

12 B-Baum 2. Ordnung (n=2) cont. Löschen von Schlüssel S 1. Suche S in Baum nicht gefunden { Fehlermeldung; fertig!} gefunden { ist der Block, in dem S gefunden wurde} 2. Lösche S in b b ist Blatt b hat nach Löschung noch mind. n Einträge: {fertig!} b hat weniger als n Einträge { Unterlaufbehandlung; fertig!} b ist kein Blatt 1. Ersetze S in b durch größtes (kleinstes) Blattelement ( Blatt b') im linken (rechten) Teilbaum von S; 2. Führe ggf. Unterlaufbehandlung für b' durch; fertig!} wichtige Unterscheidung! Unterlaufbehandlung: {b ist der Unterlauf-Knoten} b hat einen linken (rechten) Bruder mit genau n Einträgen { Zusammenfassen; ggf. Unterlaufbehandlung für Vaterknoten; fertig!} [Anmerkung: Gilt sowohl für Blatt als auch Nicht-Blatt] sonst: b ist Blatt {führe kleine Rotation über Vaterknoten nach rechts (links) aus; fertig!} b ist kein Blatt {führe große Rotation über Vaterknoten mit linkem (rechtem) Bruder-Teilbaum von b aus; fertig!} [Anmerkung: Ausgleich durch Umhängen eines ganzen Teilbaumes] 23 Löschen im Blattknoten mit Zusammenfassen auf Blattenebene Löschen von "9": unmittelbar nach Löschen von "9": Baum nach Zusammenfassen der Knoten: Zusammenfassen Unterlauf (under flow) G. Specht: Datenbanksysteme 9-12

13 Löschen im Blattknoten mit Zusammenfassen auf Nicht- Blattebene und Höhenschrumpfung Löschen von "19": Zusammenfassen Unterlauf! unmittelbar nach Löschen von "19" und anschließendem Zusammenfassen: Unterlauf! 30 Zusammenfassen Baum nach Zusammenfassen: Löschen auf Blattebene mit kleiner Rotation Ausgangssituation Löschen von "13": unmittelbar nach Löschung ("kleine") Rotation nach rechts Baum nach durchgeführter Rotation Unterlauf! G. Specht: Datenbanksysteme 9-13

14 Löschen auf Blattebene mit großer Rotation Ausgangssituation 32 Löschen von "38" Ausgleich durch Rotation Unterlauf! große Rotation 49 nach Zusammenfassen von Blatt mit rechtem Bruder Unterlauf! Baum nach Rotation Löschen in Nicht-Blattknoten Ausgangssituation Löschen von "11" Ersetzen des Eintrags durch nächst-kleineren Eintrag Baum nach Löschung 32 Kein Unterlauf im Blattknoten, fertig! Siehe Regel 1. Ersetze S in b durch größtes (kleinstes) Blattelement ( Blatt b') im linken (rechten) Teilbaum von S 2. Führe ggf. Unterlaufbehandlung für b' durch; fertig! 28 G. Specht: Datenbanksysteme 9-14

15 Abschätzung Laufzeitverhalten für lesenden Zugriff N = # Schlüsseleinträge, n = min. Anzahl Schlüssel je Seite Stufe Anzahl Seiten auf Stufe Anzahl Schlüssel auf Stufe (min.): n 2 2 (n+1) 2 (n+1) n 3 2 (n+1)*(n+1) = 2*(n+1)2 2 (n+1)2 n 4 2 (n+1)3 2 (n+1)3 n k 2 (n+1)k-1 2 (n+1)k-1 n Es muss gelten: d.h. ein B-Baum der Ordnung n und der Höhe k enthält mind. 2(n+1)k - 1 Datensätze 29 Abschätzung Laufzeitverhalten für lesenden Zugriff cont. gesucht: Beispiel: 90 Mio Datensätze zu verwalten, B-Baum-Seitengröße = Byte Größe eines Indexeintrages 20 Byte (incl. linkem Teilbaumpointer) pro Seite max. 204 Einträge möglich n = 102 Max. Anzahl von Seitenzugriffen für das Auffinden eines Schlüssels: Insgesamt: 4 Seitenzugriffe für Index + 1 Seitenzugriff für Datensatz = 5 Seitenzugriffe. 30 G. Specht: Datenbanksysteme 9-15

16 Verwendung von B-Bäumen zur Zugriffsunterstützung für Sekundärschlüssel 31 B*-Bäume B-Baum gut für gezieltes Aufsuchen von Schlüsseln bzw. Datensätzen Traversierung in Schlüsselreihenfolge (=Sortierfolge) zwar möglich, aber etwas umständlich Gezielter Einstieg und Weiterverarbeitung in Sortierfolge in praktischen Anwendungen jedoch relativ häufig Ansatz B*-Baum Die Datenseiten befinden sich ausschließlich in den Blättern (und sind untereinander verkettet) Die oberen Baumknoten sind reine Indexknoten und dienen nur der Suchraum-Partitionierung 32 G. Specht: Datenbanksysteme 9-16

17 Beispiel für B*-Baum Bestimmung der Separatoren Für den Separator S xy zweier benachbarter Datenseiten x und y (x links von y) muss gelten: MaxKey(x) < S xy MinKey(y) bezogen auf obige Abbildung muss also gelten, falls Schlüssel ganzzahlig: 10 < S ab 11 : Hier bleibt nur die Wahl für < S bc 17 : Hier wäre 16 oder 17 möglich 40 < S de 44 : Hier wäre möglich usw. (und gilt natürlich auch für die Separatoren der Indexseiten) 33 Beispiel für B*-Baum cont. Anzahl von Seitenzugriffen zum Auffinden eines Datensatzes Seien pl die Länge einer Datenseite und dl die Länge eines Datensatzes, und f (0 < f 1) der durchschnittliche Belegungsfaktor einer Datenseite, dann werden zur Speicherung von N Datensätzen ca. N pl * f dl Datenseiten benötigt. Der B*-Baum habe k (1,2,...) Indexebenen, die Datenseiten befinden sich auf Stufe k+1, dann werden auf der k-ten Indexebene P Zeiger benötigt Analyse Stufe Anzahl Seiten (min.) Anzahl Zeiger (min.) 1 (Wurzel) *(n+1) 3 2*(n+1) 2*(n+1)2 4 2*(n+1)2 2*(n+1)3... k 2*(n+1)k-2 2*(n+1)k-1 Zu bestimmen: Größtes k für das gilt: log P 2*(n+1)k-1 P k = log 2 + log( n + 1) G. Specht: Datenbanksysteme 9-17

18 Beispiel für B*-Baum cont. Beispiel Seitengröße = Byte, 90 Millionen Datensätze die Datensatzlänge sei 730 Byte (Zahl frei erfunden) der Belegungsfaktor sei 0, d.h. es werden ca. P = = = *0, Datenseiten benötigt Es sollen wieder mind. 102 Indexeinträge (und damit 103 Pointer) je Indexseite möglich sein. Damit ergibt sich die max. Anzahl von Indexebenen zu log k = = log 2 + log103 Ergebnis: Es werden insgesamt = 5 Seitenzugriffe benötigt. Anmerkung Bei Neuaufbau eines B*-Baumes werden die Datenseiten physisch benachbart gespeichert. Man spricht daher auch von einem clustering index. 35 B/B*-Bäume - Abschließende Bemerkungen B-Bäume, insbesondere B+-/B*-Bäume, die zur Zeit am meisten verwendete Index-Implementierung in Datenbanksystemen. Erlauben sehr schnellen punktweisen Zugriff und sequentielles Lesen in Primärschlüsselreihenfolge, sowie Bereichsanfragen ( range queries ). Viele Varianten hinsichtlich Minimalem Füllungsgrad der Seiten Art der Behandlung von Löschungen Komprimierung der Schlüsseleinträge (z.b. Präfix-B-Baum) Unmittelbarer Zugriffspfad: Baum enthält Datensätze Mittelbarer Zugriffspfad: Baum enthält (neben Schlüsselattribut) nur Adressen der Datensätze 36 G. Specht: Datenbanksysteme 9-18

19 Problem der Datenabhängigkeit von Anwendungsprogrammen 37 Problem der Datenabhängigkeit von Anwendungsprogrammen Speicherdarstellungen + Zugriffs- und Verarbeitungslogik für Datensätze (Anzahl, Art, Reihenfolge der Attribute) für Hilfsstrukturen (Indexe, Hashtabellen,...) für Primärschlüsselzugriff für Sekundärschlüsselzugriff für Verbindungen zwischen Datensätzen (Kettsätze, Zeigerfelder,...) zur Adressierung (TID, Surrogate, physische Adressen,...) bei konventioneller Programmierung im Anwendungsprogramm hart verdrahtet. Resultierende Probleme Programm kennt nur der Autor genau (Frage: Wie lange?). Benutzung der Datenstrukturen (Dateien) durch andere Benutzer/Programme schafft Abhängigkeiten ( Buch führen!!) Änderungen an den Speicherungsstrukturen in einem Programm pflanzen sich u.u. in anderen Programmen fort. Großes Problem: Haben wir alle betroffenen Programme identifiziert und korrekt geändert? Ein gutes DBS isoliert durch Trennung der logischen und physischen Ebene die Programme von solchen Aspekten 38 G. Specht: Datenbanksysteme 9-19

B-Bäume I. Algorithmen und Datenstrukturen 220 DATABASE SYSTEMS GROUP

B-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

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

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

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

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

Betriebssysteme WS 2012/13 Peter Klingebiel, DVZ. Zusammenfassung Kapitel 4 - Datenträger/Dateiverwaltung

Betriebssysteme WS 2012/13 Peter Klingebiel, DVZ. Zusammenfassung Kapitel 4 - Datenträger/Dateiverwaltung Betriebssysteme WS 2012/13 Peter Klingebiel, DVZ Zusammenfassung Kapitel 4 - Datenträger/Dateiverwaltung Zusammenfassung Kapitel 4 Dateiverwaltung 1 Datei logisch zusammengehörende Daten i.d.r. permanent

Mehr

! DBMS organisiert die Daten so, dass minimal viele Plattenzugriffe nötig sind.

! 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

Mehr

6-1 A. Schwill Grundlagen der Programmierung II SS 2005

6-1 A. Schwill Grundlagen der Programmierung II SS 2005 6-1 A. Schwill Grundlagen der Programmierung II SS 25 6. Suchen Suchen = Tätigkeit, in einem vorgegebenen Datenbestand alle Objekte zu ermitteln, die eine best. Bedingung, das Suchkriterium, erfüllen und

Mehr

Datenstrukturen & Algorithmen

Datenstrukturen & 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

Mehr

1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert

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

Mehr

Jeder Datenträger besitzt einen I-Node-Array. Jede Datei auf dem Datenträger hat einen I-Node-Eintrag.

Jeder Datenträger besitzt einen I-Node-Array. Jede Datei auf dem Datenträger hat einen I-Node-Eintrag. Einführung in die Betriebssysteme Fallstudien zu Dateisystemen Seite 1 Unix-Dateisystem Der Adreßraum einer Datei wird in gleichlange Blöcke aufgeteilt. Ein Block hat die Länge von 1 oder mehreren Sektoren

Mehr

Nachtrag zu binären Suchbäumen

Nachtrag 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

Mehr

6. Formaler Datenbankentwurf 6.1. Rückblick. Datenbanken und Informationssysteme, WS 2012/13 22. Januar 2013 Seite 1

6. Formaler Datenbankentwurf 6.1. Rückblick. Datenbanken und Informationssysteme, WS 2012/13 22. Januar 2013 Seite 1 6. Formaler Datenbankentwurf 6.1. Rückblick 3. Normalform Ein Relationsschema R = (V, F) ist in 3. Normalform (3NF) genau dann, wenn jedes NSA A V die folgende Bedingung erfüllt. Wenn X A F, A X, dann

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

Der linke Teilbaum von v enthält nur Schlüssel < key(v) und der rechte Teilbaum enthält nur Schlüssel > key(v)

Der linke Teilbaum von v enthält nur Schlüssel < key(v) und der rechte Teilbaum enthält nur Schlüssel > key(v) Ein Baum T mit Knotengraden 2, dessen Knoten Schlüssel aus einer total geordneten Menge speichern, ist ein binärer Suchbaum (BST), wenn für jeden inneren Knoten v von T die Suchbaumeigenschaft gilt: Der

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

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

Physischer Datenbankentwurf: Datenspeicherung

Physischer 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

Mehr

Vorlesungsinhalt. Recovery. G. Specht: Datenbanksysteme 11-1. Kapitel XI. Vorlesung Datenbanksysteme Univ.-Prof. Dr.

Vorlesungsinhalt. Recovery. G. Specht: Datenbanksysteme 11-1. Kapitel XI. Vorlesung Datenbanksysteme Univ.-Prof. Dr. Recovery Kapitel XI Vorlesung Datenbanksysteme Univ.-Prof. Dr. Günther Specht Universität Innsbruck Institut für Informatik Datenbanken und Informationssysteme (DBIS) Vorlesungsinhalt 11. Recovery Fehler

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

Sortierverfahren für Felder (Listen)

Sortierverfahren für Felder (Listen) Sortierverfahren für Felder (Listen) Generell geht es um die Sortierung von Daten nach einem bestimmten Sortierschlüssel. Es ist auch möglich, daß verschiedene Daten denselben Sortierschlüssel haben. Es

Mehr

Kapitel 9. Hashverfahren. 9.1 Einführung

Kapitel 9. Hashverfahren. 9.1 Einführung Kapitel 9 Hashverfahren 9.1 Einführung Uns sind bereits Verfahren bekannt, mit denen Datensätze mit einem eindeutigen Schlüssel gespeichert werden (z.b. B*-Bäume). Statt bei der Suche nach einem Schlüssel

Mehr

Datenbanken 16.1.2008. Die Entwicklung der Datenbanksysteme ist eng an die der Hardware gekoppelt und wird wie jene in Generationen eingeteilt:

Datenbanken 16.1.2008. Die Entwicklung der Datenbanksysteme ist eng an die der Hardware gekoppelt und wird wie jene in Generationen eingeteilt: Datenbanksysteme Entwicklung der Datenbanksysteme Die Entwicklung der Datenbanksysteme ist eng an die der Hardware gekoppelt und wird wie jene in Generationen eingeteilt: 1. Generation: In den fünfziger

Mehr

Betriebssysteme K_Kap11B: Files, Filesysteme Datenstrukturen

Betriebssysteme K_Kap11B: Files, Filesysteme Datenstrukturen Betriebssysteme K_Kap11B: Files, Filesysteme Datenstrukturen 1 Files als lineare Liste File angeordnet als verkette Liste von Blöcken Jeder Block enthält Zeiger zum Nachfolger Zeiger = Adresse des Blocks

Mehr

Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder

Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder Programmieren in PASCAL Bäume 1 1. Baumstrukturen Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder 1. die leere Struktur oder 2. ein Knoten vom Typ Element

Mehr

Kap. 4.4: B-Bäume Kap. 4.5: Dictionaries in der Praxis

Kap. 4.4: B-Bäume Kap. 4.5: Dictionaries in der Praxis Kap. 4.4: B-Bäume Kap. 4.5: Dictionaries in der Praxis Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 13./14. VO DAP2 SS 2009 2./4. Juni 2009 1 2. Übungstest

Mehr

Physische Datenorganisation

Physische Datenorganisation Web Science & Technologies University of Koblenz Landau, Germany Grundlagen der Datenbanken Dr. Jérôme Kunegis Wintersemester 2013/14 Zugriffshierarchie 2 Eigenschaften der Datenträger 8 32 Mb CPU Cache

Mehr

Algorithmen und Datenstrukturen Suchbaum

Algorithmen 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

Mehr

Rechner muß unterschiedliche Geräte bedienen können. zeichenorientierte Geräte (character devices, unstructured devices)

Rechner muß unterschiedliche Geräte bedienen können. zeichenorientierte Geräte (character devices, unstructured devices) Betriebssysteme Folie 6-1 6 Dateiverwaltung Rechner muß unterschiedliche Geräte bedienen können zeichenorientierte Geräte (character devices, unstructured devices) (z.b. Sichtgeräte, Drucker oder Übertragungsleitungen

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

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 2 Datenstrukturen 2.1 Einführung Syntax: Definition einer formalen Grammatik, um Regeln einer formalen Sprache (Programmiersprache) festzulegen.

Mehr

6.2 FAT32 Dateisystem

6.2 FAT32 Dateisystem 6.2 FAT32 Dateisystem Dateisystem für Windows 98 einige Unterschiede zum Linux-Dateisystem EXT2: keine Benutzeridentifikation für Dateien und Verzeichnisse! Partitionen werden durch Laufwerke repräsentiert,

Mehr

3.5 Balancierung gemäß Zugriffshäufigkeit

3.5 Balancierung gemäß Zugriffshäufigkeit Skript Index- und Speicherungsstrukturen Seite 34 3.5 Balancierung gemäß Zugriffshäufigkeit Bisherige (implizite) Annahme: die Zugriffshäufigkeit aller Datensätze ist gleichverteilt. aber: Diese Annahme

Mehr

Wiederholung: Realisierung von Dateien

Wiederholung: Realisierung von Dateien Wiederholung: Realisierung von Dateien Zusammenhängende Belegung Datei A Datei C Datei E Datei G Datei B Datei D Datei F Belegung durch verkettete Listen (z.b. FAT) Dateiblock 0 Dateiblock 1 Dateiblock

Mehr

Kapitel 5: Dynamisches Programmieren Gliederung

Kapitel 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

Mehr

Kap. 4.2: Binäre Suchbäume

Kap. 4.2: Binäre Suchbäume Kap. 4.2: Binäre Suchbäume Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 11. VO DAP2 SS 2009 26. Mai 2009 1 Zusätzliche Lernraumbetreuung Morteza Monemizadeh:

Mehr

Algorithmen und Datenstrukturen

Algorithmen 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

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

DBS: Administration und Implementierung Klausur

DBS: Administration und Implementierung Klausur Prof. Dr. Stefan Brass 12.06.2001 Institut für Informatik Universität Gießen Hinweise DBS: Administration und Implementierung Klausur Die Bearbeitungszeit ist 1 Stunde, 30 Minuten (von 8 30 bis 10 00 ).

Mehr

Programmiertechnik II

Programmiertechnik 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,...

Mehr

Physische Datenorganisation

Physische Datenorganisation Herbstsemester 2011 CS241 Datenbanken mit Übungen Kapitel 9: Speicher- und Zugriffssystem H. Schuldt Physische Datenorganisation Im Zentrum des konzeptuellen Datenbankentwurfs steht die Frage, welche Daten

Mehr

Algorithmen und Datenstrukturen Bereichsbäume

Algorithmen und Datenstrukturen Bereichsbäume Algorithmen und Datenstrukturen Bereichsbäume Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Überblick Einführung k-d Baum BSP Baum R Baum Motivation

Mehr

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

Algorithmik 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

Mehr

Kapitel 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 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:

Mehr

Einführung. Warum überhaupt Datenbanken? Wintersemester 15/16 DBIS 16

Einführung. Warum überhaupt Datenbanken? Wintersemester 15/16 DBIS 16 Einführung Warum überhaupt Datenbanken? 16 Wann braucht es Daten(banken)? In sehr vielen Anwendungen stehen Daten im Mittelpunkt der Betrachtung z.b.: Personal-, Waren-, Lagerverwaltung Buchungssysteme,

Mehr

Vorlesungsinhalt. Architektur von Datenbanksystemen. G. Specht: Datenbanksysteme 8-1. Kapitel VIII

Vorlesungsinhalt. Architektur von Datenbanksystemen. G. Specht: Datenbanksysteme 8-1. Kapitel VIII Architektur von Datenbanksystemen Kapitel VIII Vorlesung Datenbanksysteme Univ.-Prof. Dr. Günther Specht Universität Innsbruck Institut für Informatik Datenbanken und Informationssysteme (DBIS) Vorlesungsinhalt

Mehr

Binäre Bäume Darstellung und Traversierung

Binä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.

Mehr

Von der Platte zur Anwendung (Platte, Treiber, Dateisystem)

Von der Platte zur Anwendung (Platte, Treiber, Dateisystem) (Platte, Treiber, Dateisystem) 1. Einleitung 2. Dateisysteme 2.1. Logisches Dateisystem 2.2. Dateiorganisationsmodul 2.3. Basis Dateisystem 3. Festplattentreiber 3.1. Funktionsweise 3.2. Scheduling Verfahren

Mehr

Informatik II Datenorganisation Datenbanken

Informatik II Datenorganisation Datenbanken Informatik II Datenorganisation Datenbanken Studiengang Wirtschaftsingenieurwesen (2. Semester) Prof. Dr. Sabine Kühn Tel. (0351) 462 2490 Fachbereich Informatik/Mathematik skuehn@informatik.htw-dresden.de

Mehr

Datenstrukturen und Algorithmen

Datenstrukturen 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

Mehr

Suchen in Listen und Hashtabellen

Suchen in Listen und Hashtabellen Kapitel 12: Suchen in Listen und Hashtabellen Einführung in die Informatik Wintersemester 2007/08 Prof. Bernhard Jung Übersicht Einleitung Lineare Suche Binäre Suche (in sortierten Listen) Hashverfahren

Mehr

Architekturen im DB-Umfeld

Architekturen im DB-Umfeld Architekturen im DB-Umfeld ANSI/SPARC und DIAM 66 Motivation 67 Ziele von Architekturdefinitionen I Strukturierung des Chaos Komplexe (IT-)Anwendungen und reale Problemstellungen bestehen aus vielen Einzelteilen.

Mehr

Wiederholung ADT Menge Ziel: Verwaltung (Finden, Einfügen, Entfernen) einer Menge von Elementen

Wiederholung ADT Menge Ziel: Verwaltung (Finden, Einfügen, Entfernen) einer Menge von Elementen Was bisher geschah abstrakter Datentyp : Signatur Σ und Axiome Φ z.b. ADT Menge zur Verwaltung (Finden, Einfügen, Entfernen) mehrerer Elemente desselben Typs Spezifikation einer Schnittstelle Konkreter

Mehr

Algorithmen und Datenstrukturen Balancierte Suchbäume

Algorithmen 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

Mehr

Kapitel 6 Anfragebearbeitung

Kapitel 6 Anfragebearbeitung LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS DATABASE Skript zur Vorlesung: Datenbanksysteme II Sommersemester 2014 Kapitel 6 Anfragebearbeitung Vorlesung: PD Dr. Peer Kröger

Mehr

Datenbanken II Speicherung und Verarbeitung großer Objekte (Large Objects [LOBs])

Datenbanken II Speicherung und Verarbeitung großer Objekte (Large Objects [LOBs]) Datenbanken II Speicherung und Verarbeitung großer Objekte (Large Objects [LOBs]) Hochschule für Technik, Wirtschaft und Kultur Leipzig 06.06.2008 Datenbanken II,Speicherung und Verarbeitung großer Objekte

Mehr

Anfragebearbeitung und Indexstrukturen in Datenbanksystemen

Anfragebearbeitung und Indexstrukturen in Datenbanksystemen Ludwig-Maximilians-Universität München Institut für Informatik Lehr- und Forschungseinheit für Datenbanksysteme Skript zur Vorlesung Anfragebearbeitung und Indexstrukturen in Datenbanksystemen im Wintersemester

Mehr

Physische Datenorganisation. Kapitel 6 245 / 520

Physische Datenorganisation. Kapitel 6 245 / 520 Kapitel 6 Physische Datenorganisation 245 / 520 Speicherhierarchie Speicherhierarchie Verschiedene Schichten der Speicherung Je höher in der Hierarchie, desto schneller, teurer und kleiner Unterschiede

Mehr

stattdessen: geräteunabhängiges, abstraktes Format für Speicherung und Transfer von Daten Datei

stattdessen: geräteunabhängiges, abstraktes Format für Speicherung und Transfer von Daten Datei Dateiverwaltung Dateiverwaltung 2002 Prof. Dr. Rainer Manthey Informatik II 1 Dateien weitere zentrale Aufgabe des Betriebssystems: "Verbergen" der Details der Struktur von und der Zugriffe auf Sekundärspeicher-Medien

Mehr

Bäume. 2006 Jiri Spale, Algorithmen und Datenstrukturen - Bäume 1

Bäume. 2006 Jiri Spale, Algorithmen und Datenstrukturen - Bäume 1 Bäume 2006 Jiri Spale, Algorithmen und Datenstrukturen - Bäume 1 Inhalt Grundbegriffe: Baum, Binärbaum Binäre Suchbäume (Definition) Typische Aufgaben Suchaufwand Löschen allgemein, Methode Schlüsseltransfer

Mehr

Tutorium Algorithmen & Datenstrukturen

Tutorium 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

Mehr

Transaktionen und Synchronisation konkurrierender Zugriffe

Transaktionen und Synchronisation konkurrierender Zugriffe Transaktionen und Synchronisation konkurrierender Zugriffe Fragestellungen Aufgaben des Transaktionsmanagers Aktivieren von Transaktionen entsprechend den Anforderungen von Anwendungsprogrammen. Dabei

Mehr

Anfragebearbeitung. Vorlesung: Dr. Matthias Schubert

Anfragebearbeitung. Vorlesung: Dr. Matthias Schubert Kapitel l5 Anfragebearbeitung Vorlesung: Dr. Matthias Schubert Skript 2009 Matthias Schubert Dieses Skript basiert auf dem Skript zur Vorlesung Datenbanksysteme II von Prof. Dr. Christian Böhm gehalten

Mehr

Vorlesung 04.12.2006: Binäre Entscheidungsdiagramme (BDDs) Dr. Carsten Sinz

Vorlesung 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)

Mehr

Name:... Vorname:... Matrikel-Nr.:... Unterschrift:...

Name:... 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

Mehr

Algorithmen & Datenstrukturen 1. Klausur

Algorithmen & Datenstrukturen 1. Klausur Algorithmen & Datenstrukturen 1. Klausur 7. Juli 2010 Name Matrikelnummer Aufgabe mögliche Punkte erreichte Punkte 1 35 2 30 3 30 4 15 5 40 6 30 Gesamt 180 1 Seite 2 von 14 Aufgabe 1) Programm Analyse

Mehr

Speicherstrukturen. Aufgabe 1-1: Fragen zu FAT (File Allocation Table) Aufgabe 1-2: Datensätze variabler Länge. Kind.java:

Speicherstrukturen. Aufgabe 1-1: Fragen zu FAT (File Allocation Table) Aufgabe 1-2: Datensätze variabler Länge. Kind.java: Institut für Datenbanken und Informationssysteme Prof. Dr. M. Reichert, M. Predeschly, J. Kolb Lösung für Übungsblatt 1 Aufgabe 1-1: Fragen zu FAT (File Allocation Table) 1. Im Bootsektor der Festplatte

Mehr

368 4 Algorithmen und Datenstrukturen

368 4 Algorithmen und Datenstrukturen Kap04.fm Seite 368 Dienstag, 7. September 2010 1:51 13 368 4 Algorithmen und Datenstrukturen Java-Klassen Die ist die Klasse Object, ein Pfeil von Klasse A nach Klasse B bedeutet Bextends A, d.h. B ist

Mehr

Recovery- und Buffermanager

Recovery- und Buffermanager Recovery- und Buffermanager Gesamtübersicht der Komponenten beim Zusammenspiel des lokalen Recovery Manager und des Datenbank Buffer Manager: persistenter Log Main memory Lokaler Recovery Manager (LRM)

Mehr

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 VII Indexstrukturen für Data Warehouse

Teil VII Indexstrukturen für Data Warehouse Teil VII Indexstrukturen für Data Warehouse Indexstrukturen für Data Warehouse 1 Klassifikation von Indexstrukturen c Sattler / Saake / Köppen Data-Warehouse-Technologien Letzte Änderung: 19.09.2012 7

Mehr

XAMPP-Systeme. Teil 3: My SQL. PGP II/05 MySQL

XAMPP-Systeme. Teil 3: My SQL. PGP II/05 MySQL XAMPP-Systeme Teil 3: My SQL Daten Eine Wesenseigenschaft von Menschen ist es, Informationen, in welcher Form sie auch immer auftreten, zu ordnen, zu klassifizieren und in strukturierter Form abzulegen.

Mehr

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12

Folge 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

Mehr

Bedeutung der Metadateien. Alle Metadaten werden in Dateien gehalten. NTFS ist ein Journal-File-System

Bedeutung der Metadateien. Alle Metadaten werden in Dateien gehalten. NTFS ist ein Journal-File-System 6 Beispiel: Windows NT (NTFS) 6.3 Metadaten 6 Beispiel: Windows NT (NTFS) 6.3 Metadaten 6.3 Metadaten 6.3 Metadaten (2) Alle Metadaten werden in Dateien gehalten Indexnummer 0 1 2 3 4 5 6 7 8 16 17 MFT

Mehr

Definition Informationssystem

Definition Informationssystem Definition Informationssystem Informationssysteme (IS) sind soziotechnische Systeme, die menschliche und maschinelle Komponenten umfassen. Sie unterstützen die Sammlung, Verarbeitung, Bereitstellung, Kommunikation

Mehr

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

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

Mehr

IO Performance in virtualisierten Umgebungen

IO Performance in virtualisierten Umgebungen IO Performance in virtualisierten Umgebungen Bruno Harsch El. Ing. HTL/FH Managing Partner Tel +41 52 366 39 01 bruno.harsch@idh.ch www.idh.ch IDH GmbH Lauchefeld 31 CH-9548 Matzingen 2 Die Firma IDH wurde

Mehr

File Management. Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at

File Management. Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at File Management Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at Motivation Prozess kann nur eine eingeschränkte Informationsmenge in seinem Adressraum halten Adressraum des Prozesses

Mehr

Die Grundbegriffe Die Daten Die Informationen

Die Grundbegriffe Die Daten Die Informationen Die Grundbegriffe Die Daten sind diejenigen Elemente, die vom Computer verarbeitet werden. Die Informationen sind Wissenselemente, welche durch die Analyse von Daten erhalten werden können. Die Daten haben

Mehr

Architektur und Implementierung von Apache Derby

Architektur und Implementierung von Apache Derby Architektur und Implementierung von Apache Derby Das Zugriffssystem Carsten Kleinmann, Michael Schmidt TH Mittelhessen, MNI, Informatik 16. Januar 2012 Carsten Kleinmann, Michael Schmidt Architektur und

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen 1 Algorithmen und Datenstrukturen Wintersemester 2015/16 12. Vorlesung Hashing Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I 2 Übungen Begründen Sie grundsätzlich alle Behauptungen außer die Aufgabe

Mehr

Lösungsskizzen zur Abschlussklausur Betriebssysteme

Lösungsskizzen zur Abschlussklausur Betriebssysteme Lösungsskizzen zur Abschlussklausur Betriebssysteme 24. Januar 2013 Name: Vorname: Matrikelnummer: Studiengang: Hinweise: Tragen Sie zuerst auf allen Blättern (einschlieÿlich des Deckblattes) Ihren Namen,

Mehr

Was ist ein Dateisystem? Wozu dient es? Lokale Dateisysteme. Speichergrößen. Inhalt der Präsentation

Was ist ein Dateisystem? Wozu dient es? Lokale Dateisysteme. Speichergrößen. Inhalt der Präsentation Was ist ein Dateisystem? Wozu dient es? Lokale Dateisysteme Christine Arndt 9arndt@informatik.uni-hamburg.de Universität Hamburg - Studentin der Wirtschaftsinformatik 11. März 2011 Schicht zwischen Betriebssystem

Mehr

Definition. Gnutella. Gnutella. Kriterien für P2P-Netzwerke. Gnutella = +

Definition. Gnutella. Gnutella. Kriterien für P2P-Netzwerke. Gnutella = + Definition Gnutella Ein -to--netzwerk ist ein Kommunikationsnetzwerk zwischen Rechnern, in dem jeder Teilnehmer sowohl Client als auch Server- Aufgaben durchführt. Beobachtung: Das Internet ist (eigentlich

Mehr

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

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

Mehr

Relationale Datenbanken Datenbankgrundlagen

Relationale Datenbanken Datenbankgrundlagen Datenbanksystem Ein Datenbanksystem (DBS) 1 ist ein System zur elektronischen Datenverwaltung. Die wesentliche Aufgabe eines DBS ist es, große Datenmengen effizient, widerspruchsfrei und dauerhaft zu speichern

Mehr

6. Indexstrukturen. Zugriffsarten

6. Indexstrukturen. Zugriffsarten Zugriffsarten und Suchanfragen 6. Indexstrukturen Indexstrukturen für Primärschlüsselzugriff Mehrwegbäume: B-Baum, B*-Baum, Clustered / Non-clustered Index Reduzierung der Baumhöhe (Schlüsselkomprimierung,

Mehr

Kapitel 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 Kapitel 7 Physische Datenorganisation Speicherhierarchie Hintergrundspeicher / RAID Speicherstrukturen B-Bäume Hashing R-Bäume Überblick: Speicherhierarchie Register (L1/L2/L3) Cache Hauptspeicher Plattenspeicher

Mehr

Inhaltsverzeichnis. BüroWARE Systemanforderungen ab Version 5.31. Generelle Anforderungen SoftENGINE BüroWARE SQL / Pervasive. 2

Inhaltsverzeichnis. BüroWARE Systemanforderungen ab Version 5.31. Generelle Anforderungen SoftENGINE BüroWARE SQL / Pervasive. 2 Inhaltsverzeichnis Generelle Anforderungen SoftENGINE BüroWARE SQL / Pervasive. 2 1. Terminal-Server-Betrieb (SQL)... 3 1.1. Server 3 1.1.1. Terminalserver... 3 1.1.2. Datenbankserver (bei einer Datenbankgröße

Mehr

3.2 Binäre Suche. Usr/local/www/ifi/fk/menschen/schmid/folien/infovk.ppt 1

3.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)

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

Gliederung Datenbanksysteme

Gliederung Datenbanksysteme Gliederung Datenbanksysteme 5. Datenbanksprachen 1. Datendefinitionsbefehle 2. Datenmanipulationsbefehle 3. Grundlagen zu SQL 6. Metadatenverwaltung 7. DB-Architekturen 1. 3-Schema-Modell 2. Verteilte

Mehr

3 Indizes. 3.1 Indexarchitektur von SQL Server. SQL Server 2008: Datenbankentwicklung

3 Indizes. 3.1 Indexarchitektur von SQL Server. SQL Server 2008: Datenbankentwicklung 3 Indizes 3.1 Indexarchitektur von SQL Server Die folgende Abbildung zeigt die Organisationsstruktur einer Tabelle. Eine Tabelle befindet sich in einer oder mehreren Partitionen, und jede Partition enthält

Mehr

2. Braunschweiger Linux-Tage. Vortrag über RAID. von. Thomas King. http://www.t-king.de/linux/raid1.html. 2. Braunschweiger Linux-Tage Seite 1/16

2. Braunschweiger Linux-Tage. Vortrag über RAID. von. Thomas King. http://www.t-king.de/linux/raid1.html. 2. Braunschweiger Linux-Tage Seite 1/16 2. Braunschweiger Linux-Tage Vortrag über RAID von Thomas King http://www.t-king.de/linux/raid1.html 2. Braunschweiger Linux-Tage Seite 1/16 Übersicht: 1. Was ist RAID? 1.1. Wo wurde RAID entwickelt? 1.2.

Mehr

Gliederung und Einordnung

Gliederung und Einordnung Gliederung und Einordnung 1. Objektorientierte Programmierung mit Object Pascal (5. Studienbrief, Kapitel 5) 9.4. + 16.4. 2. Software-Bausteine am Beispiel der Delphi-Komponenten (5. Studienbrief, Kapitel

Mehr

Kapiteltests zum Leitprogramm Binäre Suchbäume

Kapiteltests 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

Mehr

Balancierte Bäume. Martin Wirsing. in Zusammenarbeit mit Moritz Hammer und Axel Rauschmayer. http://www.pst.ifi.lmu.de/lehre/ss06/infoii/ SS 06

Balancierte Bäume. Martin Wirsing. in Zusammenarbeit mit Moritz Hammer und Axel Rauschmayer. http://www.pst.ifi.lmu.de/lehre/ss06/infoii/ SS 06 Balancierte Bäume Martin Wirsing in Zusammenarbeit mit Moritz Hammer und Axel Rauschmayer http://www.pst.ifi.lmu.de/lehre/ss06/infoii/ SS 06 2 Ziele AVL-Bäume als einen wichtigen Vertreter balancierter

Mehr

Einführung in die Informatik Hashtables

Einführung in die Informatik Hashtables Einührung in die Inormatik Hashtables Hashtabellen Wolram Burgard Cyrill Stachniss 12.1 Einleitung Wir haben bisher einige der typischen Datenstrukturen zum Speichern von Inormationen kennen gelernt Arrays

Mehr

OM Datenbanken. OM Datenbanken. 8.1 Was ist ein Datenbanksystem? Motivation

OM Datenbanken. OM Datenbanken. 8.1 Was ist ein Datenbanksystem? Motivation 1 Inhalt: Relationale Datenbanken 8.1 Was ist ein Datenbanksystem? 8.2 Relationale Datenbanksysteme 8.3 Abbildung des objektorientierten Modells auf Tabellen 2 8.1 Was ist ein Datenbanksystem? Motivation

Mehr

RAID Redundant Array of Independent [Inexpensive] Disks

RAID Redundant Array of Independent [Inexpensive] Disks RAID Redundant Array of Independent [Inexpensive] Disks Stefan Wexel Proseminar Algorithms and Data Structures im WS 2011/2012 Rheinisch-Westfälische Technische Hochschule Aachen Lehrstuhl für Informatik

Mehr