2. Architekturen von DBS Schema-Architektur I Schema

Werbung
Schema-Architektur I
Schema-Architektur III
Zusammenhang zwischen
externes Schema 1
■
Internen Schema (Festlegung der Dateiorganisationen und Zugriffspfade)
■
Externen Schema (Ergebnis der Sichtdefinition)
■
Anwendungsprogrammen (Ergebnis der Anwendungsprogrammierung)
konzeptuelles Schema
Datendarstellung
Konzeptuellen Schema (Ergebnis der Datendefinition)
externes Schema N
Anfragebearbeitung
■
...
internes Schema
Andreas Heuer, Gunter Saake – Datenbanken I
2-2
Andreas Heuer, Gunter Saake – Datenbanken I
2. Architekturen von DBS
Schema-Architektur II
■
➠ Schema-Architektur
Trennung Schema — Instanz
◆
➠ System-Architekturen
◆
■
➠ Konkrete System-Architekturen
◆
◆
2-1
Schema (Metadaten, Datenbeschreibungen)
Instanz (Anwenderdaten, Datenbankzustand oder -ausprägung)
Datenbankschema besteht aus
➠ Anwendungsarchitekturen
Andreas Heuer, Gunter Saake – Datenbanken I
2-4
internem, konzeptuellen, externen Schema und den Anwendungsprogrammen
im konzeptuellen Schema etwa:
– Strukturbeschreibungen
– Integritätsbedingungen
– Autorisierungsregeln (pro Benutzer für erlaubte DB-Zugriffe)
Andreas Heuer, Gunter Saake – Datenbanken I
2-3
Ebenen-Architektur am Beispiel: Konzeptuelle Sicht
■
Ebenen-Architektur am Beispiel: Externe Sicht II
Relationale Darstellung
AUTOR
BUCH
■
Name
Nr
BuchID
BUCH.BuchID
Meier
Schulze
Ibsen
...
1
2
1
...
4242
3745
3745
....
BuchID
Titel
Jahr
ISBN
4242
3745
...
Datenbasen I
UNIX X
...
1993
1998
...
3-452-12
1-424-11
...
Andreas Heuer, Gunter Saake – Datenbanken I
TITEL
2-6
Stabilität der Benutzerschnittstelle gegen Änderungen
■
physisch: Änderungen der Dateiorganisationen und Zugriffspfaden haben
keinen Einfluß auf das konzeptuelle Schema
■
logisch: Änderungen am konzeptuellen und gewissen externen Schemata haben keine Auswirkungen auf andere externe Schemata und Anwendungsprogramme
◆
◆
Titel
Jahr
ISBN
Meier
Datenbasen I
1993
1-424-11
Ibsen
Schulze
...
UNIX X
1998
3-452-12
...
...
...
2-8
Ebenen-Architektur am Beispiel: Externe Sicht I
■
◆
Autoren
{ Autor }
Andreas Heuer, Gunter Saake – Datenbanken I
Datenunabhängigkeit
■
Daten in einer hierarchisch aufgebauten Relation
Daten in einer flachen Relation
TITEL
Name
Nr
Titel
Jahr
ISBN
Meier
Schulze
Ibsen
...
1
2
1
...
Datenbasen I
UNIX X
UNIX X
...
1993
1998
1998
...
1-424-11
3-452-12
3-452-12
...
eventuell aber externe Schemata betroffen (Ändern von Attributen)
eventuell aber Anwendungsprogramme betroffen (Rekompilieren der
Anwendungsprogramme, eventuell Änderungen nötig)
nötige Änderungen werden jedoch vom DBMS erkannt und überwacht
Andreas Heuer, Gunter Saake – Datenbanken I
2-5
Andreas Heuer, Gunter Saake – Datenbanken I
2-7
System-Architekturen
ANSI-SPARC-Architektur II
Externe Ebene
■
Beschreibung der Komponenten eines Datenbanksystems
■
Standardisierung der Schnittstellen zwischen Komponenten
Konzeptuelle Ebene
Interne Ebene
Anfragen
Optimierer
Auswertung
Plattenzugriff
Updates
Architekturvorschläge
■
ANSI-SPARC-Architektur
➞ Drei-Ebenen-Architektur
■
Fünf-Schichten-Architektur
➞ beschreibt Transformationskomponenten
P1
DB-Operationen
...
Einbettung
Pn
Masken
Data Dictionary
Sichtdefinition
Dateiorganisation
Datendefinition
Andreas Heuer, Gunter Saake – Datenbanken I
2-10
Andreas Heuer, Gunter Saake – Datenbanken I
Ebenen-Architektur am Beispiel: Interne Darstellung
2-12
ANSI-SPARC-Architektur I
Baumzugriff Autorname
Ibsen
Anderson
Heuer
Meier
Schulze
■
ANSI: American National Standards Institute
■
SPARC: Standards Planning and Requirement Committee
■
Vorschlag von 1978
■
Im Wesentlichen Grobarchitektur verfeinert
Hash-Tabelle Buchtitel
Ibsen
Ibsen
Jagellovsk
DeMonti
....
1
1
4
..
*
*
*
*
...
101101
101110
101111
110000
110001
...
...
UNIX X
Datenbasen 1
MZ4 antwortet nicht
...
◆
◆
◆
Andreas Heuer, Gunter Saake – Datenbanken I
2-9
Interne Ebene / Betriebssystem verfeinert
Mehr Interaktive und Programmier-Komponenten
Schnittstellen bezeichnet und normiert
Andreas Heuer, Gunter Saake – Datenbanken I
2-11
Fünf-Schichten-Architektur
■
basierend auf Idee von Senko 1973
■
Weiterentwicklung von Härder 1987
Fünf-Schichten-Architektur: Schnittstellen I
■
Pufferschnittstelle
◆
◆
■
Umsetzung im Rahmen des IBM-Prototyps System R
■
genauere Beschreibung der Transformationskomponenten
■
Datei- oder Seitenschnittstelle
◆
◆
◆
schrittweise Transformation von Anfragen/Änderungen bis hin zu Zugriffen auf Speichermedien
Definition der Schnittstellen zwischen Komponenten
■
2-14
◆
■
■
2-16
Fünf-Schichten-Architektur: Schnittstellen I
Definitionskomponenten: Datendefinition, Dateiorganisation, Sichtdefinition
Programmier-Komponenten: DB-Programmierung mit eingebetteten DBOperationen
■
■
Transformationskomponenten: Optimierer, Auswertung, Plattenzugriffssteuerung
■
Data Dictionary (Datenwörterbuch): Aufnahme der Daten aus Definitionskomponenten, Versorgung der anderen Komponenten
2-13
mengenorientierte Schnittstelle:
◆
■
Benutzerkomponenten: Anwendungsprogramme, Anfrage und Update interaktiv
Andreas Heuer, Gunter Saake – Datenbanken I
Spuren, Zylinder
Armbewegungen
Andreas Heuer, Gunter Saake – Datenbanken I
Klassifizierung der Komponenten
■
Hole Seite, Schreibe Seite
Geräteschnittstelle
◆
Andreas Heuer, Gunter Saake – Datenbanken I
Seiten, Seitenadressen
Freigeben und Bereitstellen
satzorientierte Schnittstelle:
◆
◆
■
deklarative DML auf Tabellen, Sichten, Zeilen
Sätze, logische Dateien, logische Zugriffspfade
navigierender Zugriff
interne Satzschnittstelle
◆
◆
Sätze, Zugriffspfade
Manipulation von Sätzen und Zugriffspfaden
Andreas Heuer, Gunter Saake – Datenbanken I
2-15
Fünf-Schichten-Architektur:
Funktionen
Fünf-Schichten-Architektur: Objekte,
Operationen
Mengenorientierte
MOS
Schnittstelle
Datensystem
Übersetzung
Zugriffskontrolle
Zugriffspfadwahl
Integritätskontrolle
Data Dictionary
Currency Pointer
Sortierung
Transaktionsverw.
Record Manager
Sperrverwaltung
Zugriffspfadverw.
Log / Recovery
Datensystem
externe Sätze
Index-Strukturen
Scans
SOS
ISS
interne Sätze
Bäume
Hash-Tabellen
SPS
Segmente
Seiten
Speicherungsstrukturen
SystempufferSchnittstelle
Pufferverwaltung
Systempufferverwaltung mit
FIND NEXT satz
STORE satz
SOS
Zugriffssystem
logische Zugriffspfade
Interne
Satzschnittstelle
Speichersystem
SQL : select ... from ...
QBE, QUEL, ...
MOS
logische Datenstrukturen
Satzorientierte
Schnittstelle
Zugriffssystem
Relationen
Sichten
Speichere internen Satz s
INSERT in B-Baum
ISS
Speichersystem
Bereitstellen Seite j
Freigeben Seite j
SPS
Seitenzuordnung, interne Seiten
Seitenwechselstrategie
Pufferverwaltung
Dateischnittstelle
Betriebssystem
Externspeicherverwaltung
DS
Dateien
Blöcke
Speicherzuordnung
Lies Block k
Schreibe Block k
DS
Betriebssystem
Geräteschnittstelle GS
Zylinder
Spuren
externer Speicher
Andreas Heuer, Gunter Saake – Datenbanken I
2-17
GS
Treiber
Andreas Heuer, Gunter Saake – Datenbanken I
2-18
IMS
IMS
Information Management System (IBM, Mitte der 60er)
IMS/360
Versionen
■
IMS/VS/DB (Data Base); nur batch-orientiert
IMS/VS/DC (Data Communication); auch dialogorientiert
IMS/VS (Virtual Storage)
◆
◆
unter Betriebssystem DOS/VSE
■
■
Andreas Heuer, Gunter Saake – Datenbanken I
IMS (hierarchisch)
Einige konkrete Systeme
■
UDS (Netzwerk)
Architekturüberblicke über
■
relationale Systeme
DB2
SQL/DS
ORACLE
INGRES
dBASE
MS-Access
■
◆
◆
◆
◆
◆
◆
Andreas Heuer, Gunter Saake – Datenbanken I
2-20
2-19
IMS (Skizze)
Konzeptuelle Ebene
Externe Transf.
P1
DL/I-Ops.
...
Einbettung
Pn
PL/I
Relationale Systeme
Interne Ebene
Gemeinsame Merkmale
Interne Transf.
PCBs
■
Drei-Ebenen-Architektur nach ANSI-SPARC
■
einheitliche Datenbanksprache (SQL; Structured Query Language)
■
Einbettung dieser Sprache in kommerzielle Programmiersprachen
■
diverse Werkzeuge für Definition, Anfrage und Darstellung von Daten; Entwurf von Datenbank-Anwendungsprogrammen; Benutzer-Interaktion
■
kontrollierter Mehrbenutzerbetrieb, Datenschutz- und Datensicherheitsmechanismen
DBDs
Andreas Heuer, Gunter Saake – Datenbanken I
2-22
Andreas Heuer, Gunter Saake – Datenbanken I
IMS II
■
UDS
Begriffseinordnung
Sicht
Sichtdefinition
interne (physische) Datenbanken
DBD (Data Base Description)
für jede Datenbank
Menge logischer Datenbanken
PSB (Program Specification Block),
bestehend aus mehreren PCBs
(Program Communication Blocks)
eingebettet in PL/I, COBOL oder System/370 Assembler
navigierend
Andreas Heuer, Gunter Saake – Datenbanken I
Universelles Datenbank-System (Siemens, 1976)
■
Betriebssystem BS 2000 für Siemens 7.100 bis 7.500
■
Kein Optimierer, sonst Systemaufbau entsprechend ANSI-SPARC
■
DML-Einbettung in COBOL, Assembler, FORTRAN, PASCAL
DDL
VDL
SSL
IQL
Sprache: DL/I (Data Language)
◆
UDS
Begriffseinordnung
Alles im Zugriff des Anwendungsprogrammierers
◆
■
Datenbank
internes Schema
■
2-24
2-21
Andreas Heuer, Gunter Saake – Datenbanken I
Schema-DDL
Subschema-DDL
SSL
IQS
2-23
Anwendungs-Architekturen
Abarbeiten eines DB-Anwendungsprogrammes II
Benutzerkomponenten
■
Aus Benutzer- / Anwendungsprogrammierer-Sicht besteht DB2 aus
Graphische Oberfl. /QBE PL-Einbind.
Interaktives
SQL
4GLs
Embedded
SQL
◆
◆
SpezialKomponenten
◆
◆
ReportGener.
Export
SQL
Precompiler
Binder
Laufzeitüberwachungssystem
Dateiverwaltungssystem
...
System /
System
Kopplung
Kernsystem
Andreas Heuer, Gunter Saake – Datenbanken I
2-26
Andreas Heuer, Gunter Saake – Datenbanken I
Abarbeiten eines DB-Anwendungsprogrammes
Relationale Systeme II
Beispiele
■
am Beispiel DB2
DB2 (SQL/DS)
■
INGRES
■
Tabelle AUSLEIHE
■
Spalten: NAME, INVENTARNR
■
SQL-Anfrage:
ORACLE
■
DB2
Entwicklung System R
Pseudo-RDBS (keine drei Ebenen, kein Mehrbenutzerbetrieb,
)
■
dBASE
■
MS-Access
Andreas Heuer, Gunter Saake – Datenbanken I
2-28
NAME
AUSLEIHE
INVENTARNR = 82;
soll in C-Programm eingebettet werden.
2-25
Andreas Heuer, Gunter Saake – Datenbanken I
2-27
DB2-Bausteine II
■
Laufzeitüberwachungssystem
◆
◆
■
Überwacht die Ausführung des Anwendungsprogramms
Falls Anwendungsprogramm auf SQL-Statement stößt, wählt Laufzeitüberwachungssystem Teil eines passenden Anwendungsplanes aus
Dateiverwaltungssystem
◆
Andreas Heuer, Gunter Saake – Datenbanken I
◆
Verwirklicht schnellen Zugriff auf Daten
Z.B. Suchprozeduren, Updateoperationen, Indexverwaltung,
2-30
DB2-Bausteine
◆
◆
■
◆
Quellprogramm
Precompiler für C, PL/I, COBOL,
■
Abarbeitung Anwendungsprogramm (Skizze)
Quellprogramm analysieren
Alle SQL-Statements durch Unterprogrammaufrufe ersetzen
Konstruktion eines Database Request Modules (DBRM) für jedes SQLStatement, der Eingabe für Binder sein wird
Binder
◆
◆
◆
2-29
Precompiler
DBRM
Compiler
Objektprogramm
Linker
Ein oder mehrere DBRMs zu einem “Anwendungsplan” übersetzen
Der Anwendungsplan enthält ausführbaren Code zur Verwirklichung des
ursprünglichen SQL-Statements
Der ausführbare Code enthält Betriebssystemaufrufe zum Dateiverwaltungssystem
Andreas Heuer, Gunter Saake – Datenbanken I
modifiziertes
Quellprogramm
Hauptspeicher
Binder
Laufzeitsystem
ausführbarer
Code
Teil vom
Code
Teil vom
Ausf.plan
Dateiverwaltungssystem
Andreas Heuer, Gunter Saake – Datenbanken I
AusführungsPlan
Datenbank
2-31
Herunterladen