9.1 DB-Systemarchitekturen und -schnittstellen



Ähnliche Dokumente
9.1 Anforderungen an DB-Verwaltungssysteme

7.1 DB-Systemarchitekturen und -schnittstellen 1. "Fünf-Schichten"-Architektur von Senko (Überblick)

Datenbanken. Prof. Dr. Bernhard Schiefer.

Die Grundbegriffe Die Daten Die Informationen

Allgemeines zu Datenbanken

Fragenkatalog zum Kurs 1666 (Datenbanken in Rechnernetzen) Kurstext von SS 96

GEZIELT MEHR SICHERHEIT MIT 4I ACCESS SERVER & 4I CONNECT CLIENT

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Systeme 1. Kapitel 10. Virtualisierung

ASD ZSS. RZ-Süd (LfStaD) Internet

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

WinVetpro im Betriebsmodus Laptop

TISIS - Industrie 4.0. Ereignis, Ort, Datum

Redundanz: Dieselben Informationen werden doppelt gespeichert.

Datenbanken: Architektur & Komponenten 3-Ebenen-Architektur

Grundlagen von Datenbanken

Systemvoraussetzungen Informationscenter IFC

Einführung. Informationssystem als Abbild der realen Welt

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

teamsync Kurzanleitung

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente

Tag des Datenschutzes

ObjectBridge Java Edition

Digitale Zertifikate

15 Social-Media-Richtlinien für Unternehmen!

Lizenzierung von SharePoint Server 2013

DAS SIND WIR. Kronthalerstraße Königstein phone +49 (0) fax +49 (0) mail web nolinkup.

Lizenzierung von System Center 2012

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

IBM License Information document

Virtual Desktop Infrasstructure - VDI

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

Carl-Christian Kanne. Einführung in Datenbanken p.1/513

Konfiguration von Igel ThinClients fu r den Zugriff via Netscaler Gateway auf eine Storefront/ XenDesktop 7 Umgebung

Lieferantenintegration via Open Catalog Interface (OCI)

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

Test zur Bereitschaft für die Cloud

Die Installation eines MS SQL Server 2000 mit SP3a wird in diesem Artikel nicht beschrieben und vorausgesetzt.

FAQ 04/2015. Auswirkung der ISO auf 3SE53/3SF13 Positionsschalter.

Sie erhalten einen kurzen Überblick über die verschiedenen Domänenkonzepte.

Prüfungsberatungs-Stunde Datenbanksysteme 1 (Dbs1)

Objektorientiertes Software-Engineering

Nutzung von GiS BasePac 8 im Netzwerk

Mehr Transparenz für optimalen Durchblick. Mit dem TÜV Rheinland Prüfzeichen.

Datenbanken. Dateien und Datenbanken:

3. Stored Procedures und PL/SQL

Gesicherte Prozeduren

Systemvoraussetzungen:

Synchronisations- Assistent

DIRECTINFO 5.7 SICHERHEITSKONZEPTE FÜR BENUTZER, INFORMATIONEN UND FUNKTIONEN

Sechster ProSTEP Benchmark Teil 2: PDM Data Exchange

1 Mathematische Grundlagen

Dr. Simon Giesecke Falko Basner Dr. Jörg Friebe. Bad Honnef, 3. Mai 2010

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

Speicher in der Cloud

jet IDS HIGH-LEIT OPC-GATEWAY zur Anbindung von Automatisierungssystemen Ein offenes, skalierbares SCADA System für alle Infrastrukturanwendungen

f Link Datenbank installieren und einrichten

Softwaretechnik (Allgemeine Informatik) Überblick

Systemvoraussetzungen

Matrix42. Matrix42 Cloud Trial Erste Schritte. Version

Moodle-Kurzübersicht Kurse Sichern und Zurücksetzen

ZEITSYNCHRONISATION IM DS-WIN EINRICHTEN

Technische Grundlagen von Netzwerken

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss

Anleitung zur Installation des Printservers

Referenz-Konfiguration für IP Office Server. IP Office 8.1

Client-Server mit Socket und API von Berkeley

Ein Blick voraus. des Autors von C++: Bjarne Stroustrup Conrad Kobsch

Monitore. Klicken bearbeiten

» Weblösungen für HSD FM MT/BT-DATA

Allgemeine Anforderungen zum Einsatz von (gültig ab Version 45.xx.xx)

Multimedia und Datenkommunikation

Java Enterprise Architekturen Willkommen in der Realität

> Soft.ZIV. Maple Mathematisches Software System

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Lizenzierung von SharePoint Server 2013

How-to: Webserver NAT. Securepoint Security System Version 2007nx

SQL Server 2008 Standard und Workgroup Edition

Abschlussklausur Geschäftsprozessmodellierung und Workflowmanagement

Fassade. Objektbasiertes Strukturmuster. C. Restorff & M. Rohlfing

Windows Small Business Server (SBS) 2008

SharePoint Demonstration

OP-LOG

AbaWeb Treuhand. Hüsser Gmür + Partner AG 30. Oktober 2008

DataSpace 2.0 Die sichere Kommunikations-Plattform für Unternehmen und Organisationen. Your Data. Your Control

Technische Voraussetzungen und Kompatibilitätsliste GemDat/Rubin

ISA Server 2004 Erstellen einer Webverkettung (Proxy-Chain) - Von Marc Grote

Festigkeit von FDM-3D-Druckteilen

2.5.2 Primärschlüssel

Anleitung zur Einrichtung einer ODBC Verbindung zu den Übungsdatenbanken

Die Entwicklung eines Glossars (oder eines kontrollierten Vokabulars) für ein Unternehmen geht üblicherweise in 3 Schritten vor sich:

Kapitel 10 Aktive DBMS

Datenmanagement in Android-Apps. 16. Mai 2013

IBM SPSS Statistics Version 23. Einführung in Installation und Lizenzierung

Fragen und Antworten. Kabel Internet

Software-Engineering und Datenbanken

Windows 8.1. Grundkurs kompakt. Markus Krimm, Peter Wies 1. Ausgabe, Januar inkl. zusätzlichem Übungsanhang K-W81-G-UA

Fragen zur GridVis MSSQL-Server

Transkript:

Vorlesung " WS 98/99 und -schnittstellen Lernziel: Entwurfsprinzipien für sehr große Softwaresysteme Architekturvorschläge für DBMS "Strawman"-Architektur von CCA/NBS (funktional/modular/konzeptuell) "Drei-Schichten"-Architektur von ANSI/SPARC (unternehmerisch/prinzipiell/konzeptuell) "Fünf-Schichten"-Architektur von Senko (Überblick) (architekturell/abstrakt) Einbettung von DBMS in Betriebssysteme DB-Systemarchitekturen 9.1.1 DBMS Architekturen Datenbankverwaltungssysteme (DBMSs) sind Softwaresysteme erheblicher Größenordnung. Deshalb spielen Probleme des "Programmierens im Großen" (SE-Probleme) bei ihrer Erstellung eine große Rolle: Modularisierung, Modulspezifikationen Gruppierung von Modulen, Schichtenbildung DBMS-Architektur Beziehungen zwischen Modulen, Hierarchien Anforderungen an Module: Weitere Anforderungen an Middleware : Arbeitsteiligkeit Standardisierbarkeit (API, ABI, Network Protocols) Prüfbarkeit Kompatibilität (nach oben und unten ) Anpaßbarkeit Verteilbarkeit (auf Client / auf Server) Austauschbarkeit Marktstärke des Herstellers (Oracle, Microsoft,...) Kalkulierbarkeit DB-Systemarchitekturen 9.1.2 1

Vorlesung " WS 98/99 Entwurfsprinzipien für große Systeme (1) Abstraktion: Konzentration auf das Wesentliche, Verdrängen des Unwesentlichen. Lokalität: Physische Zusammenfassung von Zusammengehörigem (Daten und Algorithmen). Verdecken: Beschränkung der Sichtbarkeit von Details auf diejenigen Teile eines Systems, die sie auch benötigen. Beispiel: Dateiverwaltung Durch Abstraktion wird der Satz von Datentypen und Operatoren bestimmt, der zur Dateiverwaltung benötigt wird. Nach dem Prinzip der Lokalität werden diese Operatoren in einem Modul zusammengefaßt. Nach dem Grundsatz des Verdeckens wird man den Dateiverwaltungsblock verbergen (von außen nicht benötigt). (s. Vorlesung Object-Oriented Analysis and Design ) DB-Systemarchitekturen 9.1.3 Entwurfsprinzipien für große Systeme (2) Vollständigkeit: Wie stellt man sicher, daß auf jeder Abstraktionsebene die gesamte dort angestrebte Funktionalität realisiert ist? Häufig wird in frühen Systemversionen nur der einfache Regelfall, nicht aber die Ausnahme berücksichtigt. Verifizierbarkeit: Wie kann man sich davon überzeugen, daß die einzelnen Module und damit auch das Gesamtsystem der Spezifikation genügt? Tests? Beweise? Sonstige Überzeugungsarbeit? Bemerkung: Praktikable Antworten auf diese Fragen setzen ein Zusammenspiel zwischen Programmiersprache, Entwurfs- und Programmiermethodik, Programmierumgebung voraus. DB-Systemarchitekturen 9.1.4 2

Vorlesung " WS 98/99 Entwurfsprinzipien für große Systeme (3) In der Regel läuft ein Entwurf sehr großer Systeme auf Schichten abstrakter Maschinen hinaus (s. nächste Folie). Schichtenbildung verwendet das Prinzip der Abstraktion zur Einhaltung des Lokalitätsund Verdeckungsprinzip. Eine Schicht besteht dabei häufig aus ca. 10-100 Modulen, die ihrerseits mehrere Objekttypen kapseln können. Modell der Abstrakten Maschinen: Sie bietet an ihrer Schnittstelle eine Menge von Daten und Operatoren (Ressourcen) an. Funktionen für das Arbeiten mit den Datenobjekten einer Abstrakten Maschine. Zwei solcher Abstrakter Maschinen sind bei jedem Entwurfsproblem vorgegeben: die Basismaschine: auf ihr wird implementiert die Zielmaschine: sie wird implementiert. Weitere bekannte Beispiele: Betriebssysteme (BIOS, DOS, Windows), Netzwerkprotokolle (ISO / OSI), Compilerarchitekturen (Maschinencode, Assembler, Zwischensprache, AST,...) DB-Systemarchitekturen 9.1.5 Entwurfsprinzipien für große Systeme (4) Interface I n+1 Schicht Schicht n (lokale (lokalemodule Moduleverdeckt) für das Gesamtsystem Interface I n Interface I n-1 Zwischenschnittstellen (bei strikter Schichtung ebenfalls verdeckt) Interface I 2 Schicht Schicht 1 (lokale (lokalemodule Moduleverdeckt) Interface I 1 für die Basismaschine DB-Systemarchitekturen 9.1.6 3

Vorlesung " WS 98/99 Anforderungen an DB-Verwaltungssysteme (1) Dominierende Entwurfsfaktoren: Primär: PQRI-Anforderungen (Persistenz, Quantität, Reaktivität, Integrität) Verpflichtende Datenbankdienste, Datenbankkerndienste und erweiterte Datenbankdienste wurden bereits in Kapitel 1 unterschieden. Unterscheide DBMS Mac Filemaker, MS Access 1.0 vs. Unix Oracle, IBM IMS Wichtig: Skalierbarkeit durch Schichtenbildung! In den letzten Jahren zunehmend Verteilungsaspekte: Anwendungs-Klienten zu DBMS-Server(n), DBMS zu DBMS peer-to-peer, Internet-Nutzer zu DBMS,... DB-Systemarchitekturen 9.1.7 Anforderungen an DB-Verwaltungssysteme (2) Sekundär: Sprachschnittstellen (Cursor, Embedded SQL, Persistente Objekte,...) und semantische Objekte (Baum, Relation, Persistenter Heap) der konkreten Datenmodelle (HDM, NDM, RDM, OODM). Tertiär: Basismaschine Geräteschnittstelle: Zylinder & Blöcke (raw devices in Unix) Einbenutzer-Dateischnittstelle (FAT, HPFS, NFS,...) Transaktionales Dateizugriff über Betriebssystem (Tandem, VMS) DB-Systemarchitekturen 9.1.8 4

Vorlesung " WS 98/99 Anforderungen an DB-Verwaltungssysteme (3) 1. Datenmanipulation (DML) 2. Datendefinition (DDL) 3. Datenintegrität und -sicherheit Die Datenbestände einer DB sind oft die wertvollsten Ressourcen eines Unternehmens. Die Benutzer einer DB sind oft keine Informatiker. Eine Datenbank hat meist viele Benutzer. Datenbankbenutzer arbeiten oft gleichzeitig. Maßnahmen: Datenbasissicherung und Fehlererholung (Recovery) Datenschutz, Zugriffsberechtigung (Authentisierung, Autorisierung) Transaktionen mit den Eigenschaften Atomarität, Konsistenz, Isolation, Dauerhaftigkeit Kapitel 8 DB-Systemarchitekturen 9.1.9 Anforderungen an DB-Verwaltungssysteme (4) 4. Parallelbetrieb Synchronisationsmaßnahmen (isolierte Transaktionen, kooperierende Workflows) Blockadebehandlung (deadlock detection) 5. Leistungssteuerung Oft stehen die verschiedenen Anforderungen an ein DBMS im Widerspruch. Beispiel: Datenumfang Puffergröße Antwortzeit Wesentliche leistungsbestimmende Charakteristika eines DBMS müssen deshalb dynamisch geändert werden können: (Datenbankadministrator, DBA) Zugriffspfade, Puffergrößen Sicherungs- und Synchronisationsverfahren Daten- und Transaktionsverteilung in DBMSs DB-Systemarchitekturen 9.1.10 5

Vorlesung " WS 98/99 Anforderungen an DB-Verwaltungssysteme (5) 6. Schnittstellen für unterschiedliche Benutzer Ein DBMS muß sehr unterschiedliche Benutzerklassen effizient unterstützen: Datenbankverwalter Anwendungsprogrammierer und deren Programmiersysteme Endbenutzer und ihre Werkzeuge Bemerkung: Wandel der Anforderungen in den letzten Jahren: Dauerhaft hochqualifiziertes Personal wird immer teurer Hardware wird immer billiger Cost of Ownership wird wichtiger als Systemeffizienz Popularität von Endbenutzerwerkzeugen nimmt rapide zu (MS-Access, Filemaker,...) DB-Systemarchitekturen 9.1.11 Architekturvorschläge für DBMS Die diskutierte Vorgehensweise beim Entwurf großer Systeme läßt dem Konstrukteur naturgemäß noch viel Freiheit. Haben sich bestimmte DBMS-Architekturen in der Praxis durchgesetzt? Gibt es eine Art Standard? Ist ein solcher Standard für "DBMS im allgemeinen" überhaupt zu erwarten? Wie weit ist eine DBMS-Architektur von den individuellen Anforderungen bestimmt? Beispiele von DBMS-Architekturen: "Strawman"-Architektur von CCA/NBS "Drei-Ebenen"-Architektur von ANSI/SPARC "Fünf-Schichtenmodell" von Senko (historisch relevant) (konzeptuell relevant) (technisch noch relevant) Gemeinsamkeiten: Allgemein einsetzbar Datenunabhängigkeit DB-Systemarchitekturen 9.1.12 6

Vorlesung " WS 98/99 "STRAWMAN" - Architektur (1) Ziele: (Auftrag des National Bureau of Standards für Studie an die Computer Corporation of America, 1982 abgeliefert) Standardisierung der Schnittstellen für Endbenutzer und Anwendungsprogrammierer. Erhöhung der Portabilität von Anwendungen Standardisierung von internen Schnittstellen. Austauschbarkeit von und freier Wettbewerb um DBMS-Komponenten. Systemkonfigurierung durch "Zusammenstecken" von Komponenten "Lückenlose" Erfassung der DBMS-Funktionalität Die Schnittstellen werden auf drei Abstraktionsebenen beschrieben: Niedrig: Einbeziehung der speziellen Wirtsmaschine und des speziellen Datenbankmodells Mittel: Abstraktion von der speziellen Wirtsmaschine, aber Einbeziehung des speziellen Datenbankmodells Hoch: Abstraktion von der speziellen Wirtsmaschine und von dem speziellen Datenbankmodell DB-Systemarchitekturen 9.1.13 "STRAWMAN" - Architektur (2) E Endbenutzerbedienung Endbenutzerbedienung Beispiel: Steuerdatenbearbeitung (Metadaten im Datenwörterbuch) E Schema Datenbankadmin.hilfeadmin.hilfen Datenbank- Subschema Zugriffsrechte Kerndatenbasisverwalter Konsistenzbed. Kerndatenbasisverwalter Speicherschema Gerätezuordnung Log. Leistungsüberw. E Phys. Leistungsüberw. E = Endbenutzer DB-Systemarchitekturen 9.1.14 7

Vorlesung " WS 98/99 "STRAWMAN" - Architektur (3) Gründe für das Scheitern: (?) Rein akademischer Zugang (79 Artikel und Lehrbücher gesichtet) Über-Generalisierung (Gültigkeit für beliebige Datenmodelle) Keine Fokussierung und Normierung durch eine Implementierung Kein Markt für offene Datenbanksysteme (1981, 1997?) Zu viele Quer-Schnittstellen erschweren Austauschbarkeit von Systemkomponenten DB-Systemarchitekturen 9.1.15 ANSI/SPARC-Architektur (1) Ziel: Unabhängigkeit zwischen Daten und Anwendungen Unterstützung mehrerer Benutzersichten Literatur: Tsichritzis,Klug, 1978 Drei Schichten: Interne Schicht Konzeptuelle Schicht Externe Schicht Definition verschiedener Schemata in den einzelnen Schichten Ablage der Schemata im Datenwörterbuch (data dictionary, repository,...) DB-Systemarchitekturen 9.1.16 8

Vorlesung " WS 98/99 ANSI/SPARC-Architektur (2) Die Drei-Schichten-Architektur Externe Schicht Konzeptuelle Schicht Anwender 1... n... Externe Externe Sicht Sicht 1 Sicht 1 Sicht n n Externes/konzeptuelles Mapping Konzeptuelles Schema Konzeptuelles/internes Mapping Interne Schicht Internes Schema vgl: R. Elmasri, S.B. Navathe. Fundamentals of Database Systems. Benjamin/Cummings, Redwood City, Kalifornien, 1989. DB-Systemarchitekturen 9.1.17 ANSI/SPARC-Architektur (3) Externe Schicht: Jedes externe Schema (Benutzersicht: Benutzer = Anwendungsprogramm) beschreibt die Sicht eines oder mehrerer Benutzer auf die Daten. Für den Benutzer nicht relevante Daten werden vor ihm verborgen. Beispiel: Das Schema eines Projektinformationssystems verbirgt das Gehalt der Mitarbeiter. Konzeptuelle Schicht: Das konzeptuelle Schema legt die Strukturen der konzeptuellen Sicht der gesamten Datenbank für die gesamte Benutzergemeinde fest (Vereinigung aller Anwendersichten zu einer gemeinschaftlichen Sicht). Berücksichtigt werden Entitäten, Datentypen, Beziehungen und Integritätsbedingungen. Die physikalischen Speicherstrukturen werden verborgen. Beispiel: Das Schema eines Firmeninformationssystems sammelt alle Informationen über die Mitarbeiter. DB-Systemarchitekturen 9.1.18 9

Vorlesung " WS 98/99 ANSI/SPARC-Architektur (4) Interne Schicht: Internes Schema beschreibt die physikalischen Speicherstrukturen der Datenbank. Unter Benutzung eines physikalischen Datenmodells werden Details der Datenspeicherung und Zugriffspfade beschrieben. Beispiele: Separate Speicherbereiche für Festangestellte und Werkstudenten B-Tree: Zugriff auf Projekte über die Projektnummer Bemerkungen: Internes Schema wird zunehmend verborgen (vgl. OODBMS) Unterstützung mehrerer externer Schemata in OODBMS noch ungenügend Möglichkeiten zur Realisierung eingeschränkter relationaler konzeptueller Sichten auf NDM, HDM oder auch Dateisystem DB-Systemarchitekturen 9.1.19 ANSI/SPARC-Architektur (5) Datenunabhängigkeit: Schutz des Benutzers eines DBMS vor nachteiligen Auswirkungen im Zuge von Änderungen in der Systemumgebung (1996... 2040). Arten der Datenunabhängigkeit: Logische Datenunabhängigkeit: Das konzeptuelle Schema kann ohne Konsequenzen für das externe Schema geändert werden. Beispiel: Erweiterung der Datenbank um eine neue Klasse oder Zusammenfassung mehrerer Klassen durch Generalisierung im konzeptuellen Schema. Physische Datenunabhängigkeit: Das interne Schema kann unabhängig vom konzeptuellen Schema geändert werden, ohne daß Funktionsänderungen in den Anwendungen auftreten. Beispiel: Reorganisation der Daten oder Einrichtung neuer Zugriffspfade. DB-Systemarchitekturen 9.1.20 10

Vorlesung " WS 98/99 Fünf-Schichten-Architektur von Senko (1) Starke Betonung der Datenunabhängigkeit (DIAM, Data Independent Access Model) (vgl.m. Senko, 1973) Gesteigerte Anpassungsfähigkeit (neue SQL-Standards, neue Wirtssprachen,...) Bessere Übertragbarkeit zwischen Betriebssystemen (Unix, VMS, MVS, OS/2, MSDOS,...) Verwendung und Weiterentwicklung in System/R (ca. 1980) sowie von Härder und Reuter (s. Datenbankhandbuch) Fünf Schichten = sechs Schnittstellen! Beachte: Die Benennung der Schichten und der Objekte an den Schnittstellen ist in der Literatur sehr uneinheitlich. Jedoch hohe Übereinstimmung der Konzepte! DB-Systemarchitekturen 9.1.21 Fünf-Schichten-Architektur von Senko (2) Sechs Schnittstellen Mengenorientierte Schnittstelle: Sie unterstützt die Mengen und Prädikate höherer Datenbanksprachen (SQL, OQL, DBPL) und entfällt für das Netzwerk- und das Hierarchiemodell. Satzorientierte Schnittstelle: Sie bietet logische Zugriffspfade auf einzelne Sätze, etwa den navigierenden Zugriff im NDM und kann Transaktionen verwalten und Integritätsanforderungen kontrollieren. Interne Satzschnittstelle: Sie hat keinen Bezug mehr zum konkreten Datenbankmodell und entscheidet über die Allokation von Sätzen und Satzfeldern hauptsächlich unter Effizienzgesichtspunkten. Auf ihr können Zugriffsmethoden (vom DBA) spezifiziert werden. Segmentschnittstelle: Sie bietet einen homogenen, linearen, "unendlichen", virtuellen Adreßraum an (in Seiten bzw. Segmenten). Der Zugriff auf diese Speichereinheiten wird synchronisiert und kann als robust vorausgesetzt werden (Fehlererholung). Dateischnittstelle: Sie stellt effizienten blockorientierten Dateizugriff zur Verfügung und wird in der Regel vom Betriebssystem des Wirtsrechners realisiert. Geräteschnittstelle: Sie wird direkt durch Hardware mit geeigneten Charakteristika (Direktzugriff auf persistente Daten) bereitgestellt. DB-Systemarchitekturen 9.1.22 11

Vorlesung " WS 98/99 Fünf-Schichten-Architektur von Senko (3) S5: Implementierung der mengenorientierten DB-Schnittstelle Mengenorientierte Schnittstelle (ODBC, SQL, OQL,...) Satzorientierte Schnittstelle S4: Implementierung der satzorientierten DB-Schnittstelle Interne Satzschnittstelle S3: Realisierung von Speicherungsstrukturen Segmentschnittstelle S2: Systempufferverwaltung S1: Externspeicherverwaltung Dateischnittstelle (z.b. UNIX, VMS, MSDOS,...) Geräteschnittstelle (z.b. IDE, SCSI,...) DB-Systemarchitekturen 9.1.23 Fünf-Schichten-Architektur von Senko (4) Semantisch S5: Implementierung reichere der mengenorientierten Objekte DB-Schnittstelle Anwendungsnähere Operationen S4: Implementierung der satzorientierten DB-Schnittstelle Verbesserte Integrität S3: Realisierung von Erhöhte Speicherungsstrukturen Fehlertoleranz S2: Systempufferverwaltung S1: Externspeicherverwaltung Mengenorientierte Schnittstelle (ODBC, SQL, OQL,...) Satzorientierte Schnittstelle Interne Satzschnittstelle Segmentschnittstelle Dateischnittstelle (z.b. UNIX, VMS, MSDOS,...) Nutzdaten beschrieben durch Metadaten Geräteschnittstelle (z.b. IDE, SCSI,...) DB-Systemarchitekturen 9.1.24 12

Vorlesung " WS 98/99 Einbettung eines DBMS in das Betriebssystem (1) Datenbankklienten: Im Regelfall (Ausnahme: "alte Terminalanwendungen") existiert ein Betriebssystemprozeß pro aktiven Anwendungsprogramm ("Klienten-Prozeß"). Der Datenbankklient besitzt lokale Anwendungs- und DB-Sitzungsdaten (Cursor, privater Puffer,...) und kommuniziert mit einem separaten DBMS-Prozeß ("Server- Prozeß"). Durch die Trennung der Adreßräume wird die Integrität der Datenbank gesichert, eine einfache Möglichkeit zum entfernten Datenbankzugriff geliefert, aber auch ein Kopieren von Daten zwischen Prozessen erforderlich. Ein Klient kann mit mehreren DB-Servern (evtl. von verschiedenen Herstellern) gleichzeitig interagieren. Problematisch: Elementweiser Datenaustausch über den Adreßraum des Klienten Transaktionale Bearbeitung über Datenbankgrenzen hinweg Viele Datenbankhersteller bieten daher Gateways zu anderen Datenbanksystemen an. DB-Systemarchitekturen 9.1.25 Einbettung eines DBMS in das Betriebssystem (2) Datenbankserver: Single-Server-Ansatz Ein einzelner zentraler DBMS-Betriebssystemprozeß verwaltet zahlreiche logische Arbeitskontexte, je einen pro aktive Transaktion. In einer Client-Server Umgebung kommunizieren viele Klienten mit diesem Server, der implizit für die Synchronisation zwischen den lokalen Daten dieser Klienten sorgt. In der Realität besteht der zentrale DBMS-Prozeß eher aus einer festen Anzahl von funktional spezialisierten, eng gekoppelten Prozessen (Lock-Manager, Archiv- Manager, Application-Manager,...) Datenbankserver: Multi-Server-Ansatz Auf Multiprozessor-Maschinen oder in eng gekoppelten Clustern kann es sinnvoll sein, gleichzeitig mehrere funktional äquivalente DBMS-Betriebssystemprozesse zu haben, die Zugriff auf die gleiche Datenbank bieten. Die Realisierung von Multi-Servern ist erheblich aufwendiger, da komplexe Synchronisations- und Fehlererholungaufgaben zu lösen sind, um die Illusion eines zentralen, konsistenten DBMS aufrechtzuerhalten. DB-Systemarchitekturen 9.1.26 13