Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

1 Prolog Kapitel 2: Dienstfunktionalität und Dienstmerkmale.

Ähnliche Präsentationen


Präsentation zum Thema: "1 Prolog Kapitel 2: Dienstfunktionalität und Dienstmerkmale."—  Präsentation transkript:

1 1 Prolog Kapitel 2: Dienstfunktionalität und Dienstmerkmale

2 2 Kapitel 2.1 Dienste in verteilten Systemen

3 3 Informatik- prozess 1 Ressourcen- Verwalter 1 Prozessschritt 1 Leistungsprozesse und Ressourcen (1) Ressourcen- Verwalter 2 Ressourcen- Verwalter 3 Ressourcen- Verwalter 4 Prozessschritt 2Prozessschritt 3Prozessschritt 4 Prozessschritt 3Prozessschritt 2Prozessschritt 1Prozessschritt 5 Informatik- prozess 2 Dienst Dienstnehmer Dienst- geber Dienst: Nach Form und Inhalt wohl definiertes Leistungsangebot eines Ressourcen-Verwalters, das Gegenstand einer Dienstleistungsvereinbarung ist. Leistungs- prozess

4 4 Informatik- prozess 1 Ressourcen- Verwalter 1 Prozessschritt 1 Leistungsprozesse und Ressourcen (2) Ressourcen- Verwalter 2 Ressourcen- Verwalter 3 Ressourcen- Verwalter 4 Prozessschritt 2Prozessschritt 3Prozessschritt 4 Prozessschritt 3Prozessschritt 2Prozessschritt 1Prozessschritt 5 Informatik- prozess 2 Dienstnehmer-Dienstgeber-Verhältnis Dienstnehmer-Dienstnehmer-Verhältnis Dienstgeber-Dienstgeber-Verhältnis Diese Vorlesung! Nur Vorkehrungen des Dienstnehmers!

5 5 Dienstfunktionalität und Dienstmerkmale (1) Algorithmen und Datenstrukturen Dienst Dienstmerkmale Bedeutungstreue Dauerhaftigkeit Allgegenwart Leistung Skalierbarkeit Robustheit Sicherheit Ressourcen-Verwalter Dienstfunktionalität Sammlung von Funktionen, die in einem erkennbaren Zusammenhang stehen, aber einzeln abgerufen werden können Von der Dienstfunktionalität in ihrer Gesamtheit zu beachtende Randbedingungen

6 6 Dienstfunktionalität und Dienstmerkmale (2) Algorithmen und Datenstrukturen Dienst Dienstmerkmale Bedeutungstreue Dauerhaftigkeit Allgegenwart Leistung Skalierbarkeit Robustheit Sicherheit Ressourcen-Verwalter Dienstfunktionalität Gemeinsames Verständnis der Daten bei allen am Austausch beteiligten Partnern Zugriff auf Daten nach ihrer Entstehung zu jeder Zeit in der Zukunft Datenzugriff zu jeder Zeit von jedem Ort Effizienz: Minimaler Verbrauch innerer Ressourcen Verfügbarkeit: Rechtzeitiger Zugang zu den Ressourcen Stetes Wachstum ohne Einbußen bei Funktionalität und Leistung Zuverlässiges Erbringen der Dienste unter Störungen und Fehlern Keine Verluste, Störungen, Ausfälle durch unbedachte oder böswillige Eingriffe X X

7 7 Kapitel 2.2 Datenbankfunktionalität

8 8 Dienstfunktionalität der Datenverwaltung Dienstfunktionen für das Entgegennehmen, Abspeichern, Ändern, Löschen, Auswählen, Bereitstellen von Daten. Dienstfunktionen besitzen domänenneutralen Charakter Wirtschaftlichkeitsgründe diktieren breitbandige Einsatzfähigkeit Generisches Vorgehen. Algorithmen und Datenstrukturen Dienst Dienstfunktionalität

9 9 Datenmodell Aspekte der Dienstfunktionalität n Beschreibung der zulässigen Datenbasiszustände Generisch: Mittel zur domänenneutralen Strukturierung der Datenbasis n Beschreibung der zulässigen Zustandsübergänge, im wesentlichen in Form der anwendbaren Operatoren Generische Operatoren =: Datenmodell

10 10 Zustände einer Datenbasis (1) Grundgedanke: Datentyp = Menge zulässiger Zustände n Typ: Menge von Objekten gleicher mathematischer Struktur. n Ausprägung (Instanz): Element eines Typs. n Polymorphes Typsystem: Menge von Typen, i.d.R. beschrieben durch: u die Festlegung gewisser atomarer Typen, z.B. »int = Menge der ganzen Zahlen, »bool = {true, false}, »date = Menge der Daten des Gregorianischen Kalenders; u die Angabe von Typkonstruktoren, mit denen Typen zu neuen Typen kombiniert werden können, z.B. »record(t 1,t 2,...,t n ): Menge der Tupel mit Komponenten aus t 1,t 2,...,t n, »set(t) = Menge der Mengen mit Elementen aus t, »list(t) = Menge der Listen mit Elementen aus t; u und Vorschriften zu deren Verwendung: Polymorphe Typen.

11 11 Zustände einer Datenbasis (2) n Polymorphe Typen: Regeln, nach denen neue Zustände aus vorhandenen zusammengestellt werden können. Diese Regeln legen zu Grunde u Typkonstruktoren u einschränkende generische Bedingungen: Polymorphe Konsistenzbedingung

12 12 Zustände einer Datenbasis (3) Um die Skalierbarkeit zu erfassen, bauen die polymorphen Typsysteme von Datenbanksystemen grundsätzlich auf Mengen von Datensätzen auf: Atomare Typen int, float, string, time PolymorpheTypen datensatz ::= [sel:atomarerTyp,..., sel:atomarerTyp] menge ::= {datensatz} Typvariable record-Typkonstruktor set-Typkonstruktor Selektor (Feldname) Konsistenzbedingung: Jeder datensatz in einer menge besitzt einen Schlüssel, d.h. einen Wert, der ihn eindeutig unter allen Datensätzen der Menge identifiziert. Also existiert Funktion key: menge atomarerTyp datensatz

13 13 Zustandsübergänge mittels Operatoren n Operatoren: mathematische Funktionen, die auf Elemente von Typen angewendet werden können, z.B. u Gleichheitstest (x y): anwendbar auf beliebige Typen u Anordnung (x y): anwendbar auf Zahlen, Daten, Zeichenketten,... u arithmetische Operationen (,,, ): anwendbar auf Zahlen u logische Operationen (and, or, not): anwendbar auf boolesche Werte u Mengenoperationen (,, ): anwendbar auf Typen, die durch Anwendung des set-Typkonstruktors entstanden sind n Monomorphe Operatoren können nur auf Elemente eines Typs angewendet werden (z.B. not). n Polymorphe Operatoren können auf Elemente unterschiedlicher (wenn auch nicht immer aller) Typen angewendet werden (z.B., oder ).

14 14 Zustandsübergänge einer Datenbasis n Ein polymorphes Typsystem hat zwingend polymorphe Operatoren Forderung nach generischen Operatoren ist erfüllt. n Zustandsübergänge: Abspeichern, Löschen von Ausprägungen von Typen in Ausprägungen von Mengentypen. n Auswählen und Bereitstellen von Elementen der Datenbasis lässt sich als der identische Zustandsübergang erfassen. Erweiterung unseres Beispiels: Polymorphe Operatoren union: menge menge menge intersect: menge menge menge insert: menge datensatz menge deleteByKey: menge atomarerTyp menge findByKey: menge atomarerTyp datensatz

15 15 Kapitel 2.3 Zustandsbezogene Dienstmerkmale in Datenbanksystemen

16 16 Bedeutungstreue (1) Daten müssen interpretierbar sein (Information) Daten müssen bei allen am Austausch beteiligten Partnern dieselbe Information besitzen Interpretation muss über die Zeit dieselbe bleiben Konventionen zur Interpretation begleiten die Daten Aufgabe des Datenverwaltungssystems Algorithmen und Datenstrukturen Dienst Dienstmerkmale Bedeutungstreue Dauerhaftigkeit Allgegenwart Leistung Skalierbarkeit Robustheit Sicherheit Dienstfunktionalität

17 17 Bedeutungstreue (2) n Interpretation erfolgt in einer auf bestimmte Aspekte beschränkten Realwelt, der Miniwelt. n Informationen sind somit gedankliche Abstraktionen (Modelle) der Miniwelt. n Daten sind daher Repräsentationen von Modellen. n Eine Datenbasis ist bedeutungstreu, wenn ihre Elemente Modelle einer gegebenen Miniwelt repräsentieren (Datenbasiskonsistenz). n Datenbasis beschreibt Zustand der Miniwelt durch mathematische Strukturen (Mengen, Tupel, Funktionen,...). Datenbasis ist damit formales Modell der Miniwelt.

18 18 Datenbasisschema (1) n Vorgehen: Einsetzen konkreter (aus dem Modell der Miniwelt gewonnener) Typen und Bezeichner für die Typvariablen bzw. Selektoren in den polymorphen Typen, polymorphen Operatoren und polymorphen Konsistenzbedingungen. n Das polymorphe Typsystem wird zu einem monomorphen Typsystem instantiiert. n Erst jetzt ist die Datenbasis interpretierbar. n Datenbasistyp: Ergebnis der Konkretisierung. n Datenbasisschema (kurz: Schema): Beschreibung eines Datenbasistyps n Folge: Durchgesetzt werden als legitim alle Zustände, die durch Ausführen der Operatoren unter Interpretation des Schemas erreicht werden können: Schemakonsistenz. n Insbesondere: Erst jetzt kann eine Datenbasis erzeugt werden.

19 19 Beispiel Realwelt: Lagerverwaltung n Reale, anfassbare Gegenstände: u Lagereinheiten mit Identnummer, Lagereinheitart, Art und Stückzahl der verpackten Artikel, Gewicht, Aufdruck, Preis, Aufstellung; u Lagerhilfsmittel mit Identnummer, Art, Gewicht, Lagerort, Beschaffungsdatum, Beschaffungspreis; n Gedankliche, in ihren Auswirkungen beobachtbare Phänomene: u Artikelart mit Identnummer, Name, Lieferdatum, Menge, Gewicht, Lieferant;

20 20 Miniwelt Lagerverwaltung n Reale, anfassbare Gegenstände: u Lagereinheiten mit Identnummer, Lagereinheitart, Art und Stückzahl der verpackten Artikel, Gewicht, Aufdruck, Preis, Aufstellung; u Lagerhilfsmittel mit Identnummer, Art, Gewicht, Lagerort, Beschaffungsdatum, Beschaffungspreis; n Gedankliche, in ihren Auswirkungen beobachtbare Phänomene: u Artikelart mit Identnummer, Name, Lieferdatum, Menge, Gewicht, Lieferant;

21 21 Beispiel für Datenbasisschema Datenbasistyp Lagerverwaltungsdatenbasis Typ ArtikelArt ::= datensatz [ ANr: string, AName: string, Menge: int, Lieferant: string, Gewicht: float ] Typ Lagereinheit ::= datensatz [ LeNr: string, LeaNr: string, ANr: string, Stückzahl: int, Gewicht: float, LhNr: string ] Typ Lagerhilfsmittel ::= datensatz [ LhNr: string, LhaNr: string, Gewicht: float, LoNr: string ] Typ ArtikelArten ::= menge {ArtikelArt} key ANr Typ Lagereinheiten ::= menge {Lagereinheit} key LeNr Typ DieLagerhilfsmittel ::= menge {Lagerhilfsmittel} key LhNr Zugrundeliegender polymorpher Typ (Schablone for monomorphe Typen) monomorphe Konsistenzbedingung mit polymorpher Grundlage Monomorpher Typ

22 22 Weitere denkbare Konsistenzbedingungen Datenbasistyp Lagerverwaltungsdatenbasis Typ ArtikelArt ::= datensatz [ ANr: string, AName: string, Menge: int, Lieferant: string, Gewicht: float ] Typ Lagereinheit ::= datensatz [ LeNr: string, LeaNr: string, ANr: string, Stückzahl: int, Gewicht: float, LhNr: string ] Typ Lagerhilfsmittel ::= datensatz [ LhNr: string, LhaNr: string, Gewicht: float, LoNr: string ] Typ ArtikelArten ::= menge {ArtikelArt} key ANr Typ Lagereinheiten ::= menge {Lagereinheit} key LeNr Typ DieLagerhilfsmittel ::= menge {Lagerhilfsmittel} key LhNr ANr AName 0 < Gewicht < 2000 ANr-Wert unter Lagereinheit kommt als Wert in ArtikelArt vor Gewicht = Σ Gewichte der aufgestellten Lagereinheiten Bedürfen ebenfalls einer polymorphen Grundlage!

23 23 Beispiel: Lagerverwaltung-Datenbasis

24 24 Datenbasisschema (2) n Vor dem Anlegen einer Datenbasis muss dem Verwaltungssystem noch mitgeteilt werden, welche Zustandsräume unter eigenem Namen angelegt und wie sie benannt werden sollen. n Wie in einer Programmiersprache: Definieren von Variablen, nachdem zuvor die benötigten Typen deklariert wurden. n Für eine Datenbasis: Definieren von Wurzelobjekten, die man als persistente Variablen auffassen kann. Root alleArtikelArten : ArtikelArten Root alleLagereinheiten : Lagereinheiten Root alleLagerhilfsmittel : DieLagerhilfsmittel

25 25 Konsistente Zustände (1) Zusammenfassung: n Voraussetzung für den Betrieb: Vorliegen eines Schemas, da nur so die Wirkung der Operatoren (= Dienstfunktionen) definiert ist. n Ein Datenverwaltungssystem gewährleistet (Schema-) Konsistenz, wenn seine Dienstfunktionen stets einen (schema-)konsistenten Zustand seiner Datenbasis wieder in einen (schema-)konsistenten Zustand überführen. u Gehorcht die Datenbasis einer wie immer gearteten Schemakonsistenz vor Ausführen einer Dienstfunktion, so gehorcht sie ihr auch zum Abschluss der Ausführung.

26 26 Konsistente Zustände (2) Idealfall: volle, aktuelle Übereinstimmung von Datenbasis und Miniwelt Datenbasiskonsistenz min 100% Legitime Zustände durch Ausführen der Operatoren mit Interpretation des Schemas Schemakonsistenz Bedeutungstreue Datenmodell legt Regeln fest, nach denen Zustandsräume konstruiert werden können. Schema legt bestimmten Zustandsraum fest. Monomorphe Konsistenz- bedingungen

27 27 Konsistente Zustände (3) Idealfall: volle, aktuelle Übereinstimmung von Datenbasis und Miniwelt Datenbasiskonsistenz min 100% Legitime Zustände durch Ausführen der Operatoren mit Interpretation des Schemas Schemakonsistenz Bedeutungstreue Datenmodell legt Regeln fest, nach denen Zustandsräume konstruiert werden können. Schema legt bestimmten Zustandsraum fest. Monomorphe Konsistenz- bedingungen Ausführung von Transaktionsprozeduren Transaktionsprozedur: Dienstprozedur als frei definierte Abfolge von Operationen, die Zustandsübergänge einschränkt: Prozedurale Kontrolle der Konsistenz

28 28 Transaktionsprozeduren (1) n Die Operatoren bleiben polymorph, entwickeln aber monomorphe Wirkung durch Interpretation des Schemas. n Monomorph definieren sie die schemakonsistenten Zustandsübergänge. n Erwünscht: Weitere Einschränkung von Zustandsübergängen in Richtung Datenbasiskonsistenz. Dies ist nur möglich, indem man erst Abfolgen von Operationen für konsistent erklärt. n Transaktionsprozedur: Dienfunktion als frei definierte Abfolge von Operationen mit konsistentem Ergebnis.

29 29 Beispiel: n Wird eine ArtikelArt nicht mehr geführt, so ist deren Datensatz mit der entsprechenden ANr aus der Menge der Artikelarten zu entfernen, gleichzeitig sind alle Lagereinheit-Datensätze, die sich auf diese ANr beziehen, zu entfernen (in der Realwelt sind die Artikel abzustoßen). n Beachte: Die Bedeutungstreue ist erst zu Ende der Prozedur sichergestellt ist, während der Ausführung, also am Ende einzelner Operationen, muss sie nicht zutreffen. Transaktionsprozeduren (2)

30 30 Zustandsübergänge Folgerung: n Um zu verhindern, dass Operatoren unter Missachtung ihres Kontextes ausgeführt werden und damit zu wenig Konsistenz erreicht wird: Als Dienstfunktionen sind ausschließlich Transaktionsprozeduren zulässig. u Die Bedeutungstreue ist an das Ende der Prozedur gebunden, während der Ausführung, also am Ende einzelner Operationen, muss sie nicht zutreffen. u Daher dürfen Konsistenzbedingungen erst am Ende durchgesetzt werden, die Operatoren sind von deren Durchsetzung frei zu halten. n Transaktionsprozeduren können vorab oder spontan definiert werden. Konsistenz: Grad an Bedeutungstreue einer Datenbasis

31 31 Bedeutungstreue: Zusammenfassung Elementare Zustandsräume Konstruktoren für Zustandsräume Operatoren Datenmodell Konkreter Zustandsraum Konkrete Konsistenz- bedingungen DB-Schema Konkrete Zustände (schemaverträglich ) Transaktionsproze- duren (einzelne oder Folge von Operatn.) Datenbasis Grundsätzliche Organisation des DBMS Organisation der DB für eine bestimmte Miniwelt Beschreibung eines bestimmten Zustands der Miniwelt DB-EntwurfDB-Betrieb

32 32 Dienstnehmer-Dienstgeber-Protokolle 1.Datendefinitionssprache (DDL; engl.: data definition language) zur Schemaformulierung. 2.Datenmanipulationssprache (DML; engl.: data manipulation language), bestimmt durch die Operatoren des Datenmodells zum nachfolgenden Umgang mit der Datenbasis: - Eigenständige Anfragesprachen (engl.: query languages) für den Dialog von Teilnehmer und Datenhaltungssystem. - In Programmiersprache (Wirtssprache, engl.: host language) eingebettete Anfragesprache für die Weiterverarbeitung der ausgewählten Daten durch Anwendungsprogramme. - Datenbankprogrammiersprachen für die vollständige Integration des Datenmodells einschließlich DDL in eine Programmiersprache. 3.Regeln zur sprachlichen Formulierung von Transaktionsprozeduren: Beginn und Abschluss der Ausführung, Rückkehr zum Zustand zu Beginn der Ausführung.

33 33 Dauerhaftigkeit (1) Verbringen der Daten auf nichtflüchtiges Speichermedium genügt nicht. Dauerhafte Daten müssen zudem konsistent sein. Das sind sie, wenn sie von einer erfolgreich ausgeführten Transaktionsprozedur stammen. Dauerhaftigkeit ist die andauernde Nichtflüchtigkeit gewisser, in jedem Fall konsistenter Datenbasiszustände (Unverletzlichkeit der Datenbasis). Algorithmen und Datenstrukturen Dienst Dienstmerkmale Bedeutungstreue Dauerhaftigkeit Allgegenwart Leistung Skalierbarkeit Robustheit Sicherheit Dienstfunktionalität

34 34 Dauerhaftigkeit (2) n Unbegrenzt lange Speicherung der Daten verschärft die Forderung nach Konsistenz, denn es steigt die Wahrscheinlichkeit, dass durch Störungen oder Fehler die Daten in ihrem Inhaltsbezug korrumpiert werden. n Beispiele: Ausfall von Hintergrundspeichern, Datenträgern oder dem Rechner; externe Ereignisse wie Feuer, Wasser, Klima, Alterung mit physischer Vernichtung der Datenbasis.

35 35 Kapitel 2.4 Zustandsübergangsbezogene Dienstmerkmale in Datenbanksystemen

36 36 Durchsetzen von Konsistenz Informatik- prozess 1 Ressourcen- Verwalter 1 Prozessschritt 1 Ressourcen- Verwalter 2 Ressourcen- Verwalter 3 Ressourcen- Verwalter 4 Prozessschritt 2Prozessschritt 3Prozessschritt 4 Prozessschritt 3Prozessschritt 2Prozessschritt 1Prozessschritt 5 Informatik- prozess 2 Datenbasis- transaktion Anwendungstransaktion Ausführung einer Transaktionsprozedur Konsistente Ausführung eines Leistungsprozesses Ausführung einer Transaktionsprozedur

37 37 Robustheit 1: Persistenz Erreichen eines konsistenten nichtflüchtigen Zustands: Persistenz Algorithmen und Datenstrukturen Dienst Dienstmerkmale Bedeutungstreue Dauerhaftigkeit Allgegenwart Leistung Skalierbarkeit Robustheit Sicherheit Dienstfunktionalität

38 38 Persistenz n Folgerung: Eine Transaktion strebt stets einen persistenten Zustand an. u Da eine Transaktion ein persistentes Ergebnis bewirkt, ist der Abschluss einer Transaktion ein Persistenz-Ereignis. u Die Transaktionsprozedur ist so zu entwerfen, dass man sie für beendet erklärt genau dann, wenn ihre Ergebnisse nicht mehr verloren gehen dürfen. »Wann ein persistenter Zustand vorliegt, muss also ausdrücklich dem Datenverwaltungssystem bekannt gemacht werden. n Somit: Transaktionsabschluss bewirkt Eintritt in die Dauerhaftigkeit. u Garantie: Effekte von abgeschlossenen Zustandsübergängen gehen nicht mehr durch Störungen verloren.

39 39 Robustheit 2: Resistenz Wahrung von Persistenz (und damit auch Konsistenz) auch unter dem Einfluss von Störungen: Resistenz Störung des Dienstnehmer-Dienstgeber-Verhältnisses: Fehler-Resistenz. Störung des Dienstnehmer-Dienstnehmer-Verhältnisses: Konflikt-Resistenz. Algorithmen und Datenstrukturen Dienst Dienstmerkmale Bedeutungstreue Dauerhaftigkeit Allgegenwart Leistung Skalierbarkeit Robustheit Sicherheit Dienstfunktionalität

40 40 Fehler-Resistenz (1) n Fehler-Resistenz: Angeforderter Zustandsübergang wird entweder wie verlangt durchgeführt u So lange es zu keinen Störungen kommt, wird die Datenbasis einfach fortentwickelt. n oder wenn Zustandsübergang wegen Störung nicht abgeschlossen werden kann, strebt Datenbasis einen anderen persistenten (und somit konsistenten) Zustand an. u Beispiel: In einer Transaktion wird ein insert-Operator gezwungen, gegen die Schlüsselbedingung zu verstoßen. u Verbreitet: Kommt eine Transaktion nicht zum Abschluss, so ist der jüngste persistente Zustand der Zustand unmittelbar vor Ausführung der Transaktion. Man wird daher diesen Zustand wieder herstellen. u Alternativ: Korrekturaktion.

41 41 Fehler-Resistenz (2) Beispiele für Störungen: n Fehlerhafte Eingaben; Programmierfehler; unbeabsichtigte Wechselwirkung von Dienstleistungen für unterschiedliche Dienstnehmer; Programmfehler in der Datenverwaltungssoftware; Ausfall von Hintergrundspeichern, Datenträgern oder dem Rechner.

42 42 Beispiel-Transaktion n Gewünschter Zustandsübergang: Ausmusterung eines Artikels. n Transaktionsprozedur: u Entferne zugehörigen Datensatz aus Tabelle ArtikelArt. u Ersetze in Tabelle Lagereinheit alle Vorkommen der alten ANr durch ANr des Ersatzartikels. n Beachte: Datenbasis-Zustand ist zwischen Schritt 1 und 2 inkonsistent, davor und danach konsistent. n Resistenz garantiert, dass bei Störung entweder Zustand vor Schritt 1 oder nach Schritt 2 erreicht wird. n Persistenz garantiert, dass nach Abschluss von Schritt 2 Ergebnis nicht mehr verloren gehen kann.

43 43 Leistungs- prozess 1 Ressourcen- Verwalter 1 Prozessschritt 1 Resistentes Dienstnehmer-Dienstnehmer-Verhältnis Ressourcen- Verwalter 2 Ressourcen- Verwalter 3 Ressourcen- Verwalter 4 Prozessschritt 2Prozessschritt 3Prozessschritt 4 Prozessschritt 3Prozessschritt 2Prozessschritt 1Prozessschritt 5 Leistungs- prozess 2 Dienst Dienstnehmer Dienst- geber Dienstfunktionalität Konsistenz Persistenz Fehler-Resistenz Störfaktor für die Konsistenz: Bemühen sich mehrere Dienstnehmer-Transaktionen zur selben Zeit um dieselbe Ressource, so kann es zu einer unerwünschten Wechselwirkung zwischen ihnen kommen (Konflikt). Konkurrenz

44 44 Konflikt-Resistenz n Konfliktverhalten von Transaktionen durch Konkurrenz um gemeinsame Daten (engl.: concurrency für Nebenläufigkeit). n Gefordert: Resistenz gegen Konflikte: Konflikt-Resistenz. n Benötigt: Protokoll, das Konflikte zwischen nebenläufigen Dienstnehmer-Transaktionen eines Datenverwaltungssystems unterbindet (Synchronisations- Protokoll). n Korrektheitskriterium: Wahrung der Konsistenz durch: Konkurrierende Datenbasistransaktionen sind dann korrekt synchronisiert, wenn jede so abläuft als ob sie ohne Konkurrenz wäre, insbesondere also dem Dienstnehmer keinen inkonsistenten Datenbasiszustand präsentiert und bei Abschluss einen persistenten Datenbasiszustand erreicht.

45 45 Transaktionen n Transaktionsbegriff fasst Konsistenz, Persistenz und Resistenz zusammen: n Transaktion: resistente Ausführung eines konsistenten Zustandsübergangs (Operator oder Transaktionsprozedur) mit Persistenz des Endzustands.

46 46 Skalierbarkeit und Leistung (1) Enge Wechselwirkung zwischen Skalierbarkeit und Leistung Daher gemeinsame Betrachtung: Performanz Algorithmen und Datenstrukturen Dienst Dienstmerkmale Bedeutungstreue Dauerhaftigkeit Allgegenwart Leistung Skalierbarkeit Robustheit Sicherheit Dienstfunktionalität

47 47 Skalierbarkeit und Leistung (2) Aspekte der Leistung: n Effizienz: Möglichst geringer Ressourcenverbrauch durch die Dienste. n Verfügbarkeit: Bedarfsaktueller Zugang zu den Ressourcen. Aspekte der Skalierbarkeit: n Wachstum der Datenbasis Wachstum der Transaktionslast Effizienz Verfügbarkeit Skalierbarkeit

48 48 Kapitel 2.5 Datenbanksysteme

49 49 Typsystem + polymorphe Operatoren Dienstfunktionalität Datenmodell Dauerhaftigkeit erfolgreicher Zustandsübergänge Mengenkonstrukt im Typsystem, effiziente Datenstrukturen und Operator-Algorithmen, Verteilung Dienstfunktionalität und Dienstmerkmale Algorithmen und Datenstrukturen Dienst Dienstmerkmale Bedeutungstreue Konsistenz Dauerhaftigkeit Leistung |Performanz Skalierbarkeit| Robustheit Persistenz/Resistenz Schema = konkrete Typen + Konsistenzbedingungen, Datenbasis = konkrete Typausprägungen durch Transaktionen Wechselwirkungsfreie Ganz-oder-gar-nicht- Abwicklung von Zustandsübergängen

50 50 Standardisierte Datenmodelle Feststellung: Ein Datenverwaltungssystem realisiert ein einziges Datenmodell. Wirtschaftlichkeitsaspekte: n DBMS sind für Anbieter und Anwender extrem hohe Investitionen. n Zudem müssen die Datenbestände jederzeit wiederverwendbar und austauschbar sein. Folgerung: n Einführung standardisierter Datenmodelle. n Anwendung muss sich für eines dieser Datenmodelle entscheiden.

51 51 Bewertungskriterien für Datenmodelle (1) Strukturelle Mächtigkeit n Maß für die Anzahl unterschiedlicher polymorpher Typen und damit für die Vielfalt der Strukturierungsmöglichkeiten. n Z.B. Mengenmodell: Es gibt Datensätze und Mengen als die zwei polymorphen Typen. Strukturelle Orthogonalität n Maß für die Freizügigkeit, mit der sich die polymorphen Typen kombinieren lassen. n Z.B. Mengenmodell: Bescheidene Orthogonalität, denn man kann lediglich atomare Werte zu Datensätzen und Datensätze zu Mengen kombinieren, aber beispielsweise Mengen nicht selbst wieder zu Untermengen von Mengen machen.

52 52 Bewertungskriterien für Datenmodelle (2) Operationelle Verknüpfbarkeit n Maß für die Freizügigkeit, mit der sich die aus den Typausdrücken hervorgegangenen Datenstrukturen durch Operatoren ineinander überführen lassen. n Z.B. Mengenmodell: Geringe Verknüpfbarkeit, denn die Operatoren sind nur auf Mengen definiert und Mengen können nur ineinander überführt werden. Operationelle Generizität n Position der Operatoren im Spektrum zwischen Polymorphie und Monomorphie. n Ein polymorpher Operator ist ausschließlich an einen polymorphen Typ gebunden, also gleichermaßen auf alle daraus gewonnenen Typen anwendbar. Daher besitzt er weite Einsatzbreite, kann aber auf keine semantischen Feinheiten eingehen. n Dies kann umgekehrt ein typgebundener (monomorpher) Operator.

53 53 Bewertungskriterien für Datenmodelle (3) Graphische Darstellungen für Mächtigkeit und Orthogonalität Charakteristika: n Polymorphe Typen sind Knoten. n X Y bedeutet, dass X Argument des Konstruktors von Y ist. MengeDatensatz atomarer Wert Graphische Darstellung für Verknüpfbarkeit Charakteristika: n Polymorphe Typen sind Knoten. n Ein von X und Y ausgehender, zusammengeführter Pfeil nach Z besagt, dass sich Z aus X und Y berechnet. n Die Benennung der Operation steht neben dem Pfeil. n Anmerkung: Illustration an einem veränderten Mengenmodell! MengeDatensatz atomarer Wert insert,delete read create

54 54 Kapitel 2.6 Diese Vorlesung

55 55 Datenverwaltungssystem Datenbasis-Verwaltungssystem (Ressourcen-Verwalter) Dienstnehmer Datenverwaltungs-Schnittstelle (Dienstfunktionalität) Dienstgeber Datenbasis (Ressource) Dienstmerkmale Diese Vorlesung

56 56 Dienstfunktionalität Datenmodell Dienstfunktionalität und Dienstmerkmale Algorithmen und Datenstrukturen Dienst Dienstmerkmale Bedeutungstreue Konsistenz Dauerhaftigkeit Leistung |Performanz Skalierbarkeit| Robustheit Persistenz/Resistenz Datenbank- einsatz Datenbank- implementierung Transaktions- verwaltung

57 57 Gliederung (1) Elementare Zustandsräume Konstruktoren für Zustandsräume Operatoren Datenmodell Konkreter Zustandsraum Konkrete Konsistenz- bedingungen DB-Schema Konkrete Zustände (schemaverträglich ) Transaktionsproze- duren (einzelne oder Folge von Operatn.) Datenbasis Grundsätzliche Organisation des DBMS Organisation der DB für eine bestimmte Miniwelt Beschreibung eines bestimmten Zustands der Miniwelt DB-EntwurfDB-Betrieb Teil I Teil IIan Beispielen Datenmodell DatenbasisschemaDatenbasis

58 58 Gliederung (2) Teil I: Datenmodelle n Das relationale Modell n Relationale Sprachen n Objektorientierte Modelle n Objektorientierte Sprachen n Semistrukturierte Daten: XML n Objektrelationale Modelle n Transformation und Sichten n Transaktionen Teil II: Datenbankentwurf n Struktur des Entwurfsprozesses n Objektorientierter Entwurf (UML) n Übersetzung auf logische Datenmodelle n Relationentheorie und Normalisierung n Sichtenerstellung und Konsolidierung


Herunterladen ppt "1 Prolog Kapitel 2: Dienstfunktionalität und Dienstmerkmale."

Ähnliche Präsentationen


Google-Anzeigen