2. Architekturen von DBS

Werbung
2. Architekturen von DBS
➠ Schema-Architektur
➠ System-Architekturen
➠ Konkrete System-Architekturen
➠ Anwendungsarchitekturen
Andreas Heuer, Gunter Saake – Datenbanken I
2-1
Schema-Architektur I
Zusammenhang zwischen
■
Konzeptuellen Schema (Ergebnis der Datendefinition)
■
Internen Schema (Festlegung der Dateiorganisationen und Zugriffspfade)
■
Externen Schema (Ergebnis der Sichtdefinition)
■
Anwendungsprogrammen (Ergebnis der Anwendungsprogrammierung)
Andreas Heuer, Gunter Saake – Datenbanken I
2-2
Schema-Architektur II
■
Trennung Schema — Instanz
◆
◆
■
Schema (Metadaten, Datenbeschreibungen)
Instanz (Anwenderdaten, Datenbankzustand oder -ausprägung)
Datenbankschema besteht aus
◆
◆
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
Schema-Architektur III
externes Schema 1
...
externes Schema N
Datendarstellung
Anfragebearbeitung
konzeptuelles Schema
internes Schema
Andreas Heuer, Gunter Saake – Datenbanken I
2-4
Datenunabhängigkeit
■
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
◆
◆
◆
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
Ebenen-Architektur am Beispiel: Konzeptuelle Sicht
■
Relationale Darstellung
AUTOR
BUCH
Name
Nr
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
BUCH.BuchID
2-6
Ebenen-Architektur am Beispiel: Externe Sicht I
■
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
...
Andreas Heuer, Gunter Saake – Datenbanken I
2-7
Ebenen-Architektur am Beispiel: Externe Sicht II
■
Daten in einer hierarchisch aufgebauten Relation
TITEL
Autoren
{ Autor }
Titel
Jahr
ISBN
Meier
Datenbasen I
1993
1-424-11
Ibsen
Schulze
...
UNIX X
1998
3-452-12
...
...
...
Andreas Heuer, Gunter Saake – Datenbanken I
2-8
Ebenen-Architektur am Beispiel: Interne Darstellung
Baumzugriff Autorname
Ibsen
Anderson
Heuer
Meier
Schulze
Hash-Tabelle Buchtitel
Ibsen
Ibsen
Jagellovsk
DeMonti
....
Andreas Heuer, Gunter Saake – Datenbanken I
1
1
4
..
*
*
*
*
...
101101
101110
101111
110000
110001
...
...
UNIX X
Datenbasen 1
MZ4 antwortet nicht
...
2-9
System-Architekturen
■
Beschreibung der Komponenten eines Datenbanksystems
■
Standardisierung der Schnittstellen zwischen Komponenten
Architekturvorschläge
■
ANSI-SPARC-Architektur
➞ Drei-Ebenen-Architektur
■
Fünf-Schichten-Architektur
➞ beschreibt Transformationskomponenten
Andreas Heuer, Gunter Saake – Datenbanken I
2-10
ANSI-SPARC-Architektur I
■
ANSI: American National Standards Institute
■
SPARC: Standards Planning and Requirement Committee
■
Vorschlag von 1978
■
Im Wesentlichen Grobarchitektur verfeinert
◆
◆
◆
Interne Ebene / Betriebssystem verfeinert
Mehr Interaktive und Programmier-Komponenten
Schnittstellen bezeichnet und normiert
Andreas Heuer, Gunter Saake – Datenbanken I
2-11
ANSI-SPARC-Architektur II
Externe Ebene
Konzeptuelle Ebene
Interne Ebene
Anfragen
Optimierer
Auswertung
Plattenzugriff
Updates
P1
DB-Operationen
...
Einbettung
Pn
Masken
Data Dictionary
Sichtdefinition
Dateiorganisation
Datendefinition
Andreas Heuer, Gunter Saake – Datenbanken I
2-12
Klassifizierung der Komponenten
■
Definitionskomponenten: Datendefinition, Dateiorganisation, Sichtdefinition
■
Programmier-Komponenten: DB-Programmierung mit eingebetteten DBOperationen
■
Benutzerkomponenten: Anwendungsprogramme, Anfrage und Update interaktiv
■
Transformationskomponenten: Optimierer, Auswertung, Plattenzugriffssteuerung
■
Data Dictionary (Datenwörterbuch): Aufnahme der Daten aus Definitionskomponenten, Versorgung der anderen Komponenten
Andreas Heuer, Gunter Saake – Datenbanken I
2-13
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
Andreas Heuer, Gunter Saake – Datenbanken I
2-14
Fünf-Schichten-Architektur: Schnittstellen I
■
mengenorientierte Schnittstelle:
◆
■
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: Schnittstellen I
■
Pufferschnittstelle
◆
◆
■
Datei- oder Seitenschnittstelle
◆
■
Seiten, Seitenadressen
Freigeben und Bereitstellen
Hole Seite, Schreibe Seite
Geräteschnittstelle
◆
◆
Spuren, Zylinder
Armbewegungen
Andreas Heuer, Gunter Saake – Datenbanken I
2-16
Fünf-Schichten-Architektur:
Funktionen
Mengenorientierte
Schnittstelle
MOS
Datensystem
Übersetzung
Zugriffskontrolle
Zugriffspfadwahl
Integritätskontrolle
logische Datenstrukturen
Satzorientierte
Schnittstelle
Zugriffssystem
Data Dictionary
Currency Pointer
Sortierung
Transaktionsverw.
logische Zugriffspfade
Interne
Satzschnittstelle
Speichersystem
Record Manager
Sperrverwaltung
Zugriffspfadverw.
Log / Recovery
Pufferverwaltung
Systempufferverwaltung mit
Seitenwechselstrategie
Betriebssystem
Externspeicherverwaltung
SOS
ISS
Speicherungsstrukturen
SystempufferSchnittstelle
SPS
Seitenzuordnung, interne Seiten
Dateischnittstelle
DS
Speicherzuordnung
Geräteschnittstelle GS
externer Speicher
Andreas Heuer, Gunter Saake – Datenbanken I
2-17
Fünf-Schichten-Architektur: Objekte,
Operationen
Relationen
Sichten
MOS
Datensystem
externe Sätze
Index-Strukturen
Scans
SOS
SQL : select ... from ...
QBE, QUEL, ...
FIND NEXT satz
STORE satz
Zugriffssystem
interne Sätze
Bäume
Hash-Tabellen
ISS
Speichere internen Satz s
INSERT in B-Baum
Speichersystem
Segmente
Seiten
SPS
Bereitstellen Seite j
Freigeben Seite j
Pufferverwaltung
Dateien
Blöcke
DS
Lies Block k
Schreibe Block k
Betriebssystem
Zylinder
Spuren
GS
Andreas Heuer, Gunter Saake – Datenbanken I
Treiber
2-18
Einige konkrete Systeme
Architekturüberblicke über
■
IMS (hierarchisch)
■
UDS (Netzwerk)
■
relationale Systeme
◆
◆
◆
◆
◆
◆
DB2
SQL/DS
ORACLE
INGRES
dBASE
MS-Access
Andreas Heuer, Gunter Saake – Datenbanken I
2-19
IMS
IMS
Information Management System (IBM, Mitte der 60er)
Versionen
■
IMS/360
■
IMS/VS (Virtual Storage)
◆
◆
■
IMS/VS/DB (Data Base); nur batch-orientiert
IMS/VS/DC (Data Communication); auch dialogorientiert
unter Betriebssystem DOS/VSE
Andreas Heuer, Gunter Saake – Datenbanken I
2-20
IMS II
■
Begriffseinordnung
Datenbank
internes Schema
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)
Alles im Zugriff des Anwendungsprogrammierers
■
Sprache: DL/I (Data Language)
◆
◆
eingebettet in PL/I, COBOL oder System/370 Assembler
navigierend
Andreas Heuer, Gunter Saake – Datenbanken I
2-21
IMS (Skizze)
Konzeptuelle Ebene
Externe Transf.
P1
DL/I-Ops.
...
Einbettung
Pn
PL/I
Interne Ebene
Interne Transf.
PCBs
DBDs
Andreas Heuer, Gunter Saake – Datenbanken I
2-22
UDS
UDS
■
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
■
Universelles Datenbank-System (Siemens, 1976)
Begriffseinordnung
DDL
VDL
SSL
IQL
Andreas Heuer, Gunter Saake – Datenbanken I
Schema-DDL
Subschema-DDL
SSL
IQS
2-23
Relationale Systeme
Gemeinsame Merkmale
■
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
Andreas Heuer, Gunter Saake – Datenbanken I
2-24
Relationale Systeme II
Beispiele
■
DB2 (SQL/DS)
■
INGRES
ORACLE
■
DB2
Entwicklung System R
■
MS-Access
Andreas Heuer, Gunter Saake – Datenbanken I
dBASE
■
Pseudo-RDBS (keine drei Ebenen, kein Mehrbenutzerbetrieb,
)
2-25
Anwendungs-Architekturen
Benutzerkomponenten
Graphische Oberfl. /QBE PL-Einbind.
Interaktives
SQL
4GLs
Embedded
SQL
SpezialKomponenten
ReportGener.
SQL
Kernsystem
Andreas Heuer, Gunter Saake – Datenbanken I
Export
...
System /
System
Kopplung
2-26
Abarbeiten eines DB-Anwendungsprogrammes
am Beispiel DB2
■
Tabelle AUSLEIHE
■
Spalten: NAME, INVENTARNR
■
SQL-Anfrage:
NAME
AUSLEIHE
INVENTARNR = 82;
soll in C-Programm eingebettet werden.
Andreas Heuer, Gunter Saake – Datenbanken I
2-27
Abarbeiten eines DB-Anwendungsprogrammes II
■
Aus Benutzer- / Anwendungsprogrammierer-Sicht besteht DB2 aus
◆
◆
◆
◆
Precompiler
Binder
Laufzeitüberwachungssystem
Dateiverwaltungssystem
Andreas Heuer, Gunter Saake – Datenbanken I
2-28
DB2-Bausteine
◆
◆
■
◆
Precompiler für C, PL/I, COBOL,
■
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
◆
◆
◆
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
2-29
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
Abarbeitung Anwendungsprogramm (Skizze)
Quellprogramm
modifiziertes
Quellprogramm
Precompiler
DBRM
Compiler
Objektprogramm
Linker
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