2. Architektur von Datenbanksystemen

Ähnliche Dokumente
Teil II Architektur von DBMS

Aufbau Datenbanksysteme

Datenbanken: Architektur & Komponenten 3-Ebenen-Architektur

Vorlesung Datenbankmanagementsysteme

Abschluss Einblick und Ausblick

OPERATIONEN AUF EINER DATENBANK

Schema-Architektur II. Schema-Architektur. 2. Architekturen von DBS. Zusammenhang zwischen. Konzeptuellen Schema (Ergebnis der Datendefinition)

2. Architekturen von DBS

Physischer Datenbankentwurf: Datenspeicherung

Kapitel 8: Physischer Datenbankentwurf

Architektur von Datenbanksystemen

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

Datenbank- Implementierung

Physische Datenorganisation

KAPITEL 2 VERWALTUNG DES HINTERGRUNDSPEICHERS

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

Dateiorganisation und Zugriffsstrukturen

Grundlagen von Datenbanken

Benutzer. Dateiverwaltung

Gleichheitsanfrage vs. Bereichsanfrage

KAPITEL 4 BASISALGORITHMEN FÜR DATENBANKOPERATIONEN

Die Grundbegriffe Die Daten Die Informationen

SQL. SQL: Structured Query Language. Früherer Name: SEQUEL. Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99

Cluster-Bildung. VL Datenbanken II 4 107

Architektur und Implementierung von Apache Derby

Einführung in Datenbanken

5. Basisalgorithmen für DB-Operationen

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

Relationale Datenbanken Datenbankgrundlagen

3. Verwaltung des Hintergrundspeichers

Betriebssysteme Kap A: Grundlagen

Datenbanksysteme Kapitel 3: Datenorganisation

Anfragebearbeitung. Anfrage. Übersetzer. Ausführungsplan. Laufzeitsystem. Ergebnis

Grundlagen der Rechnerarchitektur

Kapitel 6 Anfragebearbeitung

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann

Gunter Saake Kai-Uwe Sattler Andreas Heuer. 3. Auflage. Datenbanken. Implementierungstechniken

Fakultät. Verfasser: Waldemar Braun. Betreuer : Magdeburg Germany

Architekturen im DB-Umfeld

Indexstrukturen in SQL

Kommunikation und Datenhaltung

Recovery- und Buffermanager

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13

Einführung in die technische Informatik

Technische Informatik II Wintersemester 2002/03 Sommersemester Heiko Holtkamp

Vorlesung ) Einführung

Datenbanken. Dateien und Datenbanken:

4.3 Hintergrundspeicher

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

Echtzeit-Multitasking

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

Informatik II Datenorganisation Datenbanken

Datenbanken Unit 4: Das Relationale Modell & Datenintegrität

Kapitel 10: Relationale Anfragebearbeitung

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

Tutorium Rechnerorganisation

Virtueller Speicher. SS 2012 Grundlagen der Rechnerarchitektur Speicher 44

Linker: Adreßräume verknüpfen. Informationen über einen Prozeß. Prozeß-Erzeugung: Verwandtschaft

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

In-Memory Technologie Hekaton

Paging. Einfaches Paging. Paging mit virtuellem Speicher

Die Sicht eines Sysadmins auf DB systeme

Abschnitt 4: Grundlagen der Datenbanktechnologie

Daten, Datenbanken, Datenbankmanagmentsysteme

Grundlagen von Datenbanken SS Einführung in das Thema

Matthias Schubert. Datenbanken. Theorie, Entwurf und Programmierung relationaler Datenbanken. 2., überarbeitete Auflage. Teubner

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo.

Seminar Datenbanken Martin Gerstmann

Anfragebearbeitung 2. Vorlesung Datenbanksysteme vom

Oracle 10g und SQL Server 2005 ein Vergleich. Thomas Wächtler 39221

Kapitel 7 Datenbank-Tuning

Vorlesung Informatik II

Systeme 1. Kapitel 3 Dateisysteme WS 2009/10 1

wichtigstes Betriebsmittel - neben dem Prozessor: Speicher

Speicherstrukturen und Zugriffssystem

IBM Informix Tuning und Monitoring

Abstraktionsschichten. Das Relationale Datenmodell

Betriebssysteme K_Kap11B: Files, Filesysteme Datenstrukturen

Verschiedene Arten des Datenbankeinsatzes

1. Einführung: 1.3 Aufbau und Architektur von DBMS

Wie groß ist die Page Table?

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

7. Übung - Datenbanken

Access Grundkurs. M. Eng. Robert Maaßen

Logische Optimierung. Im Allgemeinen wird keine optimale Lösung erzielt, sondern nur eine Verbesserung. Logische Optimierung

Oracle Automatic Storage Management (ASM) Best Practices

Anfragebearbeitung. Vorlesung: Dr. Matthias Schubert

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

Konzepte von Betriebssystemkomponenten Disk-Caches und Dateizugriff

Star Join & Kostenbasierte Optimierung. Architektur von Datenbanksystemen II

Architektur von Datenbanksystemen Vorlesung Datenbanksysteme Michael Tschuggnall, PhD Dr. Eva Zangerle

Transaktionen und Synchronisation konkurrierender Zugriffe

SQL structured query language

1. Einführung. Architektur von Datenbanksystemen I

Gliederung Datenbanksysteme

Einführung in Dateisysteme

Curriculum des Wahlfaches Informatik für das Gymnasium Dialog

In die Zeilen würden die Daten einer Adresse geschrieben werden. Das Ganze könnte in etwa folgendermaßen aussehen:

Microsoft Access 2010 SQL nutzen

2. Datenbank-Programmierung

Transkript:

2. Architektur von Datenbanksystemen Betrachtete Fragestellungen Schichtenmodell eines relationalen DBMS Hardware und Betriebssystem Pufferverwaltung Speichersystem Zugriffssystem Datensystem VL Datenbank-Implementierungstechniken 2 1 Betrachtete Fragestellungen Externe Ebene Konzeptuelle Ebene Interne Ebene Anfragen Updates Optimierer Auswertung Plattenzugriff P1... DB-Operationen Einbettung Data Dictionary Pn Masken Sichtdefinition Dateiorganisation Datendefinition VL Datenbank-Implementierungstechniken 2 2 Fünf-Schichten-Architektur basierend auf Idee von Senko 1973 Weiterentwicklung von Härder 1987 Umsetzung im Rahmen des IBM-Prototyps System R genauere Beschreibung der Transformationskomponenten schrittweise Transformation von Anfragen/Änderungen bis hin zu Zugriffen auf Speichermedien Definition der Schnittstellen zwischen Komponenten VL Datenbank-Implementierungstechniken 2 3

5-Schichten-Architektur: Schnittstellen I mengenorientierte Schnittstelle deklarative DML auf Tabellen, Sichten, Zeilen satzorientierte Schnittstelle Sätze, logische Dateien, logische Zugriffspfade navigierender Zugriff interne Satzschnittstelle Sätze, Zugriffspfade Manipulation von Sätzen und Zugriffspfaden VL Datenbank-Implementierungstechniken 2 4 5-Schichten-Architektur: Schnittstellen II Pufferschnittstelle Seiten, Seitenadressen Freigeben und Bereitstellen Datei- oder Seitenschnittstelle Hole Seite, Schreibe Seite Geräteschnittstelle Spuren, Zylinder Armbewegungen VL Datenbank-Implementierungstechniken 2 5 5-Schichten-Architektur: Funktionen Mengenorientierte Schnittstelle (MOS) Datensystem Satzorientierte Schnittstelle (SOS) Interne Satz schnittstelle (ISS) Systempuffer schnittstelle (SPS) Datei schnittstelle (DS) Geräte schnittstelle (GS) Zugriffssystem Speichersystem Pufferverwaltung Betriebssystem Übersetzung, Zugriffspfadauswahl, Zugriffskontrolle, Integritätskontrolle Data Dictionary, Currency Pointer, Sortierung, Transaktionsverwaltung Record Manager, Zugriffspfadverwaltung Sperrverwaltung, Log/Recovery Systempufferverwaltung mit Seitenwechselstrategie Externspeicherverwaltung VL Datenbank-Implementierungstechniken 2 6

5-Schichten-Architektur: Objekte Mengenorientierte Schnittstelle (MOS) Datensystem Satzorientierte Schnittstelle (SOS) Interne Satz schnittstelle (ISS) Systempuffer schnittstelle (SPS) Datei schnittstelle (DS) Geräte schnittstelle (GS) Zugriffssystem Speichersystem Pufferverwaltung Betriebssystem Relationen Sichten externe Sätze, Scans, Index Strukturen interne Sätze, Bäume, Hashtabellen Segmente Seiten Dateien Blöcke Zylinder Spuren SQL : select... from... QBE, QUEL,... FIND NEXT satz STORE satz Speichere internen Satz s INSERT in B Baum Bereitstellen Seite j Freigeben Seite j Lies Block k Schreibe Block k Treiber VL Datenbank-Implementierungstechniken 2 7 Erläuterungen I mengenorientierte Schnittstelle MOS: deklarative Datenmanipulationssprache auf Tabellen und Sichten (etwa SQL) durch Datensystem auf satzorientierte Schnittstelle SOS umgesetzt: navigierender Zugriff auf interner Darstellung der Relationen manipulierte Objekte: typisierte Datensätze und interne Relationen sowie logische Zugriffspfade (Indexe) Aufgaben des Datensystems: Übersetzung und Optimierung von SQL-Anfragen VL Datenbank-Implementierungstechniken 2 8 Erläuterungen II durch Zugriffssystem auf interne Satzschnittstelle ISS umgesetzt: interne Tupel einheitlich verwalten, ohne Typisierung Speicherstrukturen der Zugriffspfade (konkrete Operationen auf B -Bäumen und Hash-Tabellen), Mehrbenutzerbetrieb mit Transaktionen VL Datenbank-Implementierungstechniken 2 9

Erläuterungen III durch Speichersystem Datenstrukturen und Operationen der ISS auf interne Seiten eines virtuellen linearen Adreßraums umsetzen Manipulation des Adreßraums durch Operationen der Systempufferschnittstelle SPS Typische Objekte: interne Seiten und Seitenadressen Typische Operationen: Freigeben und Bereitstellen von Seiten, Seitenwechselstrategien, Sperrverwaltung, Schreiben des Log-Buchs für Recovery durch Pufferverwaltung interne Seiten auf Blöcke der Dateischnittstelle DS abbilden Umsetzung der DS-Operationen auf Geräteschnittstelle erfolgt durch BS VL Datenbank-Implementierungstechniken 2 10 Hardware und Betriebssystem Betriebssystemebene: Grundlage für datenbankbezogene Ebenen benötigt: Treiberprogramme zum Zugriff auf die Daten von Medien; Caching-Mechanismen Prozessoren und Rechnerarchitekturen: klassische Industrie-Standards (aber: Datenbankmaschinen) Speichermedien: spezielle Anforderungen Speicherhierarchie VL Datenbank-Implementierungstechniken 2 11 Speicherhierarchie Primär-, Sekundär- und Tertiärspeicher Cache Primärspeicher Hauptspeicher Plattenspeicher Sekundärspeicher Optische Platte Tertiärspeicher Magnetbänder VL Datenbank-Implementierungstechniken 2 12

Eigenschaften von Speichermedien Primär Sekundär Tertiär Geschwindigkeit schnell langsam sehr langsam Preis teuer preiswert billig Stabilität flüchtig stabil stabil Größe klein groß sehr groß Granulate fein grob grob VL Datenbank-Implementierungstechniken 2 13 Primärspeicher Primärspeicher: Cache und Hauptspeicher sehr schnell, Zugriff auf Daten fein granular: jedes Byte adressierbar 32-Bit-Adressierung: nur 2 32 Bytes direkt adressierbar, somit Primärspeicher von der Größe stark eingeschränkt hohe Anschaffungskosten pro Byte flüchtiges Speichermedium (volatile, non-reliable) VL Datenbank-Implementierungstechniken 2 14 Sekundärspeicher Sekundärspeicher oder Online-Speicher meist Plattenspeicher, nicht-flüchtig (stable, non-volatile, reliable) weitaus größer, mehrere Gigabyte Speicherkapazität pro Medium um Größenordnungen preiswerter leider Daten nicht direkt verarbeitbar Granularität des Zugriffs gröber: Blöcke, oft 512 Bytes Zugriffslücke: Faktor 10 5 langsamerer Zugriff erforderlich: intelligente Pufferverwaltung, gute Anfrageoptimierung VL Datenbank-Implementierungstechniken 2 15

Tertiärspeicher Zur langfristigen Datensicherung (Archivierung) oder kurzfristigen Protokollierung (Journale) von Datenbeständen und Datenbankveränderungen Sekundärspeicher dazu zu teuer und zu klein mehrere hundert Gigabytes oder sogar Terabytes von Daten: Tertiärspeicher, Offline-Speicher, Archivspeicher üblich: optische Platten, Magnetbänder Offline-Speicher meist Wechselmedium Nachteil: Zugriffslücke extrem groß: Zugriff auf das sequentielle Medium, Holen eines Bandes, Einlegen dieses Bandes (auch bei Automatisierung: Bandroboter, Jukeboxes) VL Datenbank-Implementierungstechniken 2 16 Angebotene Dienste Treiberprogramme zum Holen und Schreiben von Blöcken Zuordnung von Blöcken zu Seiten Ergänzen der Block-Informationen um Kontrollsummen, um Schreib- oder Lesefehler zu ermitteln Caching-Mechanismen, die bereits gelesene Daten im Hauptspeicher halten und verwalten Operationen des Dateisystems von Betriebssystemen (oft: Datenbanksysteme nutzen nur eine einzige Datei) VL Datenbank-Implementierungstechniken 2 17 Pufferverwaltung benötigte Blöcke des Sekundärspeichers im Hauptspeicher verwalten Speicherplatz für begrenzte Menge von Seiten im Hauptspeicher: Puffer Aufgabe der Pufferverwaltung: Verdrängung nicht mehr im Puffer benötigter Seiten (Seitenwechselstrategien) Unterschied: unter Verantwortung des Datenbanksystems verwalteter Puffer Cache auf der Betriebssystemebene VL Datenbank-Implementierungstechniken 2 18

Puffer je nach Hauptspeichergröße beträchtlicher Umfang (in üblichen Fällen bis zu 12 MB) trotzdem nur ganz geringer Bruchteil der Datenbank (weniger als 1%) alle Lese- und Schreib-Vorgänge von oder auf Seiten im Puffer dadurch Puffer oft Flaschenhals verfügbarer Hauptspeicher sehr groß und Datenbank relativ klein gesamte Datenbank (etwa beim Start des Systems) in den Puffer: Hauptspeicher-Datenbanken (engl. main memory databases) VL Datenbank-Implementierungstechniken 2 19 Pufferverwaltung: Aufgaben Zuteilung von Speicherplatz für Seiten Suchen und Ersetzen von Seiten im Puffer Optimierung der Lastverteilung zwischen parallelen Transaktionen VL Datenbank-Implementierungstechniken 2 20 Ablauf eines Zugriffs auf eine Seite I höhere Schicht (Speichersystem) fordert bei Pufferverwaltung Seite an (logische Seitenreferenz) angeforderte Seite im Puffer: wird dem Speichersystem zur Verfügung gestellt angeforderte Seite nicht im Puffer (page fault): physische Seitenreferenz durch Pufferverwaltung an Betriebssystemebene; i.a. bei gefülltem Puffer eine Seite aus dem Puffer verdrängen; falls die zu verdrängende Seite geändert wurde, vorher auf den Sekundärspeicher schreiben Aufwand pro E/A-Operation: 2500 Instruktionen in CPU; 15 bis 30 ms für Zugriff auf Sekundärspeicher VL Datenbank-Implementierungstechniken 2 21

Ablauf eines Zugriffs auf eine Seite II Speichersystem logische Seitenreferenz Hauptspeicher Pufferverwaltung... verdrängen physische Seitenreferenz laden Betriebssystem......... Sekundärspeicher VL Datenbank-Implementierungstechniken 2 22 Speichersystem Puffer: Seiten (Byte-Container) Speichersystem: interne Datensätze Zugriffssystem: logische Datensätze, interne Tupel Struktur Tupel internes Tupel oder logischer Datensatz interner Datensatz Systemkomponente Datensystem Zugriffssystem Speichersystem Anwendungsobjekte im Speichersystem als interne Sätze Hilfsdaten wie Indexeinträge als interne Sätze VL Datenbank-Implementierungstechniken 2 23 Adressierung von Sätzen Problem bei Adressierung: Änderungen im Datenbestand effiziente Änderungen von Adressen Bsp.: interne Sätze adressiert mit Offset x relativ zum Seitenanfang (interner Satz startet auf Byte x) Änderungen auf dieser Seite haben Auswirkungen auf verwendete Tupeladresse Besser: TID-Konzept (Tupel-Identifier) Adresse: Seitennummer und Offset in einer Liste von Tupelzeigern am Anfang der Seite Eintrag im Zeigerfeld bestimmt Offset des Satzes ändert sich Position des internen Satzes auf der Seite nur Eintrag lokal im Zeigerfeld verändern; alle außen verwendeten Adressen bleiben stabil VL Datenbank-Implementierungstechniken 2 24

Satztypen Nicht-Spannsätze (unspanned records) auf maximal eine Seite; Satz zu groß für eine in Bearbeitung befindliche Seite von Freispeicherverwaltung eine neue Seite angefordern Spannsätze (spanned records) können mehrere Seiten überspannen; Satz zu groß Beginn des Satzes auf dieser Seite, Überlauf auf neuer Seite speichern Sätze fester Länge: für bestimmten Tupeltyp feste Anzahl von Bytes (bei string alle Attributwerte mit gleicher Anzahl Bytes speichern Sätze variabler Länge: nur die wirklich benötigte Anzahl von Bytes speichern (Anzahl der Bytes pro Datensatz variabel) VL Datenbank-Implementierungstechniken 2 25 Zugriffssystem Zugriffssystem abstrahiert von interner Darstellung der Datensätze auf Seiten logische Datensätze, interne Tupel interne Tupel können Elemente einer Dateidarstellung der konzeptuellen Relation oder Elemente eines Zugriffspfads auf die konzeptuellen Relationen sein interne Tupel bestehen aus Feldern (entsprechen Attributen bei konzeptuellen Tupeln) Operationen im Zugriffssystem sind typischerweise Scans (interne Cursor auf Dateien oder Zugriffspfaden) VL Datenbank-Implementierungstechniken 2 26 Indexdateien Zugriffspfad auf eine Datei selbst wieder Datei: Indexdatei Index enthält neben Attributwerten der konzeptuellen Relation, über die ein schneller Zugriff auf die Relation verwirklicht werden soll, eine Liste von Tupeladressen zugeordnete Adressen verweisen auf Tupel, die den indizierten Attributwert beinhalten Index über Primärschlüssel Liste der Tupeladressen einelementig: Primärindex Index über beliebige andere Attributmenge: Sekundärschlüssel (obwohl Attributwerte gerade keine Schlüsseleigenschaft besitzen müssen) Index über Sekundärschlüssel: Sekundärindex VL Datenbank-Implementierungstechniken 2 27

Dateioperationen Einfügen eines Datensatzes (insert) Löschen eines Datensatzes (remove oder delete) Modifizieren eines Datensatzes (modify) Suchen und Finden eines Satzes (lookup oder fetch) VL Datenbank-Implementierungstechniken 2 28 Dateioperationen: Arten des lookup Gegeben Attributwert für bestimmtes Feld, gesucht interne Tupel, die diesen Attributwert besitzen: single-match query. Gegeben Wertekombination für bestimmte Feldkombination, gesucht alle Tupel, die diese Attributwerte besitzen: Werte für alle Felder der (Index-)Datei: exact-match query (single match query ist einfacher Spezialfall) Werte nur für einige Felder der (Index-)Datei: partial-match query Gegeben Wertintervall für ein oder mehrere Attribute, gesucht alle internen Tupel, die Attributwerte in diesem Intervall besitzen: range query VL Datenbank-Implementierungstechniken 2 29 Zugriff auf Datensätze Datensätze in Abhängigkeit vom Primärschlüsselwert in einer Datei geordnet oder gehasht (gestreut) gespeichert schneller Zugriff über Primärschlüssel schneller Zugriff über andere Attributmengen (Sekundärschlüssel) standardmäßig über Indexdateien realisiert VL Datenbank-Implementierungstechniken 2 30

Dateiorganisationen und Zugriffspfade I Primärschlüssel / Sekundärschlüssel: Primärschlüssel-Zugriff (nur eine Tupeladresse pro Attributwert) Sekundärschlüssel-Zugriff (mehrere Tupeladressen pro Attributwert möglich) oft: Primärschlüssel bestimmt Dateiorganisationsform, Sekundärschlüssel bestimmt Zugriffspfade (Indexdateien) eindimensional / mehrdimensional: Unterstützung des Zugriffs für feste Feldkombination (exact-match) Unterstützung des Zugriffs für variable Feldkombination (partial-match) VL Datenbank-Implementierungstechniken 2 31 Dateiorganisationen und Zugriffspfade II statisch / dynamisch: statische Dateiorganisationsform oder Zugriffspfad nur optimal bei einer bestimmten Anzahl von zu verwaltenden Datensätzen dynamische Dateiorganisationsformen oder Zugriffspfade unabhängig von der Anzahl der Datensätze (automatische, effiziente Anpassung an wachsende oder schrumpfende Datenmengen) VL Datenbank-Implementierungstechniken 2 32 Beispiele B-Baum dynamischer, eindimensionaler Zugriffspfad in den meisten Datenbanksystemen über mehrere Attribute einer Datei definierbar aber nur ein exact-match auf dieser Feldkombination möglich klassisches Hash-Verfahren statische, eindimensionale Dateiorganisationsform bei wachsenden Tupelmengen immer mehr Kollisionen zu erwarten VL Datenbank-Implementierungstechniken 2 33

Datensystem I Optimierung: mengenorientierte Anfrage (SQL) muß durch System optimiert werden Umformung des Anfrageausdrucks in einen effizienter zu bearbeitenden Ausdruck (Query Rewriting, Konzeptuelle oder Logische Optimierung) Auswahl des effizientesten Anfrageausdrucks nach Kostenschätzungen (Kostenbasierte Optimierung) Interne Optimierung: Auswahl der zur Anfragebearbeitung sinnvollen Zugriffspfade und Auswertungsalgorithmen für jeden relationenalgebraischen Operator VL Datenbank-Implementierungstechniken 2 34 Datensystem II Zugriffspfadauswahl: bestimmt die internen Strukturen, die bei Abarbeitung einer Anfrage benutzt werden sollen Auswertung: Wahl der Auswertungsalgorithmen kann Antwortzeit auf eine Anfrage entscheidend beeinflussen; im Zusammenspiel mit der Zugriffspfadauswahl muß Datensystem die Auswertungsalgorithmen auswählen VL Datenbank-Implementierungstechniken 2 35