universität karlsruhe (th) © 2008 univ,karlsruhe, ipd, prof. lockemanndbi 1 kapitel 1 architektur...

43
Universität Karlsruhe (TH) © 2008 Univ,Karlsruhe, IPD, Prof. Lockemann DBI 1 Kapitel 1 Architektur als Leitfaden

Upload: ivonette-reddin

Post on 05-Apr-2015

107 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Universität Karlsruhe (TH) © 2008 Univ,Karlsruhe, IPD, Prof. LockemannDBI 1 Kapitel 1 Architektur als Leitfaden

UniversitätKarlsruhe (TH)

© 2008 Univ,Karlsruhe, IPD, Prof. Lockemann DBI 1

Kapitel 1

Architektur als Leitfaden

Page 2: Universität Karlsruhe (TH) © 2008 Univ,Karlsruhe, IPD, Prof. LockemannDBI 1 Kapitel 1 Architektur als Leitfaden

2

© 2008 Univ,Karlsruhe, IPD, Prof. Lockemann DBI 1

Kapitel 1.1Kapitel 1.1

Umfeld: Verteilte InformationssystemeUmfeld: Verteilte Informationssysteme

Page 3: Universität Karlsruhe (TH) © 2008 Univ,Karlsruhe, IPD, Prof. LockemannDBI 1 Kapitel 1 Architektur als Leitfaden

3

© 2008 Univ,Karlsruhe, IPD, Prof. Lockemann DBI 1

4-Stufen-Architektur

Application Server

Application Server

. . .

. . .

MiddlewareMiddleware

Client Client Client

Database Server

other Servers. . .Ressourcen

WWW Server

WWW Server. . .

Geschäftslogik

Präsentation

Anwendung

DatenübertragungDatenübertragung

Page 4: Universität Karlsruhe (TH) © 2008 Univ,Karlsruhe, IPD, Prof. LockemannDBI 1 Kapitel 1 Architektur als Leitfaden

4

© 2008 Univ,Karlsruhe, IPD, Prof. Lockemann DBI 1

Umsetzung: Java 2 Enterprise Edition

Application Server

Application Server

. . .

. . .

Client Client Client

Database Server

other Servers

. . .

WWW Server

WWW Server

. . .

Anwendung

Präsentation

Geschäftslogik

Ressourcen

Datenübertrng.Datenübertrng.

MiddlewareMiddleware

Behälter

WWW-Dienst-geber

Java 2 SDK

Transaktionsverwaltung

Nachrichten-warteschlangen-

Verwaltung

Kon

nekt

ore

n

Java

S

ervl

ets

Java

S

erve

r P

ages

Dienst-nehmer

Dienst-nehmer

Fremd-Produkt

Fremd-Produkt

.....Behälter Behälter

Kommunikation(HTTP, IIOP, RMI)

HT

ML,

XM

L, S

SL

CORBA-An-

passung

Daten-bank

(JDBC)

Transak-tionen(JTA)

Nach-richten (JMS)

Registra-tur

(JNDI)

XML(JAXP)

Sicher-heit

DBMS

Page 5: Universität Karlsruhe (TH) © 2008 Univ,Karlsruhe, IPD, Prof. LockemannDBI 1 Kapitel 1 Architektur als Leitfaden

5

© 2008 Univ,Karlsruhe, IPD, Prof. Lockemann DBI 1

Umsetzung: Java 2 Enterprise Edition

Behälter

WWW-Dienst-geber

Java 2 SDK

Transaktionsverwaltung

Nachrichten-warteschlangen-

Verwaltung

Kon

nekt

ore

n

Java

S

ervl

ets

Java

S

erve

r P

ages

Dienst-nehmer

Dienst-nehmer

Fremd-Produkt

Fremd-Produkt

.....Behälter Behälter

Kommunikation(HTTP, IIOP, RMI)

HT

ML,

XM

L, S

SL

CORBA-An-

passung

Daten-bank

(JDBC)

Transak-tionen(JTA)

Nach-richten (JMS)

Registra-tur

(JNDI)

XML(JAXP)

Sicher-heit

DBMS

Langfristspeicherung Verteilte Zuverlässigkeit

Voraussetzung: zentrale Zuverlässigkeit

Lose Kopplung

Page 6: Universität Karlsruhe (TH) © 2008 Univ,Karlsruhe, IPD, Prof. LockemannDBI 1 Kapitel 1 Architektur als Leitfaden

6

© 2008 Univ,Karlsruhe, IPD, Prof. Lockemann DBI 1

Umsetzung: Java 2 Enterprise Edition

Behälter

WWW-Dienst-geber

Java 2 SDK

Transaktionsverwaltung

Nachrichten-warteschlangen-

Verwaltung

Kon

nekt

ore

n

Java

S

ervl

ets

Java

S

erve

r P

ages

Dienst-nehmer

Dienst-nehmer

Fremd-Produkt

Fremd-Produkt

.....Behälter Behälter

Kommunikation(HTTP, IIOP, RMI)

HT

ML,

XM

L, S

SL

CORBA-An-

passung

Daten-bank

(JDBC)

Transak-tionen(JTA)

Nach-richten (JMS)

Registra-tur

(JNDI)

XML(JAXP)

Sicher-heit

DBMS

relational

objektorientiert

Page 7: Universität Karlsruhe (TH) © 2008 Univ,Karlsruhe, IPD, Prof. LockemannDBI 1 Kapitel 1 Architektur als Leitfaden

7

© 2008 Univ,Karlsruhe, IPD, Prof. Lockemann DBI 1

Umsetzung: Java 2 Enterprise Edition

Behälter

WWW-Dienst-geber

Java 2 SDK

Transaktionsverwaltung

Nachrichten-warteschlangen-

Verwaltung

Kon

nekt

ore

n

Java

S

ervl

ets

Java

S

erve

r P

ages

Dienst-nehmer

Dienst-nehmer

Fremd-Produkt

Fremd-Produkt

.....Behälter Behälter

Kommunikation(HTTP, IIOP, RMI)

HT

ML,

XM

L, S

SL

CORBA-An-

passung

Daten-bank

(JDBC)

Transak-tionen(JTA)

Nach-richten (JMS)

Registra-tur

(JNDI)

XML(JAXP)

Sicher-heit

DBMS

Informationsintegration und Web-Portale

Datenbankeinsatz

Transaktionsverwaltung

Datenbankim-plementierung

Page 8: Universität Karlsruhe (TH) © 2008 Univ,Karlsruhe, IPD, Prof. LockemannDBI 1 Kapitel 1 Architektur als Leitfaden

8

© 2008 Univ,Karlsruhe, IPD, Prof. Lockemann DBI 1

Kapitel 1.2Kapitel 1.2

Grundsätze zentraler ArchitekturenGrundsätze zentraler Architekturen

Page 9: Universität Karlsruhe (TH) © 2008 Univ,Karlsruhe, IPD, Prof. LockemannDBI 1 Kapitel 1 Architektur als Leitfaden

9

© 2008 Univ,Karlsruhe, IPD, Prof. Lockemann DBI 1

Vom Dienst zur Architektur (1)

Algorithmen und Datenstrukturen

Dienst

Leistungsangebot nach außen

Leistungserbringung intern

Kapselung:außen: keine Kenntnis der internen Erbringung erforderlichinnen: keine Kenntnis der äußeren Nutzung erforderlich

Liefert viel Freiheit bei der Umsetzung!

Page 10: Universität Karlsruhe (TH) © 2008 Univ,Karlsruhe, IPD, Prof. LockemannDBI 1 Kapitel 1 Architektur als Leitfaden

10

© 2008 Univ,Karlsruhe, IPD, Prof. Lockemann DBI 1

Vom Dienst zur Architektur (2)

Algorithmen und Datenstrukturen

Dienst

Viel Freiheit bei der Umsetzung!Architektur: Disziplinierte Umsetzung

Strukturelle Definition:Die Software-Architektur eines

Programms oder Rechensystems ist die Struktur eines Systems und umfasst

Softwarekomponenten, deren nach außen sichtbare

Eigenschaften und die Beziehungen zwischen den

Komponenten.

Page 11: Universität Karlsruhe (TH) © 2008 Univ,Karlsruhe, IPD, Prof. LockemannDBI 1 Kapitel 1 Architektur als Leitfaden

11

© 2008 Univ,Karlsruhe, IPD, Prof. Lockemann DBI 1

Der Weg zur Architektur Einbezug von Erfahrungswissen: pattern-oriented

software architecture:

A pattern for software architecture (or architectural pattern) describes a particular, recurring design problem that arises in specific design contexts, and presents a well-proven generic scheme for its solution. A pattern expresses a fundamental structural organization schema for software systems, describes their constituent components, specifies their responsibilities, and includes rules and guidelines for organizing the relationships between them and the ways in which they collaborate.

Page 12: Universität Karlsruhe (TH) © 2008 Univ,Karlsruhe, IPD, Prof. LockemannDBI 1 Kapitel 1 Architektur als Leitfaden

12

© 2008 Univ,Karlsruhe, IPD, Prof. Lockemann DBI 1

Muster Schichtenarchitektur (1)

Algorithmen und

Datenstrukturen

Dienst

Wiederholte Anwendung der Dienstsicht:Vorherrschendes Muster für große zentralisierte Systeme

Hw- und BS-Ressourcen

Lücke zu groß

Hw, BS

Dienst 1

Dienst 0

Dienst 2

Dienst 3

Dienst 4

Dienst 5

Page 13: Universität Karlsruhe (TH) © 2008 Univ,Karlsruhe, IPD, Prof. LockemannDBI 1 Kapitel 1 Architektur als Leitfaden

13

© 2008 Univ,Karlsruhe, IPD, Prof. Lockemann DBI 1

Muster Schichtenarchitektur (2)

Hw, BS

Dienst 1

Dienst 0

Dienst 2

Dienst 3

Dienst 4

Dienst 5Dienst n

Schicht n

Dienst n-1

Schicht n-1

Dienst n-2

Schicht n-2

Dienst 0Hw, BS

Dienst 1

Schicht 1

Page 14: Universität Karlsruhe (TH) © 2008 Univ,Karlsruhe, IPD, Prof. LockemannDBI 1 Kapitel 1 Architektur als Leitfaden

14

© 2008 Univ,Karlsruhe, IPD, Prof. Lockemann DBI 1

si

Korrektheit von Schichtenarchitekturen (1)s‘ioi

ti ti

si-1 s‘i-1pi-1

Ebene i realisiere einen Ressourcen-Verwalter Mi mit einer Funktionalität, die sich in einer Dienstschnittstelle D i ausprägt. Die Realisierung bedient sich der Ressourcen auf der Ebene i-1, die von einem Ressourcen-Verwalter Mi-1 mit einer Dienstschnittstelle Di-1 verwaltet werden.

Dienst-Schnittstelle Di

Dienst-Schnittstelle Di-1

Schicht i

(Ressourcen-Verwalter Mi)

Page 15: Universität Karlsruhe (TH) © 2008 Univ,Karlsruhe, IPD, Prof. LockemannDBI 1 Kapitel 1 Architektur als Leitfaden

15

© 2008 Univ,Karlsruhe, IPD, Prof. Lockemann DBI 1

Korrektheit von Schichtenarchitekturen (2)

Grundsätze:

Die Dienste Di-1 (die Regeln für die Strukturierung der Daten und die auf die Daten anwendbaren Operatoren), welche Ressourcen-Verwalter Mi-1 zur Verfügung stellt, bilden die alleinige und vollständige Grundlage für die Realisierung von Verwalter Mi, d.h. zur Realisierung von Mi darf nicht auf Dienste Dj von Mj, j < i-1, zurückgegriffen werden.

Strukturierungsregeln und Operatoren dürfen unverändert von Di-1 in die Dienste Di von Verwalter Mi übernommen werden, vorausgesetzt dass sie nicht auch zur Realisierung neuer Strukturierungsregeln oder Operatoren in Di beitragen.

Begründung: Keine unkontrollierte Fortpflanzung der Änderungen in einer Schicht

nach oben. Beweis der Korrektheit der Realisierung der Dienste Di eines Verwalters

Mi lokal zu führen, weil man die Korrektheit von Di-1 unterstellen kann.

Page 16: Universität Karlsruhe (TH) © 2008 Univ,Karlsruhe, IPD, Prof. LockemannDBI 1 Kapitel 1 Architektur als Leitfaden

16

© 2008 Univ,Karlsruhe, IPD, Prof. Lockemann DBI 1

si

Schnittstelle Di-1

Schnittstelle Di

Schicht i

(Ressourcen-Verwalter Mi)

oi(ti(si-1)) = ti(pi-1(si-1))

Korrektheit von Schichtenarchitekturen (3)

s‘ioi

ti ti

si-1 s‘i-1pi-1

Page 17: Universität Karlsruhe (TH) © 2008 Univ,Karlsruhe, IPD, Prof. LockemannDBI 1 Kapitel 1 Architektur als Leitfaden

17

© 2008 Univ,Karlsruhe, IPD, Prof. Lockemann DBI 1

Einflussfaktoren auf die Schichtung (1)

Algorithmen undDatenstrukturen

Dienst

Dienstfunktionalität

Sammlung von Funktionen, die in einem erkennbarenZusammenhang stehen, abereinzeln abgerufen werden können (Datenbanksystem: Datenmodell)

Dienst n

Schicht n

Dienst n-1

Schicht n-1

Dienst n-2

Schicht n-2

Dienst 0Hw, BS

Dienst 1

Schicht 1

Wiederverwendbarkeit der Funktionalität

Zunehmende Anwendungsbreite

(abnehmende Anwendungsnähe)

Page 18: Universität Karlsruhe (TH) © 2008 Univ,Karlsruhe, IPD, Prof. LockemannDBI 1 Kapitel 1 Architektur als Leitfaden

18

© 2008 Univ,Karlsruhe, IPD, Prof. Lockemann DBI 1

Einflussfaktoren auf die Schichtung (2)

Algorithmen undDatenstrukturen

Dienst

Nichtfunktionale Eigenschaften

Dienst n

Schicht n

Dienst n-1

Schicht n-1

Dienst n-2

Schicht n-2

Dienst 0Hw, BS

Dienst 1

Schicht 1

DauerhaftigkeitPerformanzSkalierbarkeitZuverlässigkeit

Page 19: Universität Karlsruhe (TH) © 2008 Univ,Karlsruhe, IPD, Prof. LockemannDBI 1 Kapitel 1 Architektur als Leitfaden

19

© 2008 Univ,Karlsruhe, IPD, Prof. Lockemann DBI 1

Kapitel 1.3Kapitel 1.3

Referenz-Schichtenarchitektur Referenz-Schichtenarchitektur für Datenbanksystemefür Datenbanksysteme

Page 20: Universität Karlsruhe (TH) © 2008 Univ,Karlsruhe, IPD, Prof. LockemannDBI 1 Kapitel 1 Architektur als Leitfaden

20

© 2008 Univ,Karlsruhe, IPD, Prof. Lockemann DBI 1

Dienstfunktionalität (1)

Mengenorientiertes Datenmodell

Datenmodell

Dateien

Dateiverwaltung

Geräteschnittstelle

Geräte-E/A

Datentypen:Satzmengen

Operatoren:Operatoren auf Mengen

Datentypen:Block = feste Anzahl von BytesDatei = variable Anzahl v. Blöcken

Operatoren: Dateien anlegen/öffnen/schließen Lesen/Schreiben von Blöcken

Aufgaben: Bereitstellung eines Namensraums für Dateien Platzierung von logischen Blöcken auf dem

Speichermedium gemäß Speicherstruktur Freispeicherverwaltung auf dem Speichermedium Prüfung von Lese- u. Schreiboperationen Bedienung der Geräteschnittstelle

Page 21: Universität Karlsruhe (TH) © 2008 Univ,Karlsruhe, IPD, Prof. LockemannDBI 1 Kapitel 1 Architektur als Leitfaden

21

© 2008 Univ,Karlsruhe, IPD, Prof. Lockemann DBI 1

Dienstfunktionalität (2)

Mengenorientiertes Datenmodell

Datenmodell

Dateien

Dateiverwaltung

Geräteschnittstelle

Geräte-E/A

Anfragebearbeitung

Satzorientiertes DatenmodellDatentypen:

Sätze und SatzmengenOperatoren:

Operatoren auf Sätzen

Datentypen:Satzmengen

Operatoren:Operatoren auf Mengen

Datentypen:Block = feste Anzahl von BytesDatei = variable Anzahl v. Blöcken

Operatoren: Dateien anlegen/öffnen/schließen Lesen/Schreiben von Blöcken

Aufgaben: Abbildung von externen auf interne

Satzmengen Übersetzung von Anfragen auf Mengen in

Folgen von Satz-Operationen Optimierung dieser Operationsfolgen Durchsetzung von Konsistenzbedingungen

Page 22: Universität Karlsruhe (TH) © 2008 Univ,Karlsruhe, IPD, Prof. LockemannDBI 1 Kapitel 1 Architektur als Leitfaden

22

© 2008 Univ,Karlsruhe, IPD, Prof. Lockemann DBI 1

Dienstfunktionalität (3)

Mengenorientiertes Datenmodell

Datenmodell

Dateien

Dateiverwaltung

Geräteschnittstelle

Geräte-E/A

Anfragebearbeitung

Satzorientiertes DatenmodellDatentypen:

Sätze und SatzmengenOperatoren:

Operatoren auf Sätzen

Datentypen:Satzmengen

Operatoren:Operatoren auf Mengen

Datentypen:Block = feste Anzahl von BytesDatei = variable Anzahl v. Blöcken

Operatoren: Dateien anlegen/öffnen/schließen Lesen/Schreiben von Blöcken

?

Page 23: Universität Karlsruhe (TH) © 2008 Univ,Karlsruhe, IPD, Prof. LockemannDBI 1 Kapitel 1 Architektur als Leitfaden

23

© 2008 Univ,Karlsruhe, IPD, Prof. Lockemann DBI 1

Dauerhaftigkeit

Register

Prozessor Cache

Hauptspeicher

Festplattenspeicher

Archivspeicher (Bänder, DVD etc.)

Register

Prozessor Cache

Hauptspeicher

Festplattenspeicher

Archivspeicher (Bänder, DVD etc.)

Speicherhierarchie:

nichtflüchtig

flüchtig

Dauerhaftigkeit

Verarbeitung

Page 24: Universität Karlsruhe (TH) © 2008 Univ,Karlsruhe, IPD, Prof. LockemannDBI 1 Kapitel 1 Architektur als Leitfaden

24

© 2008 Univ,Karlsruhe, IPD, Prof. Lockemann DBI 1

Performanz (1)

Register

Prozessor Cache

Hauptspeicher

Festplattenspeicher

Archivspeicher (Bänder, DVD etc.)

Register

Prozessor Cache

Hauptspeicher

Festplattenspeicher

Archivspeicher (Bänder, DVD etc.)

Speicherhierarchie:

nichtflüchtig

flüchtig

sec

1-10ns

10-100ns

100-1000ns

10 ms

1 ms = 1.000.000 ns

Zugriffslücke 105

Page 25: Universität Karlsruhe (TH) © 2008 Univ,Karlsruhe, IPD, Prof. LockemannDBI 1 Kapitel 1 Architektur als Leitfaden

25

© 2008 Univ,Karlsruhe, IPD, Prof. Lockemann DBI 1

Performanz (2)

Performanz: (Geeignete) Leistung gemessen in Durchsatz oder Antwortzeiten

Skalierbarkeit: Erhaltung der Leistung unter wachsender Last

Hauptmaßnahme Überwinden der Zugriffslücke: Replizierung der benötigten Teile der Datenbasis im flüchtigen Hauptspeicher. Entspricht einer Vorratshaltung. „benötigt“ bedarf des Vorwissens über die Verwendung.

Nur realistisch, wenn Hauptspeicher- und Cache-Größen entsprechende Zuwächse aufweisen. Hauptspeicher (RAM) mit enormen Kapazitätszuwächsen, heute

bei Arbeitsplatzrechnern in den GB-Bereich.

Page 26: Universität Karlsruhe (TH) © 2008 Univ,Karlsruhe, IPD, Prof. LockemannDBI 1 Kapitel 1 Architektur als Leitfaden

26

© 2008 Univ,Karlsruhe, IPD, Prof. Lockemann DBI 1

Performanz (3)

Mengenorientiertes Datenmodell

Datenmodell

Dateien

Dateiverwaltung

Geräteschnittstelle

Geräte-E/A

Anfragebearbeitung

Satzorientiertes DatenmodellDatentypen:

Sätze und SatzmengenOperatoren:

Operatoren auf Sätzen

?

Performanz

Hintergrundspeicher

Hauptspeicher

Zunehmende Breite des Vorwissens über die Nutzung

Datentypen:Satzmengen

Operatoren:Operatoren auf Mengen

Datentypen:Block = feste Anzahl von BytesDatei = variable Anzahl v. Blöcken

Operatoren: Dateien anlegen/öffnen/schließen Lesen/Schreiben von Blöcken

Page 27: Universität Karlsruhe (TH) © 2008 Univ,Karlsruhe, IPD, Prof. LockemannDBI 1 Kapitel 1 Architektur als Leitfaden

27

© 2008 Univ,Karlsruhe, IPD, Prof. Lockemann DBI 1

Performanz (4)

Mengenorientiertes Datenmodell

Datenmodell

Dateien

Dateiverwaltung

Geräteschnittstelle

Anfragebearbeitung

Satzorientiertes Datenmodell

Speicherstruktur

Schneller Transport zwischen Haupt- und Hintergrundspeicher

Hauptspeicherseiten u. Segmente

Segment- u. Pufferverwaltung Bevorratung von Daten im Hauptspeicher (rechtzeitige Bereitstellung vor Benutzung)

Transparenter homogener Speicher Datentypen:

Seite = feste Anzahl von BytesSegment = var. Anzahl von Seiten

Operatoren:Anforderung/Freigabe von SeitenSegmente anlegen/öffnen/schließen

Datentypen:Block = feste Anzahl von BytesDatei = variable Anzahl v. Blöcken

Operatoren: Dateien anlegen/öffnen/schließen Lesen/Schreiben von Blöcken

Geräte-E/A

Aufgaben: Zuordnung von Segmenten zu Dateien Zuordnung von Seiten zu Dateiblöcken Anstoß und Überwachung von Seiten-Transfers

zwischen Haupt- u. Hintergrundspeicher Minimierung von Transfer-Wartezeiten durch

geeignete Pufferungs-Strategien gemäß Zugriffsmuster

Datentypen:Sätze und Satzmengen

Operatoren:Operatoren auf Sätzen

Datentypen:Satzmengen

Operatoren:Operatoren auf Mengen

Performanz

Page 28: Universität Karlsruhe (TH) © 2008 Univ,Karlsruhe, IPD, Prof. LockemannDBI 1 Kapitel 1 Architektur als Leitfaden

28

© 2008 Univ,Karlsruhe, IPD, Prof. Lockemann DBI 1

Performanz (5)

Mengenorientiertes Datenmodell

Datenmodell

Dateien

Dateiverwaltung

Geräteschnittstelle

Anfragebearbeitung

Satzorientiertes Datenmodell

Speicherstruktur

Schneller Transport zwischen Haupt- und Hintergrundspeicher

Hauptspeicherseiten u. Segmente

Segment- u. Pufferverwaltung Bevorratung von Daten im Hauptspeicher (rechtzeitige Bereitstellung vor Benutzung)

Transparenter homogener Speicher Datentypen:

Seite = feste Anzahl von BytesSegment = var. Anzahl von Seiten

Operatoren:Anforderung/Freigabe von SeitenSegmente anlegen/öffnen/schließen

Datentypen:Block = feste Anzahl von BytesDatei = variable Anzahl v. Blöcken

Operatoren: Dateien anlegen/öffnen/schließen Lesen/Schreiben von Blöcken

Geräte-E/A

Satz- u. Satzmengenverwaltung

Satzzugriffsstrukturen

Zugriffsschicht

Vorschau auf zukünftig benötigte Daten

Vermeiden nicht aktuell benötigter Daten

Datentypen:Sätze und Satzmengen

Operatoren:Operatoren auf Sätzen

Datentypen:Satzmengen

Operatoren:Operatoren auf Mengen

Datentypen:phys. Zugriffsstrukturen auf Sätze

Operatoren:seq. Durchlauf, gezielte Suche

Performanz

Page 29: Universität Karlsruhe (TH) © 2008 Univ,Karlsruhe, IPD, Prof. LockemannDBI 1 Kapitel 1 Architektur als Leitfaden

29

© 2008 Univ,Karlsruhe, IPD, Prof. Lockemann DBI 1

Performanz (6)

Mengenorientiertes Datenmodell

Datenmodell

Dateien

Dateiverwaltung

Geräteschnittstelle

Anfragebearbeitung

Satzorientiertes Datenmodell

Speicherstruktur

Schneller Transport zwischen Haupt- und Hintergrundspeicher

Hauptspeicherseiten u. Segmente

Segment- u. Pufferverwaltung Bevorratung von Daten im Hauptspeicher (rechtzeitige Bereitstellung vor Benutzung)

Transparenter homogener Speicher Datentypen:

Seite = feste Anzahl von BytesSegment = var. Anzahl von Seiten

Operatoren:Anforderung/Freigabe von SeitenSegmente anlegen/öffnen/schließen

Datentypen:Block = feste Anzahl von BytesDatei = variable Anzahl v. Blöcken

Operatoren: Dateien anlegen/öffnen/schließen Lesen/Schreiben von Blöcken

Geräte-E/A

Satz- u. Satzmengenverwaltung

Satzzugriffsstrukturen

Zugriffsschicht

Vorschau auf zukünftig benötigte Daten

Vermeiden nicht aktuell benötigter Daten

Datentypen:Sätze und Satzmengen

Operatoren:Operatoren auf Sätzen

Datentypen:Satzmengen

Operatoren:Operatoren auf Mengen

Datentypen:phys. Zugriffsstrukturen auf Sätze

Operatoren:seq. Durchlauf, gezielte Suche

PerformanzAufgaben: Abbildung von Satzmengen auf physische

Datenstrukturen gemäß Zugriffsmuster Abbildung von Satz- u. Satzmengenoperatoren

auf Operatoren der phys. Datenstruktur

Aufgaben: Implementierung der physischen

Datenstrukturen in einem virtuellen Adressraum

Page 30: Universität Karlsruhe (TH) © 2008 Univ,Karlsruhe, IPD, Prof. LockemannDBI 1 Kapitel 1 Architektur als Leitfaden

30

© 2008 Univ,Karlsruhe, IPD, Prof. Lockemann DBI 1

Performanz (7)

Mengenorientiertes Datenmodell

Datenmodell

Dateien

Dateiverwaltung

Geräteschnittstelle

Anfragebearbeitung

Satzorientiertes Datenmodell

Speicherstruktur

Schneller Transport zwischen Haupt- und Hintergrundspeicher

Hauptspeicherseiten u. Segmente

Segment- u. Pufferverwaltung Bevorratung von Daten im Hauptspeicher (rechtzeitige Bereitstellung vor Benutzung)

Transparenter homogener Speicher Datentypen:

Seite = feste Anzahl von BytesSegment = var. Anzahl von Seiten

Operatoren:Anforderung/Freigabe von SeitenSegmente anlegen/öffnen/schließen

Datentypen:Block = feste Anzahl von BytesDatei = variable Anzahl v. Blöcken

Operatoren: Dateien anlegen/öffnen/schließen Lesen/Schreiben von Blöcken

Geräte-E/A

Satz- u. Satzmengenverwaltung

Satzzugriffsstrukturen

Zugriffsschicht

Vorschau auf zukünftig benötigte Daten

Vermeiden nicht aktuell benötigter Daten

Datentypen:Sätze und Satzmengen

Operatoren:Operatoren auf Sätzen

Datentypen:Satzmengen

Operatoren:Operatoren auf Mengen

Datentypen:phys. Zugriffsstrukturen auf Sätze

Operatoren:seq. Durchlauf, gezielte Suche

Optimaler Einsatz der logischen Ressourcen

Performanz

Page 31: Universität Karlsruhe (TH) © 2008 Univ,Karlsruhe, IPD, Prof. LockemannDBI 1 Kapitel 1 Architektur als Leitfaden

31

© 2008 Univ,Karlsruhe, IPD, Prof. Lockemann DBI 1

Zuverlässigkeit: Konsistenz

Ideal: Volle und aktuelle Übereinstimmung von Datenbasis und Miniwelt:Semantische Konsistenz

min 100%

Zustände als Ergebnis von Operatoren, die das Datenbasisschema interpretieren:Schemakonsistenz

Konsistenzbedingungen zur weiteren Einschränkung des Zustandsraums: Formale Konsistenz

Page 32: Universität Karlsruhe (TH) © 2008 Univ,Karlsruhe, IPD, Prof. LockemannDBI 1 Kapitel 1 Architektur als Leitfaden

32

© 2008 Univ,Karlsruhe, IPD, Prof. Lockemann DBI 1

Zuverlässigkeit: Schemakonsistenz

Mengenorientiertes Datenmodell

Anfragebearbeitung

Satzorientiertes Datenmodell

Satz- u. Satzmengenverwaltung

Satzzugriffsstrukturen

Zugriffsschicht

Hauptspeicherseiten u. Segmente

Segment- u. Pufferverwaltung

Dateien

Dateiverwaltung

Geräteschnittstelle

Primärdaten

Daten-wörterbuch

Metadaten

Steuerung der generischen Operatoren durch Schemadaten

Page 33: Universität Karlsruhe (TH) © 2008 Univ,Karlsruhe, IPD, Prof. LockemannDBI 1 Kapitel 1 Architektur als Leitfaden

33

© 2008 Univ,Karlsruhe, IPD, Prof. Lockemann DBI 1

Zuverlässigkeit: Transaktionale Konsistenz

Ideal: Volle und aktuelle Übereinstimmung von Datenbasis und Miniwelt:Semantische Konsistenz

min 100%

Zustände als Ergebnis von Operatoren, die das Datenbasisschema interpretieren:Schemakonsistenz

Konsistenzbedingungen zur weiteren Einschränkung des Zustandsraums: Formale Konsistenz

Einzelne Operation:Garantiert SchemakonsistenzTransaktion:Garantiert beim Abschluss formale Konsistenz und vereinbarte semantische Konsistenz (sofern diese am Anfang gegeben war)

Transaktionen: Prozedurale Konsistenzkontrolle

Page 34: Universität Karlsruhe (TH) © 2008 Univ,Karlsruhe, IPD, Prof. LockemannDBI 1 Kapitel 1 Architektur als Leitfaden

34

© 2008 Univ,Karlsruhe, IPD, Prof. Lockemann DBI 1

Zuverlässigkeit: Unverletzlichkeit

Unverletzlichkeit: Gewährleistung der Konsistenz der Datenbasis zu allen Zeiten Da Transaktion Einheit der Konsistenz ist, müssen alle

Maßnahmen der Konsistenzsicherung bei den Transaktionen ansetzen

Maßnahmen: Persistenz: Herstellen der Dauerhaftigkeit erst bei

erfolgreichem Transaktionsabschluss

Fehler-Resistenz: Üblich: Zurücksetzen auf den Transaktionsanfang.

Konflikt-Resistenz: Isolation der Transaktionen untereinander.

Recovery-Verwalter

Scheduler

Page 35: Universität Karlsruhe (TH) © 2008 Univ,Karlsruhe, IPD, Prof. LockemannDBI 1 Kapitel 1 Architektur als Leitfaden

35

© 2008 Univ,Karlsruhe, IPD, Prof. Lockemann DBI 1

Zuverlässigkeit: Transaktionen (1)

Übliche Platzierung von Scheduler und Recovery-Verwalter: Recovery-Verwalter benötigt Wissen um Transporte zwischen

Haupt- und Hintergrundspeicher

Konsequenz: Integration mit Segmentverwaltung

Scheduler sollte mit denselben Einheiten wie der Recovery-Verwalter umgehen, daher Ansiedlung dort

Folge: Transaktion muss als solche in der Segmentverwaltung noch erkennbar sein.

Page 36: Universität Karlsruhe (TH) © 2008 Univ,Karlsruhe, IPD, Prof. LockemannDBI 1 Kapitel 1 Architektur als Leitfaden

36

© 2008 Univ,Karlsruhe, IPD, Prof. Lockemann DBI 1

Zuverlässigkeit: Transaktionen (2)

Mengenorientiertes Datenmodell

Anfragebearbeitung

Satzorientiertes Datenmodell

Satz- u. Satzmengenverwaltung

Satzzugriffsstrukturen

Zugriffsschicht

Hauptspeicherseiten u. Segmente

Dateien

Dateiverwaltung

Geräteschnittstelle

Scheduler

Recovery-Verwalter

Segment- u. Pufferverwaltung

Transaktion:Eine vom Benutzer als abgeschlossene Arbeitseinheit definierte Folge von Anfragen (Operatoren auf Mengen)

Page 37: Universität Karlsruhe (TH) © 2008 Univ,Karlsruhe, IPD, Prof. LockemannDBI 1 Kapitel 1 Architektur als Leitfaden

37

© 2008 Univ,Karlsruhe, IPD, Prof. Lockemann DBI 1

Archivver-waltung

Grobarchitektur aus KomponentenDatenbasis-Verwaltungssystem

Datenverwaltungs-Schnittstelle(Externes Datenmodell)

Datenbasis(Ressource)

Anfragemaschine(query engine)

Betriebssystem(operating system)

Datenwör-terbuch

(data dictionary)

Transak-tionsver-waltung

Datenmodell

Konflikt-Resistenz

Seiten

Speichermaschine(storage engine)

Dateien

Performanz

Konsistenz

Dauerhaftigkeit

Fehler-Resistenz, Persistenz

Page 38: Universität Karlsruhe (TH) © 2008 Univ,Karlsruhe, IPD, Prof. LockemannDBI 1 Kapitel 1 Architektur als Leitfaden

38

© 2008 Univ,Karlsruhe, IPD, Prof. Lockemann DBI 1

Einfluss: Art der Datenquellen

Strukturierte Daten: relationale, objektorientierte und andere Datenbanken festes Schema präzise Semantik vielfältige Verarbeitungsmöglichkeiten

Semistrukturierte Daten: XML, HTML selbstbeschreibend durch integrierte Metadaten (Tags) optionales Schema, bei Abwesenheit keine präzise Semantik Verarbeitungsmöglichkeiten umso vielfältiger, je besser die

Struktur bekannt ist Unstrukturierte Daten: Texte, Bilder, Videoclips, ...

kein Schema unpräzise Semantik spezialisierte Verarbeitungsmöglichkeiten

Page 39: Universität Karlsruhe (TH) © 2008 Univ,Karlsruhe, IPD, Prof. LockemannDBI 1 Kapitel 1 Architektur als Leitfaden

39

© 2008 Univ,Karlsruhe, IPD, Prof. Lockemann DBI 1

Kapitel 1.4Kapitel 1.4

HauptaufgabenHauptaufgaben

Page 40: Universität Karlsruhe (TH) © 2008 Univ,Karlsruhe, IPD, Prof. LockemannDBI 1 Kapitel 1 Architektur als Leitfaden

40

© 2008 Univ,Karlsruhe, IPD, Prof. Lockemann DBI 1

Entwicklung und Pflege

Mengenorientiertes Datenmodell

Anfragebearbeitung

Satzorientiertes Datenmodell

Satz- u. Satzmengenverwaltung

Satzzugriffsstrukturen

Zugriffsschicht

Hauptspeicherseiten u. Segmente

Dateien

Dateiverwaltung

Geräteschnittstelle

Scheduler

Recovery-Verwalter

Segment- u. Pufferverwaltung

Vorrat an Implementie-

rungs-techniken

Strukturierung nach

Schichten

Page 41: Universität Karlsruhe (TH) © 2008 Univ,Karlsruhe, IPD, Prof. LockemannDBI 1 Kapitel 1 Architektur als Leitfaden

41

© 2008 Univ,Karlsruhe, IPD, Prof. Lockemann DBI 1

Administration/Tuning

Mengenorientiertes Datenmodell

Anfragebearbeitung

Satzorientiertes Datenmodell

Satz- u. Satzmengenverwaltung

Satzzugriffsstrukturen

Zugriffsschicht

Hauptspeicherseiten u. Segmente

Dateien

Dateiverwaltung

Geräteschnittstelle

Scheduler

Recovery-Verwalter

Segment- u. Pufferverwaltung

Vorrat an Implementie-

rungs-techniken

Auswahl und Parametrierun

g

Page 42: Universität Karlsruhe (TH) © 2008 Univ,Karlsruhe, IPD, Prof. LockemannDBI 1 Kapitel 1 Architektur als Leitfaden

42

© 2008 Univ,Karlsruhe, IPD, Prof. Lockemann DBI 1

Betrieb

Mengenorientiertes Datenmodell

Anfragebearbeitung

Satzorientiertes Datenmodell

Satz- u. Satzmengenverwaltung

Satzzugriffsstrukturen

Zugriffsschicht

Hauptspeicherseiten u. Segmente

Dateien

Dateiverwaltung

Geräteschnittstelle

Scheduler

Recovery-Verwalter

Segment- u. Pufferverwaltung

Vorrat an Implementie-

rungs-techniken

Optimale Auswahl vorhandener Techniken

Page 43: Universität Karlsruhe (TH) © 2008 Univ,Karlsruhe, IPD, Prof. LockemannDBI 1 Kapitel 1 Architektur als Leitfaden

43

© 2008 Univ,Karlsruhe, IPD, Prof. Lockemann DBI 1

Abhängigkeiten

Optimale Auswahl vorhandener Techniken

Auswahl und Parametrierun

g

Bevorratung nach

Schichten

Zugriffs-profile