Datenbanksystementwicklung – Systemarchitektur & Prozessmodell – Knut Stolze

Slides:



Advertisements
Ähnliche Präsentationen
der Universität Oldenburg
Advertisements

Imperative Programmierung
der Universität Oldenburg
Strukturen in C Spelz, Sievers, Bethke.
Objektorientierte Programmierung
Wiederholung Betriebssystem bietet eine Abstraktion der Hardware an:
Funktionen und Module Einführung anhand des Beispiels Wörter sortieren Timm Grams Fachhochschule Fulda Fachbereich Elektrotechnik und Informationstechnik.
System J – Compiler – Praktikum: Datenbanksystementwicklung Knut Stolze
Praktikum Datenbanksystementwicklung – System J – Knut Stolze
C Tutorium – B*-Baum Index Manager –
C Tutorium – Fehlerbehandlung – Knut Stolze. 2 Grundsatz Also ist auch nach jedem Funktionsaufruf auf Fehler zu prüfen!! Jeder(!) Funktionsaufruf kann.
C Tutorium – Semaphoren –
Kapitel 4 Datenstrukturen
V04: Definition und Implementierung der Formen. Spieler kann aus Gesamtzahl von 35 Steinen seine Spielsteine wählen Einheitliche Datenstruktur wird benötigt,
Enno Rehling und Roger Butenuth, Uni-GH Paderborn: Arminius: Software für Linux-basierte SCI-Cluster Arminius: Software für Linux-basierte SCI-Cluster.
SAP R/3 - Speichermanagement
Datenbanken I (0,*) Produkt 3 Karczewski Datenbanken I.
Parser generieren Yet Another Compiler – Compiler YACC.
10 Streams JavaHS Merseburg WS 05/06 E/A - Ströme (Streams) in Java.
Java: Dynamische Datentypen
Indirekte Adressierung
Motivation Richard Göbel.
Java: Referenzen und Zeichenketten
Konstruktoren.
1 Named Pipes alias FIFO Haben einen Eintrag im Dateisystem und sind somit durch Zugriffsrechte identifizierbar Ermöglichen die Kommunikation zwischen.
Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme
Vorlesung: Betriebssysteme © 2002 Prof. Dr. G. Hellberg 1 Studiengang Informatik FHDW Vorlesung Betriebssysteme 1. Quartal 2002.
DbjFileManager Paul Fruntzek Michael Stanek. Überblick Unterste Ebene im Schichtenmodell Schnittstelle zum BS (Low-Level) Aufgabenbereich: Persistente.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
DVG Klassen und Objekte
Kapitel 14: Recovery Oliver Vornberger
Synchronisation paralleler Transaktionen AIFB SS Synchronisationsverfahren 4.4 Synchronisationsverfahren (1/18) Sperrmodi und Sperrobjekte Sperrprotokoll.
RelationentheorieObjektorientierte Datenbanken AIFB SS Das ODMG-Objektmodell vs. relationales Modell (1/9) ODMG-Objektmodell Literal_type Atomic_literal.
ausdrucksschwächeres
2.2 Definition eines Datenbankschemas (SQL-DDL)
FH-Hof 1 XML-Parser Richard Göbel. FH-Hof 2 XML-Parser- DOM Object Tree Parser Objekt der Klasse 'DocumentBuilderFactory' mit 'newInstance()' erzeugen.
Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme
ODBC (Open Database Connectivity)
Einführung in die Programmierung
EXPLAIN PLAN - Erste Schritte April 2004EXPLAIN PLAN2 Was fehlt noch? Konkretes Beispiel für einen Plan.
Aichinger Christian, Strasser Jürgen. Inhalt JSF EJB Praxis - Integration.
Tools und Verfahren Steffen Krause Technologieberater Microsoft Deutschland GmbH
1.2 Trennung von Struktur und Inhalt
WS 2011/12 Datenbanksysteme Mi 15:15 – 16:45 R Vorlesung #9 Physische Datenorganisation.
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #8 Anfragebearbeitung.
Chipkarten Projekt Die Multi-Abo-Karte WS 2002 / 2003.
WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #9 Anfragebearbeitung.
..:: MULTI – ABO – KARTE ::.. Projektstudium Chipkarten SS 2003 Vortragende: Katrin Kampfmann, Alexander Lamprati (PM)
Vorlesung #10 Physische Datenorganisation
Top Features kurz vorgestellt: Workplace Join
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #9 Anfragebearbeitung.
Manfred Helber Microsoft Senior PreSales Consultant.
Geschachtelte Verbindung (1) Geschachtelte Schleife, in der jeder Datensatz in Datei R (hier: BUCHUNG) mit jedem Datensatz in S (hier: FLUG) verglichen.
Systemsoftware und Betriebssysteme
ADAT©2004 Dipl. - Ing. Walter SabinSeite: 19 Version 1.0a Programme - Zusatzsoftware Oracle: –Forms –Reports –Designer –Jdeveloper –APEX (Application Express)
Studiengang Informatik FHDW
Datenbanktechnik 1 Datenbanktechnik II Kapitel 5.0 bis 6.0.
Autor: Timo Pagel Nutzung: Diese Lernkarten sind für die Nutzung mit OpenCards gedacht Siehe dazu
Referenzarchitektur Externes Datenmodell Anfragebearbeitung Internes Datenmodell Satz- u. Satzmengenverwaltung Physische Datenstrukturen Zugriffsschicht.
Analyse und Umsetzung einer Filter-basierten Paketverarbeitungsmaschine für IP-Netzwerke Lehrstuhl für Systemarchitektur und Betriebssysteme Forschungs-
Datenbanksystementwicklung – Einführung BitKeeper – Knut Stolze
Record Manager Andreas Bräu, Martin Salzbrenner. Record Manager - Übersicht ● Datenstrukturen – Freispeicherverzeichnis – Datenseiten ● Record Manager.
SystemJ AbschlußpräsentationDBJCatalogManager Dennis Heimann + Marcus Hetterle Friedrich Schiller Universität Jena 2005.
C Tutorium – Shared Memory – Knut Stolze. 2 Shared Memory Ein Speicherbereich, auf den mehrere Prozesse Zugriff haben – Also kein privater Speicher –
C Tutorium – Memory Management – Knut Stolze. 2 Agenda Einführung in die Speicherverwaltung Stack vs. Heap Malloc Free Sizeof Tipps/Hinweise.
Strukturen (Eigenschaften) Strukturen dienen zur Zusammenfassung mehrerer Komponenten verschiedener Typen zu einer Einheit, die dann mit gemeinsamen Namen.
Dr. Wolfram Amme, Automatische Speicherverwaltung, Informatik II, FSU Jena, SS Automatische Speicherverwaltung.
Präsentation von Darleen und Michèle
 Präsentation transkript:

Datenbanksystementwicklung – Systemarchitektur & Prozessmodell – Knut Stolze

2 Systemarchitektur

3 Anfrageübersetzer (Compiler) Optimizer Katalog Manager (Catalog Manager) Laufzeitumgebung (RunTime) Record Manager Zugriffspfadverwaltung (Index Manager) Sperrverwaltung (Lock Manager) Pufferverwaltung (Buffer Manager) Speicherverwaltung (Memory Manager) File Manager Betriebssystemabstraktion (OSS) Fehlerbehandlung (Error)

4 Compiler Klasse: DbjCompiler Datenstrukturen – Eingabe: String mit SQL Anweisung, DbjTable, DbjIndex – Ausgabe: DbjAccessPlan Verwendet – Katalog Manager zur Validierung des Plans

5 Optimizer Klasse: DbjOptimizer Datenstruktur: DbjAccessPlan, DbjIndex, DbjTable Verwendet – Katalog Manager um Indexe und Tupel-Anzahl der Tabellen zu ermitteln – Eingebaute Regeln zur Optimierung (keep it simple!)

6 Catalog Manager Klasse: DbjCatalogManager Datenstrukturen: – Eingabe: DbjRecord – Ausgabe: TableId/IndexId/…, DbjTable, DbjIndex Verwendet – Record Manager um Kataloginformationen von den entsprechenden Tabellen zu erhalten – Eingebaute Definition der Katalogtabellen

7 RunTime Klasse: DbjRunTime Datenstrukturen: DbjAccessPlan, DbjTuple, DbjRecord, DbjIndexKey Verwendet – DbjTable (von Katalog Manager) zur Interpretation der Records in Tupel – Record Manager um die Records zu erhalten – Index Manager um Indexzugriff durchzuführen Anmerkungen – Übersetzt baumartigen Zugriffsplan in Serie von geschachtelten “Iteratoren”

8 Record Manager Klasse: DbjRecordManager Datenstrukturen: TupelId, DbjRecord, DbjPage Verwendet – Buffer Manager zum Zugriff auf die Seiten – Lock Manager um Datenseiten zu sperren Anmerkungen – Die Daten der Records werden aus dem Systempuffer in die DbjRecord Struktur kopiert

9 Index Manager Klasse: DbjIndexManager Datenstrukturen: DbjKey, TupelId, DbjPage Verwendet – Buffer Manager zum Zugriff auf die Seiten – Lock Manager um Indexseiten zu sperren Anmerkungen – Verwendet nicht Record Manager; Seiteninhalte werden selbst verwaltet!

10 Lock Manager Klasse: DbjLockManager Datenstrukturen: LockId, PageId Verwendet – Shared Memory für die Lockliste Anmerkungen – Sperrgranulat = Seite

11 Buffer Manager Klasse: DbjBufferManager Datenstrukturen: DbjPage, “char *” (Blöcke) Verwendet – File Manager um die Blöcke bereitzustellen – Shared memory für den Puffer Anmerkungen – Implementiert Force/Steal; ausser für geänderte Seiten – dort erfolgt No-Steal

12 Memory Manager Klasse: DbjMemoryManager Datenstrukturen: “char *” (Speicherbereiche/-blöcke) Anmerkungen – Verwendet keine anderen Komponenten; basiert nur auf Betriebssystem – Kann auch als Teil von OSS (Betriebssystemabstraktion) angesehen werden

13 File Manager Klasse: DbjFileManager Datenstrukturen: SegmentId, Dateien, “char *” (Blöcke) Anmerkungen – Verwendet keine anderen Komponenten; basiert nur auf Betriebssystem

14 Fehlerbehandlung Klasse: DbjError Datenstrukturen: DbjComponent, DbjErrorCode Anmerkungen – Verwendet keine anderen Komponente; wird aber von allen anderen genutzt!

15 Systemsteuerung Klasse: DbjSystem Datenstrukturen: keine Verwendet – Buffer Manager um Puffer einmalig anzulegen (bzw. freizugeben) – Lock Manager um Lockliste einmalig anzulegen (bzw. freizugeben) – Catalog Manager um Katalog zu initialisieren

16 Operating System Services (OSS) Abstraktion aller kritischen Betriebssystemfunktionen – File-I/O – Speicherverwaltung – Latching

17 Prozessmodell

18 Überblick Lockliste Buffer Session 2Session n Serverprozess legt an / zerstört Session 1

19 Internas von Sessions Session i Je 1 Instanz von: Compiler Optimizer Catalog Manager RunTime Record Manager Index Manager Lock Manager Buffer Manager Memory Manager File Manager

20 Anmerkungen Jede Transaktion/Session wird in genau einem Prozess abgearbeitet – Kein IPC (inter-process-communication) – Jeder Prozess hat eigene Instanzen von den verschiedenen Komponenten (Managern) Buffer & Lockliste liegen im Shared Memory – Zugriff von mehreren Transaktionen muss mittels Latches synchronisiert werden – Serverprozess ist nur für das Anlegen der Shared Memory Segmente zuständig