Terminologie. Kapitel 17 Verteilte Datenbanken. Use Cases. Kommunikationsmedien. Multi-Datenbanksysteme. Verteilte Datenbank
|
|
- Kristian Geier
- vor 6 Jahren
- Abrufe
Transkript
1 Kapitel 17 Verteilte Datenbanken Motivation: geographisch verteilte Organisationsform einer Bank mit ihren Filialen + Filialen sollen Daten lokaler Kunden bearbeiten können + Zentrale soll Zugriff auf alle Daten haben (z.b. für Kontogutheissungen) Terminologie Verteilte Datenbank Sammlung von Informationseinheiten, verteilt auf mehreren Rechnern, verbunden mittels Kommunikationsnetz nach Ceri & Pelagatti (1984) Kooperation zwischen autonom arbeitenden Stationen, zur Durchführung einer globalen ufgabe Lose integrierte Datenbanken / Multi-Datenbanksysteme utonomes rbeiten utonome Strukturierung Keine gemeinsame Verwaltung 2 Use Cases Kommunikationsmedien Verteilte Datenbank Multi-Datenbanksysteme Bank mit Filialen Data Warehousing Legacy Datenbanken Integration von Datenbanken verschiedener Unternehmen LN: local area network, z.b. Ethernet, Token-Ring oder FDDI-Netz WN: wide area network, z.b. das Internet Telefonverbindungen, z.b. ISDN oder einfache Modem- Verbindungen 3 4
2 Verteiltes Datenbanksystem Client-Server-rchitektur Client C 1 Station S 1 Kommunikat Station S 2 ionsnetz Station S 3 Client C 2 Kommunikat ionsnetz Server 5 6 ufbau und Entwurf eines verteilten Datenbanksystems lokales Schema globales Schema Fragmentierungsschema Zuordnungsschema... lokales Schema Fragmentierung und llokation einer Relation Fragmentierung: Fragmente enthalten Daten mit gleichem Zugriffsverhalten llokation: Fragmente werden den Stationen zugeordnet - mit Replikation - ohne Replikation lokales DBMS... lokales DBMS lokale DB Station S lokale DB Station S n 7 8
3 Fragmentierung llokation (Zuordnung) Fragmentierung R R 1 1 R 1 R 1 2 Station S 1 horizontale Fragmentierung: Zerlegung der Relation in disjunkte Tupelmengen R 2 vertikale Fragmentierung: Zusammenfassung von ttributen mit gleichem Zugriffsmuster R 3 R 2 1 R 2 3 Station S 2 kombinierte Fragmentierung: nwendung horizontaler und vertikaler Fragmentierung auf dieselbe Relation R 3 Station S Korrektheits-nforderungen Beispielrelation Professoren Rekonstruierbarkeit PersNr Name Rang Professoren Raum Fakultät Gehalt Steuerklasse 2125 Sokrates C4 226 Philosophie Vollständigkeit 2126 Russel C4 232 Philosophie Kopernikus C3 310 Physik Disjunktheit Popper ugustinus C3 C Philosophie Theologie Curie C4 36 Physik Kant C4 7 Philosophie
4 Horizontale Fragmentierung sinnvolle Gruppierung der Professoren nach Fakultätszugehörigkeit: abstrakte Darstellung: R 3 Zerlegungsprädikate: R 1 R 2 R 3 p 1 Fakultät = Theologie p 2 Fakultät = Physik p 3 Fakultät = Philosophie Für 2 Prädikate p 1 und p 2 ergeben sich 4 Zerlegungen: R1 := σ p1 p 2 (R) R2 := σ p1 p 2 (R) R3 := σ p1 p 2 (R) R4 := σ p1 p 2 (R) n Zerlegungsprädikate p 1,...,p n ergeben 2 n Fragmente 13 TheolProfs := σ p1 p2 p3 (Professoren) = σ p1 (Professoren) PhysikProfs := σ p1 p2 p3 (Professoren) = σ p2 (Professoren) PhiloProfs := σ p1 p2 p3 (Professoren) = σ p3 (Professoren) ndereprofs := σ p1 p2 p3 (Professoren) 14 bgeleitete horizontale Fragmentierung Beispiel Vorlesungen aus dem Universitätsschema: Zerlegung in Gruppen mit gleicher SWS-Zahl 2SWSVorls := σ SWS=2 (Vorlesungen) 3SWSVorls := σ SWS=3 (Vorlesungen) 4SWSVorls := σ SWS=4 (Vorlesungen) select Titel, Name from Vorlesungen, Professoren where gelesenvon = PersNr; resultiert in: Π Titel, Name ((TheolProfs n2swsvorls) (TheolProfs 3SWSVorls)... (PhiloProfs 4SWSVorls) ) Join-Graph zu diesem Problem: für nfragebearbeitung schlechte Zerlegung TheolProfs PhysikProfs 2SWSVorls 3SWSVorls 15 PhiloProfs 4SWSVorls 16
5 Lösung: abgeleitete Fragmentierung TheolProfs TheolVorls PhysikProfs PhysikVorls PhiloProfs PhiloVorls TheolVorls := Vorlesungen E gelesenvon=persnr TheolProfs PhysikVorls := Vorlesungen E gelesenvon=persnr PhysikProfs PhiloVorls := Vorlesungen E gelesenvon=persnr PhiloProfs Vertikale Fragmentierung abstrakte Darstellung: R Π Titel, Name ((TheolProfs p TheolVorls) (PhysikProfs p PhysikVorls) (PhiloProfs p PhiloVorls) ) mit p (PersNr = gelesenvon) 17 R 1 κ R 2 18 Vertikale Fragmentierung Vertikale Fragmentierung (Beispiel) Beliebige vertikale Fragmentierung gewährleistet keine Rekonstruierbarkeit 2 mögliche nsätze, um Rekonstruierbarkeit zu garantieren: jedes Fragment enthält den Primärschlüssel der Originalrelation. ber: Verletzung der Disjunktheit jedem Tupel der Originalrelation wird ein eindeutiges Surrogat (= künstlich erzeugter Objektindikator) zugeordnet, welches in jedes vertikale Fragment des Tupels mit aufgenommen wird 19 für die Universitätsverwaltung sind PersNr, Name, Gehalt und Steuerklasse interessant: ProfVerw := Π PersNr, Name, Gehalt, Steuerklasse (Professoren) für Lehre und Forschung sind dagegen PersNr, Name, Rang, Raum und Fakultät von Bedeutung: Profs := Π PersNr, Name, Rang, Raum, Fakultät (Professoren) Rekonstruktion der Originalrelation Professoren: Professoren = ProfVerw ProfVerw.PersNr = Profs.PersNr Profs 20
6 Kombinierte Fragmentierung a) horizontale Fragmentierung nach vertikaler Fragmentierung R Rekonstruktion nach kombinierter Fragmentierung R 21 R 1 R 2 R 22 R 23 b) vertikale Fragmentierung nach horizontaler Fragmentierung R R 1 R 2 Fall a) R = R 1 p (R 21 R 22 R 23 ) Fall b) R = R 1 R 2 (R 31 R31. κ =R 32. κ R 32 ) R 3 R 31 R Baumdarstellung der Fragmentierungen (Beispiel) Professoren v llokation Dasselbe Fragment kann mehreren Stationen zugeordnet werden llokation für unser Beispiel ohne Replikationen redundanzfreie Zuordnung Profs h ProfVerw Vorlesungen h Station S Verw S Physik S Philo S Theol Bemerkung Verwaltungsrechner Dekanat Physik Dekanat Philosophie Dekanat Theologie zugeordnete Fragemente {ProfVerw} {PhysikVorls, PhysikProfs} {PhiloVorls, PhiloProfs} {TheolVorls, TheolProfs} PhysikProfs TheolProfs PhiloProfs PhysikVorls TheolVorls PhiloVorls 23 24
7 Transparenz in verteilten Datenbanken Fragmentierungstransparenz Beispielanfrage, die Fragmentierungstransparenz voraussetzt: Grad der Unabhängigkeit den ein VDBMS dem Benutzer beim Zugriff auf verteilte Daten vermittelt verschiedene Stufen der Transparenz: Fragmentierungstransparenz llokationstransparenz Lokale Schema-Transparenz select Titel, Name from Vorlesungen, Professoren where gelesenvon = PersNr; Beispiel für eine Änderungsoperation, die Fragmentierungstransparenz voraussetzt: update Professoren set Fakultät = Theologie where Name = Sokrates ; Fortsetzung Beispiel llokationstransparenz Ändern des ttributwertes von Fakultät Transferieren des Sokrates-Tupels aus Fragment PhiloProfs in das Fragment TheolProfs (= Löschen aus PhiloProfs, Einfügen in TheolProfs) Ändern der abgeleiteten Fragmentierung von Vorlesungen (= Einfügen der von Sokrates gehaltenen Vorlesungen in TheolVorls, Löschen der von ihm gehaltenen Vorlesungen aus PhiloVorls) Benutzer müssen Fragmentierung kennen, aber nicht den ufenthaltsort eines Fragments Beispielanfrage: select Gehalt from ProfVerw where Name = Sokrates ; 27 28
8 llokationstransparenz (Forts.) Lokale Schema-Transparenz unter Umständen muss Originalrelation rekonstruiert werden Beispiel: Verwaltung möchte wissen, wieviel die C4-Professoren der Theologie insgesamt verdienen da Fragmentierungstransparenz fehlt muss die nfrage folgendermaßen formuliert werden: select sum (Gehalt) from ProfVerw, TheolProfs where ProfVerw.PersNr = TheolProfs.PersNr and Rang = C4 ; 29 Der Benutzer muss auch noch den Rechner kennen, auf dem ein Fragment liegt. Beispielanfrage: select Name from TheolProfs at S Theol where Rang = C3 ; 30 Lokale Schema-Transparenz (Forts.) nfrageübersetzung und nfrageoptimierung Ist überhaupt Transparenz gegeben? Lokale Schema-Transparenz setzt voraus, dass alle Rechner dasselbe Datenmodell und dieselbe nfragesprache verwenden. vorherige nfrage kann somit analog auch an Station S Philo ausgeführt werden Dies ist nicht möglich bei Kopplung unterschiedlicher DBMS. Voraussetzung: Fragmentierungstransparenz ufgabe des nfrageübersetzers: Generierung eines nfrageauswertungsplans auf den Fragmenten ufgabe des nfrageoptimierers: Generierung eines möglichst effizienten uswertungsplanes abhängig von der llokation der Fragmente auf den verschiedenen Stationen des Rechnernetzes Verwendung grundsätzlich verschiedener Datenmodelle auf lokalen DBMS nennt man Multi-Database-Systems (oft unumgänglich in realer Welt)
9 nfragebearbeitung bei horizontaler Fragmentierung Übersetzung einer SQL-nfrage auf dem globalen Schema in eine äquivalente nfrage auf den Fragmenten benötigt 2 Schritte: Beispiel select Titel from Vorlesungen, Profs where gelesenvon = PersNr and Rang = C4 ; Der entstandene algebraische usdruck heißt kanonische Form der nfrage: Π Titel Rekonstruktion aller in der nfrage vorkommenden globalen Relationen aus den Fragmenten, in die sie während der Fragmentierungsphase zerlegt wurden. Hierfür erhält man einen algebraischen usdruck. Kombination des Rekonstruktionsausdrucks mit dem algebraischen nfrageausdruck, der sich aus der Übersetzung der SQL-nfrage ergibt. σ Rang= C4 gelesenvon=persnr 33 TheolVorls PhiloVorls PhysikVorls TheolProfs PhiloProfs PhysikProfs 34 lgebraische Äquivalenzen Für eine effizientere barbeitung der nfrage benutzt der nfrageoptimierer die folgende Eigenschaft: (R 1 R 2 ) p (S 1 S 2 ) = (R 1 >< p S 1 ) (R 1 p S 2 ) (R 2 p S 1 ) (R 2 p S 2 ) Die Verallgemeinerung auf n horizontale Fragmente R 1,...,R n von R und m Fragmente S 1,...,S m von S ergibt: (R 1... R n ) p (S 1... S m ) = (R i p S j ) 1 i n 1 j m Falls gilt: S i = S E p R i mit S = S i... S n Dann gilt immer: R i p S j = für r i j 35 lgebraische Äquivalenzen (Forts.) Für eine derartig abgeleitete horizontale Fragmentierung von S gilt somit: (R 1... R n ) p (S 1... S m ) = (R 1 p S 1 ) (R 2 p S 2 )... (R n p S n ) Für unser Beispiel gilt nun folgendes: (TheolVorls PhysikVorls PhiloVorls)... (TheolProfs PhysikProfs PhiloProfs) Um Selektionen und Projektionen über den Vereinigungsoperator hinweg nach unten zu drücken benötigt man folgende Regeln: σ p (R 1 R 2 ) = σ p (R 1 ) σ p (R 2 ) Π L (R 1 R 2 ) = Π L (R 1 ) Π L (R 2 ) 36
10 Optimale Form der nfrage Die nwendung dieser algebraischen Regeln generiert den folgenden uswertungsplan: Π Titel gelesenvon=persnr Π Titel gelesenvon=persnr Π Titel gelesenvon=persnr nfragebearbeitung bei vertikaler Fragmentierung Beispiel: select Name, Gehalt from Professoren where Gehalt > 80000; kanonischer uswertungsplan: Π Name, Gehalt σ Gehalt>80000 σ Rang= C4 σ Rang= C4 σ Rang= C4 TheolVorls TheolProfs PhysikVorls PhysikProfs PhiloVorls PhiloProfs ProfVerw uswertungen können lokal auf den Stationen S Theol, S Physik und S Philo ausgeführt werden Stationen können parallel abarbeiten und lokales Ergebnis voneinander unabhängig an die Station, die die abschliessende Vereinigung durchführt, übermitteln. 37 TheolProfs PhysikProfs PhiloProfs 38 Optimierung bei vertikaler Fragmentierung Für unser Beispiel gilt: lle notwendigen Informationen sind in ProfVerw enthalten der Teil mit Vereinigung und Join kann abgeschnitten werden. Das ergibt den folgenden Π optimierten uswertungsplan: Name, Gehalt σ Gehalt>80000 ProfVerw Der natürliche Verbund zweier Relationen R und S R B C a 1 a 2 a 3 a 4 b 1 b 2 b 3 b 4 c 1 c 2 c 1 c 2 S C D E c 1 c 3 c 4 c 5 d 1 d 2 d 3 d 4 e 1 e 2 e 3 e 4 = a 1 a 3 B b 1 b 3 R S C D E c 1 c 1 d 1 d 1 e 1 e 1 Beispiel für eine schlecht zu optimierende nfrage: (ttribut Rang fehlt in ProfVerw) select Name, Gehalt, Rang from Professoren a 5 a 6 b 5 b 6 a 7 b 7 c 6 c 5 d 7 e 7 where Gehalt > 80000; c 3 c 2 c 7 c 8 d 5 d 6 e 5 e 6 a 5 b 5 c 3 d 2 e 2
11 Join-uswertung in VDBMS Join-uswertung spielt kritischere Rolle als in zentralisierten Datenbanken Problem: rgumente eines Joins zweier Relationen können auf unterschiedlichen Stationen des VDBMS liegen 2 Möglichkeiten: Join-uswertung mit und ohne Filterung Betrachtung des allgemeinsten Falles: äußere rgumentrelation R ist auf Station St R gespeichert innere rgumentrelation S ist dem Knoten St S zugeordnet Ergebnis der Joinberechnung wird auf einem dritten Knoten St Result benötigt Join-uswertung ohne Filterung Nested-Loops Nested-Loops Transfer einer rgumentrelation Transfer beider rgumentrelationen Iteration durch die äußere Relation R mittels Laufvariable r und nforderung des zu jedem Tupel r passenden Tupel s S mit r.c = s.c (über Kommunikationsnetz bei St S ) Diese Vorgehensweise benötigt pro Tupel aus R eine nforderung und eine passende Tupelmenge aus S (welche bei vielen nforderungen leer sein könnte) es werden 2 R Nachrichten benötigt 43 44
12 Transfer einer rgumentrelation Transfer beider rgumentrelationen vollständiger Transfer einer rgumentrelation (z.b. R) zum Knoten der anderen rgumentrelation usnutzung eines möglicherweise auf S.C existierenden Indexes 1. Transfer beider rgumentrelationen zum Rechner St Result 2. Berechnung des Ergebnisses auf den Knoten St Result mittels a) Merge-Join (bei vorliegender Sortierung) oder b) Hash-Join (bei fehlender Sortierung) evtl. Verlust der vorliegenden Index für die Join- Berechnung kein Verlust der Sortierung der rgumentrelation(en) Join-uswertung mit Filterung Verwendung des Semi-Join-Operators zur Filterung Schlüsselidee: nur Transfer von Tupel, die passenden Join-Partner haben Benutzung der folgenden algebraischen Eigenschaften: R S = R (R FS) R F S = Π C (R) F S Join-uswertung mit Filterung (Beispiel, Filterung der Relation S) Transfer der unterschiedlichen C-Werte von R (= Π C (R) ) nach St S uswertung des Semi-Joins R F S = Π C (R) F S auf St S und Transfer nach St R uswertung des Joins auf St R, der nur diese transferierten Ergebnistupel des Semi-Joins braucht Transferkosten werden nur reduziert, wenn gilt: Π C (R) + R F S < S mit P = Größe (in Byte) einer Relation 47 48
13 15 ttributwerte... R (Π C (R) F S) B C D E a 1 b 1 c 1 d 1 e 1 a 3 b 3 c 1 d 1 e 1 a 5 b 5 c 3 d 2 C c 1 c 2 c 3 c 6 R B C a 1 b 1 c 1 a 2 b 2 c 2 a 3 b 3 c 1 a 4 b 4 c 2 a 5 b 5 c 3 a 6 b 6 c 2 a 7 b 7 c 6 Π C e 2 St Result 6 ttributwerte 4 ttributwerte St R St S Π C (R) F S C D E c 1 c 3 d 1 d 2 e 1 e 2 F S C D E c 1 d 1 e 1 c 3 d 2 e 2 c 4 d 3 e 1 c 5 d 4 e 2 c 7 d 5 e 3 c 8 d 6 e 2 c 5 d 7 e 6 uswertung des Joins R S mit Semi-Join-Filterung von S 49 lternative uswertungungspläne 1. lternative: R 2. lternative: F St R St S Π C (R E Π C (S)) (Π C (R) F S)... S St Result 50 Parameter für die Kosten eines uswertungsplan Kardinalitäten von rgumentrelationen Selektivitäten von Joins und Selektionen Transferkosten für Datenkommunikation (Verbindungsaufbau + von Datenvolumen abhängiger nteil für Transfer) uslastung der einzelnen VDBMS-Stationen Effektive nfrageoptimierung muss auf Basis eines Kostenmodells durchgeführt werden und soll mehrere lternativen für unterschiedliche uslastungen des VDBMS erzeugen. Transaktionskontrolle in VDBMS Transaktionen können sich bei VDBMS über mehrere Rechnerknoten erstrecken Recovery: Redo: Wenn eine Station nach einem Fehler wieder anläuft, müssen alle Änderungen einmal abgeschlossener Transaktionen - seien sie lokal auf dieser Station oder global über mehrere Stationen ausgeführt worden - auf den an dieser Station abgelegten Daten wiederhergestellt werden. Undo: Die Änderungen noch nicht abgeschlossener lokaler und globaler Transaktionen müssen auf den an der abgestürzten Station vorliegenden Daten rückgängig gemacht werden
14 EOT-Behandlung Die EOT (End-of-Transaction)-Behandlung von globalen Transaktionen stellt in VDBMS ein Problem dar. Eine globale Transaktion muss atomar beendet werden, d.h. entweder commit: globale Transaktion wird an allen (relevanten) lokalen Stationen festgeschrieben oder abort: globale Transaktion wird gar nicht festgeschrieben Problemlösung: Zweiphasen-Commit-Protokoll gewährleistet die tomarität der EOT-Behandlung das 2PC-Verfahren wird von sog. Koordinator K überwacht gewährleistet, dass die n genten (=Stationen im VDBMS) 1,... n, die an einer Transaktion beteiligt waren, entweder alle von Transaktion T geänderten Daten festschreiben oder alle Änderungen von T rückgängig machen Problem in verteilter Umgebung, da die Stationen eines VDBMS unabhängig voneinander abstürzen können K Nachrichtenaustausch beim 2PC- Protokoll (für 4 genten) PREPRE FILED/REDY COMMIT/BORT CK K K 55 blauf der EOT-Behandlung beim 2PC-Protokoll K schickt allen genten eine PREPRE-Nachricht, um herauszufinden, ob sie Transaktionen festschreiben können jeder gent i empfängt PREPRE-Nachricht und schickt eine von zwei möglichen Nachrichten an K: REDY, falls i in der Lage ist, die Transaktion T lokal festzuschreiben FILED, falls i kein commit durchführen kann (wegen Fehler, Inkonsistenz etc.) hat K von allen n genten 1,..., n ein REDY erhalten, kann K ein COMMIT an alle genten schicken mit der ufforderung, die Änderungen von T lokal festzuschreiben; antwortet einer der genten mit FILED od. gar nicht innerhalb einer bestimmten Zeit (timeout), schickt K ein BORT an alle genten und diese machen die Änderungen der Transaktion rückgängig haben die genten ihre lokale EOT-Behandlung abgeschlossen, schicken sie eine CK-Nachricht (=acknowledgement, dt. Bestätigung) an den Koordinator 56
15 Lineare Organisationsform beim 2PC- Protokoll Zustandsübergang beim 2PC-Protokoll: Koordinator FILED/REDY FILED/REDY FILED/REDY COMMIT/BORT COMMIT/BORT COMMIT/BORT Bullet = wichtigste ktion(en) Timeout oder FILED empfangen: abort ins Log BORT senden bgebroc hen Initial Bereit EOT: sende PREPRE an alle genten REDY von allen genten empfangen: commit ins Log sende COMMIT Festschrei bend 57 von allen CK empfangen: Fertig von allen CK empfangen: 58 Timeout oder lokaler Fehler entdeckt: abort ins Log sende FILED Zustandsübergang beim 2PC-Protokoll: gent BORT empfangen: abort ins Log sende CK Warte nd PREPRE empfangen und lokal alles okay: Log-Einträge ausschreiben ready ins Log sende REDY Bereit COMMIT empfangen: commit ins Log sende CK Fehlersituationen des 2PC-Protokolls bsturz eines Koordinators bsturz eines genten verlorengegangene Nachrichten bgebroc hen PREPRE empfangen: sende FILED Festgesch rieben Bullet = wichtigste ktion(en) 59 60
16 bsturz eines Koordinators bsturz vor dem Senden einer COMMIT-Nachricht + Rückgängigmachen der Transaktion durch Versenden einer BORT-Nachricht bsturz nachdem genten ein REDY mitgeteilt haben + Blockierung der genten Hauptproblem des 2PC-Protokolls beim bsturz des Koordinators, da dadurch die Verfügbarkeit des genten bezüglich andere globaler und lokaler Transaktionen drastisch eingeschränkt ist Um Blockierung von genten zu verhindern, wurde ein Dreiphasen-Commit-Protokoll konzipiert, das aber in der Praxis zu aufwendig ist (VDBMS benutzen das 2PC-Protokoll). 61 bsturz eines genten antwortet ein gent innerhalb eines Timeout-Intervalls nicht auf die PREPRE-Nachricht, gilt der gent als abgestürzt; der Koordinator bricht die Transaktion ab und schickt eine BORT-Nachricht an alle genten abgestürzter gent schaut beim Wiederanlauf in seine Log-Datei: kein ready-eintrag bzgl. Transaktion T + gent führt ein abort durch und teilt dies dem Koordinator mit (FILED-Nachricht) ready-eintrag aber kein commit-eintrag + gent fragt Koordinator, was aus Transaktion T geworden ist; Koordinator teilt COMMIT oder BORT mit, was beim genten zu einem Redo oder Undo der Transaktion führt commit-eintrag vorhanden + gent weiß ohne Nach-fragen, dass ein (lokales) Redo der Transaktion nötig n ist 62 Verlorengegangene Nachrichten PREPRE-Nachricht des Koordinators an einen genten geht verloren oder REDY-(oder FILED-)Nachricht eines genten geht verloren + nach Timeout-Intervall geht Koordinator davon aus, dass betreffender gent nicht funktionsfähig ist und sendet BORT-Nachricht an alle genten (Transaktion gescheitert) gent erhält im Zustand Bereit keine Nachricht vom Koordinator + gent ist blockiert, bis COMMIT- oder BORT-Nachricht vom Koordinator kommt, da gent nicht selbst entscheiden kann (deshalb schickt gent eine Erinnerung an den Koordinator) 63 Mehrbenutzersynchronisation in VDBMS Serialisierbarkeit Zwei-Phasen-Sperrprotokoll in VDBMS lokale Sperrverwaltung an jeder Station globale Sperrverwaltung 64
17 Serialisierbarkeit Lokale Serialisierbarkeit an jeder der an den Transaktionen beteiligten Stationen reicht nicht aus. Deshalb muß man bei der Mehrbenutzersynchronisation auf globaler Serialisierbarkeit bestehen. Beispiel (lokal serialisierbare Historien): S 1 S 2 Lokale Sperrverwaltung globale Transaktion muß vor Zugriff/Modifikation eines Datums, das auf Station S liegt, eine Sperre vom Sperrverwalter der Station S erwerben Verträglichkeit der angeforderten Sperre mit bereits existierenden Sperren kann lokal entschieden werden + favorisiert lokale Transaktionen, da diese nur mit ihrem lokalen Sperrverwalter kommunizieren müssen Schritt T 1 T r() w() Schritt T 1 T r(b) w(b) T 1 T Globale Sperrverwaltung = alle Transaktionen fordern alle Sperren an einer einzigen, ausgezeichneten Station an. Nachteile: zentraler Sperrverwalter kann zum Engpass des VDBMS werden, besonders bei einem bsturz der Sperrverwalter- Station ( rien ne vas plus ) Verletzung der lokalen utonomie der Stationen, da auch lokale Transaktionen ihre Sperren bei der zentralisierten Sperrverwaltung anfordern müssen Deadlocks in VDBMS Erkennung von Deadlocks (Verklemmungen) zentralisierte Deadlock-Erkennung dezentrale (verteilte) Deadlock-Erkennung Vermeidung von Deadlocks zentrale Sperrverwaltung i.a. nicht akzeptabel 67 68
18 Verteilter Deadlock Timeout S 1 Schritt T 1 T 2 S 2 Schritt T 1 T 2 betreffende Transaktion wird zurückgesetzt und erneut gestartet einfach zu realisieren BOT locks() r() lockx() locks(b) BOT lockx(b) w(b) Problem: richtige Wahl des Timeout-Intervalls: zu lang schlechte usnutzung der Systemressourcen zu kurz Deadlock-Erkennung, wo gar keine Verklemmung vorliegt Zentralisierte Deadlock-Erkennung Stationen melden lokal vorliegende Wartebeziehungen an neutralen Knoten, der daraus globalen Wartegraphen aufbaut (Zyklus im Graphen Deadlock) sichere Lösung Nachteile: hoher ufwand (viele Nachrichten) Entstehung von Phantom-Deadlocks (=nichtexistierende Deadlocks) durch Überholen von Nachrichten im Kommunikationssystem 71 Dezentrale Deadlock-Erkennung lokale Wartegraphen an den einzelnen Stationen + Erkennen von lokalen Deadlocks Erkennung globaler Deadlocks: jeder lokale Wartegraph hat einen Knoten External, der stationenübergreifenden Wartebeziehungen zu externen Subtransaktionen modelliert Zuordnung jeder Transition zu einem Heimatknoten, von wo aus externe Subtransaktionen auf anderen Stationen initiiert werden Die Kante External T i wird für jede von außen kommende Transaktion T i eingeführt. Die Kante T j External wird für jede von außen kommende Transaktion T j dieser Station eingeführt, falls T j nach außen geht. 72
19 Beispiel: S 1 Heimatknoten von T 1, S 2 Heimatknoten von T 2 Wartegraphen: S 1 : S 2 : S 2 : External T 2 T 1 External External T 1 T 2 External External T 1 T 2 External T 1 T 2 T 1 T 2 T 1 T 2 Zur Reduzierung des Nachrichtenaufkommens wird der Pfad External T 1 T 2... T n External nur weitergereicht, wenn T 1 einen kleineren Identifikator als T n Deadlock-Vermeidung optimistische Mehrbenutzersynchronisation: nach bschluss der Transaktionsbearbeitung wird Validierung durchgeführt Zeitstempel-basierende Synchronisation: Zuordnung eines Lese-/Schreib-Stempels zu jedem Datum entscheidet, ob beabsichtigte Operation durchgeführt werden kann ohne Serialisierbarkeit zu verletzen oder ob Transaktion abgebrochen wird (abort) hat (= path pushing) Sperrbasierte Synchronisation wound/wait: nur jüngere Transaktionen warten auf ältere; fordert ältere Transaktion Sperre an, die mit der von der jüngeren Transaktion gehaltenen nicht verträglich ist, wird jüngere Transaktion abgebrochen wait/die: nur ältere Transaktionen warten auf jüngere; fordert jüngere Transaktion Sperre an, die mit der von der älteren Transaktion gehaltenen nicht kompatibel ist, wird jüngere Transaktion abgebrochen Voraussetzungen für Deadlockvermeidungsverfahren Vergabe global eindeutiger Zeitstempel als Transaktionsidentifikatoren lokale Zeit Stations-ID lokale Uhren müssen hinreichend genau aufeinander abgestimmt sein 75 76
20 Problem: Synchronisation bei replizierten Daten Zu einem Datum gibt es mehrere Kopien 1, 2,..., n, die auf unterschiedlichen Stationen liegen. Eine Lesetransaktion erfordert nur eine Kopie, bei Änderungstransaktionen müssen aber alle bestehenden Kopien geändert werden. hohe Laufzeit und Verfügbarkeitsprobleme Quorum-Consensus Verfahren usgleich der Leistungsfähigkeit zwischen Lese- und Änderungstransaktionen + teilweise Verlagerung des Overheads von den Änderungs- zu den Lesetransaktionen indem den Kopien i eines replizierten Datums individuelle Gewichte zugeordnet werden Lesequorum Q r () Schreibquorum Q w () Folgende Bedingungen müssen gelten: 1. Q w () + Q w () > W() 2. Q r () + Q w () > W() Beispiel Station (S i ) Kopie ( i ) Gewicht (w i ) S S S S Zustände a) vor dem Schreiben eines Schreibquorums Station Kopie Gewicht Wert Versions# S S S S W ( ) = w i() Q () Q r w () 4 i= 1 = 4 = 5 = 8 b) nach dem Schreiben eines Schreibquorums Station Kopie Gewicht Wert Versions# S S S S
Kapitel 15 Verteilte Datenbanken
Kapitel 15 Verteilte Datenbanken Motivation: geographisch verteilte Organisationsform einer Bank mit ihren Filialen Filialen sollen Daten lokaler Kunden bearbeiten können Zentrale soll Zugriff auf alle
MehrKapitel 17 Verteilte Datenbanken
Kapitel 17 Verteilte Datenbanken Motivation: geographisch verteilte Organisationsform einer Bank mit ihren Filialen + Filialen sollen Daten lokaler Kunden bearbeiten können + Zentrale soll Zugriff auf
MehrVerteilte Datenbanken
1 / 50 Verteilte Datenbanken VU Datenbanksysteme vom 28.11. 2016 Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien 2 /
MehrKapitel 15 Verteilte Datenbanken
Kapitel 15 Verteilte Datenbanken Motivation: geographisch verteilte Organisationsform einer Bank mit ihren Filialen Filialen sollen Daten lokaler Kunden bearbeiten können Zentrale soll Zugriff auf alle
MehrTerminologie. Kapitel 15 Verteilte Datenbanken. Verteiltes Datenbanksystem. Kommunikationsmedien
Kapitel Verteilte Datenbanken Terminologie Motivation: geographisch verteilte Organisationsform einer Bank mit ihren Filialen Filialen sollen Daten lokaler Kunden bearbeiten können Zentrale soll Zugriff
MehrVerteilte Datenbanken. Kapitel 11 455 / 520
Kapitel 11 Verteilte Datenbanken 455 / 520 Überblick Terminologie Eine verteilte Datenbank (VDBMS) ist eine Sammlung von Informationseinheiten die auf verschiedene Rechner verteilt ist, die durch Kommunikationsnetze
MehrTU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann
TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann Blatt Nr. 2 Übung zur Vorlesung Einsatz und Realisierung von Datenbanksystemen im SoSe15 Moritz Kaufmann (moritz.kaufmann@tum.de)
MehrDatenbanksysteme 2009
Datenbanksysteme 2009 Vorlesung vom 30.06.09 Kapitel 14: Mehrbenutzersynchronisation Oliver Vornberger Institut für Informatik Universität Osnabrück Multiprogramming Zeitachse Einbenutzer betrieb T1 T2
MehrAtomare Commit-Protokolle. Grundlagen von Datenbanken - SS Prof. Dr. Stefan Böttcher Atomare Commit-Protokolle Folie 1
Atomare Commit-Protokolle Grundlagen von Datenbanken - SS 2010 - Prof. Dr. Stefan Böttcher Atomare Commit-Protokolle Folie 1 Atomares Commit-Protokoll Bisher: Protokolle zur lokalen Transaktionsverwaltung
MehrVerteilte Datenbanksysteme. Hans-Dieter Ehrich Institut für Informationssysteme Technische Universität Braunschweig
Verteilte Datenbanksysteme Hans-Dieter Ehrich Institut für Informationssysteme Technische Universität Braunschweig http://www.ifis.cs.tu-bs.de 3. Fragmentierung und Allokation Aufteilung des Datenbestandes
MehrTU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann
TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann Blatt Nr. 13 Übung zur Vorlesung Grundlagen: Datenbanken im WS14/15 Harald Lang (harald.lang@in.tum.de) http://www-db.in.tum.de/teaching/ws1415/grundlagen/
MehrTU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.
TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Blatt Nr. 2 Übung zur Vorlesung Einsatz und Realisierung von Datenbanksystemen im SoSe14 Moritz Kaufmann (moritz.kaufmann@tum.de)
MehrDatenbanken & Informationssysteme Übungen Teil 3
Verteilte Datenbanken 1. Unterschied horizontaler und vertikaler Zerlegung Beschreiben Sie den Unterschied zwischen horizontaler und vertikaler Zerlegung in einer verteilten Datenbank. Durch welche relationalen
Mehr1. Einführung, Problemstellung und Überblick Rechnernetze
Inhaltsverzeichnis 1. Einführung, Problemstellung und Überblick 1 1.1 Einführung 1 1.2 Allgemeine Problemstellungen 5 1.2.1 Problemstellung bei Dezentralisierung 5 1.2.2 Problemstellung bei Integration
MehrVorlesung "Verteilte Systeme" Wintersemester 2000/2001. Verteilte Systeme. 14. Transaktionen
Verteilte Systeme 14. Transaktionen Motivation Sicherung konsistenter Systemzustände Beispiele Amnesieproblematik bei zustandsbehafteten Servern Sicherung des Primaries (Primary-Backup- Approach) Aktive
MehrVorlesung "Systemsoftware II" Wintersemester 2002/03
(c) Peter Sturm, Universität Trier 1 Verteilte Systeme 16. Transaktionen Motivation Sicherung konsistenter Systemzustände Beispiele Amnesieproblematik bei zustandsbehafteten Servern Sicherung des Primaries
Mehr[W, T4, D, 15] [start_transaction, T3] [W, T3, C, 30] [W, T4, A, 20] [commit, T4] [W, T2, D, 25] System Crash
Übungen Aufgabe 1 Geben ist die folgende Logdatei: [start_transaction, T1] [W, T1, D, 20] [commit, T1] [checkpoint] [start_transaction, T2] [W, T2, B, 12] [start_transaction, T4] [W, T4, D, 15] [start_transaction,
MehrGrundlagen von Datenbanken. Referentielle Aktionen, Sichten, Serialisierbarkeit und Locking
Grundlagen von Datenbanken Referentielle Aktionen, Sichten, Serialisierbarkeit und Locking SQL DDL: Referentielle Aktionen (1/3) Potentielle Gefährdung der referentiellen Integrität durch Änderungsoperationen
MehrAnfragebearbeitung. Logische Optimierung Physische Optimierung (Kostenmodelle Tuning ) Kapitel 8 1
Anfragebearbeitung Logische Optimierung Physische Optimierung (Kostenmodelle Tuning ) Kapitel 8 1 Ablauf der Anfrageoptimierung Deklarative Anfrage (SQL) Scanner Parser Sichtenauflösung Algebraischer Ausdruck
Mehr2. Architektur verteilter Datenbanksysteme
2. Architektur verteilter Datenbanksysteme Verteilte Datenbank, kurz DDB (engl. distributed database): eine Sammlung logisch zusammengehöriger Datenbanken, welche über Rechnerknoten ( Sites ) verteilt
MehrVerteilte Datenbanken
Verteilte Datenbanken Stand der Technik: Zentrale oder Verteilte Datenbanken Bisher (implizit) diskutiert: Zentraler Ansatz, d. h. keine Netzwerke berücksichtigt: Terminals / Arbeitsplatzrechner DB 1 Zentraler
Mehr6.3 Verteilte Transaktionen
6.3 Verteilte Transaktionen Situation: Fragmentierung: Ein Datenbestand ist über mehrere Stationen verteilt (z.b. verteilte Datenbank, verteiltes Dateisystem,...) d.h. in Fragmente aufgeteilt, für die
MehrAufgabe 10.1: Lösung:
1 Aufgabe 10.1: Lösung: Aus Konfliktserialisierbarkeit folgt allgemeine Serialisierbarkeit. Bleibt zu zeigen, dass jetzt auch aus Serialisierbarkeit Konfliktserialisierbarkeit folgt, falls die Transaktionen
MehrVerteiltes Sperren Verteilte Recovery
Verteiltes Sperren Verteilte Recovery Verteiltes Sperren (Distributed Locking) Wie werden Sperren für Objekte über mehrere Knoten hinweg verwaltet? Zentralisiert: Ein Knoten für Sperren verantwortlich
MehrKonfliktgraph. Satz und Definition
9. Transaktionsverwaltung 9.2. Mehrbenutzerkontrolle Seite 1 Konfliktgraph Der Konfliktgraph von S ist ein gerichteter Graph KG(S) = (V, E), wobei V die Menge aller Transaktionen in S und E die Menge der
MehrÜbungen zur Vorlesung. Datenbanken I. WS 2002/2003 Blatt 4 MUSTERLÖSUNG
Prof. Dr. S. Böttcher Adelhard Türling Übungen zur Vorlesung Datenbanken I WS 2002/2003 Blatt 4 MUSTERLÖSUNG Aufgabe 4.1: Bestimmen Sie zu den folgenden Transaktions-Schedules, ob diese (konflikt-) serialisierbar
MehrWiederholung: Relationale Algebra
Vorlesung Datenbanksysteme vom 7.10.01 Wiederholung: Relationale Algebra Relationale Algebra Join-Operatoren Eigenschaften der relationalen Operatoren Grundlagen des relationalen Modells Seien D 1, D,,
MehrFragenkatalog zum Kurs 1666 (Datenbanken in Rechnernetzen) Kurstext von SS 96
Fragenkatalog zum Kurs 1666 (Datenbanken in Rechnernetzen) Kurstext von SS 96 Dieser Fragenkatalog wurde aufgrund das Basistextes und zum Teil aus den Prüfungsprotokollen erstellt, um sich auf mögliche
MehrDatenbanksysteme 2 Frühjahr-/Sommersemester 2014 26. Februar 2014
Lehrstuhl für Praktische Informatik III Prof. Dr. Guido Moerkotte Email: moer@db.informatik.uni-mannheim.de Marius Eich Email: marius.eich@uni-mannheim.de Fisnik Kastrati Email: kastrati@informatik.uni-mannheim.de
MehrMehrbenutzersynchronisation
Mehrbenutzersynchronisation Ausführung der drei Transaktionen T 1, T 2 und T 3 : (a) im Einzelbetrieb und Zeitachse T 1 T2 T 3 (b) im (verzahnten) Mehrbenutzerbetrieb (gestrichelte Linien repräsentieren
MehrVerteilte Datenbanken
Verteilte Datenbanken Motivation Eine Bank, die geographisch verteilt ist mit ihren Filialen Einzelne Filialen sollen autonom die Daten der lokalen Kunden bearbeiten Auch andere Filialen müssen aber Zugriff
MehrVorlesung Datenbanksysteme vom
Vorlesung Datenbanksysteme vom 27.10.2008 Wiederholung: Relationale Algebra Relationale Algebra Join-Operatoren Eigenschaften der relationalen Operatoren Grundlagen des relationalen Modells Seien D 1,
Mehr3.5 Synchronisation ohne Sperren
Überblick Nachteil von Sperren: Einschränkung der Parallelität Deadlocks 1. Lösungsversuch: Weiterhin pessimistisches Verfahren, aber statt Sperren, Zeitstempel (nicht zur Verklemmungsvermeidung sondern
MehrEigenschaften von TAs: ACID-Prinzip
Transaktionsparadigma Definition: Transaktion ununterbrechbare Folge von DML-/DDL-Befehlen begin transaction --- end transaction begin: meist implizit mit ersten Datenbankzugriff end: commit (work) oder
MehrVerteilte Datenbanken
Verteilte Datenbanken Motivation Eine Bank, die geographisch verteilt ist mit ihren Filialen Einzelne Filialen sollen autonom die Daten der lokalen Kunden bearbeiten Auch andere Filialen müssen aber Zugriff
MehrTransaktionsverwaltung
Transaktionsverwaltung VL Datenbanksysteme Ingo Feinerer Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Transaktionsverwaltung Transaktionen:
MehrDatenintegrität. Kapitel 5 1
Datenintegrität Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung statische Integritätsbedingungen Bedingungen an den Zustand der Datenbasis dynamische
MehrTransaktionsverwaltung read write read write
Transaktionsverwaltung Beispiel einer typischen Transaktion in einer Bankanwendung: 1. Lese den Kontostand von A in die Variable a: read(a,a); 2. Reduziere den Kontostand um 50.- Euro: a:= a 50; 3. Schreibe
MehrÜbung 14. Tutorübung zu Grundlagen Datenbanken (Gruppen DO-T24 / DO-T31 WS 2016/2017)
Übung 14 Tutorübung zu Grundlagen Datenbanken (Gruppen DO-T24 / DO-T31 WS 2016/2017) Dennis Fischer dennis.fischer@tum.de http://home.in.tum.de/fischerd Technische Universität München Fakultät für Informatik
Mehr9.3 Fehlerbehandlung
9.3 Fehlerbehandlung Schutz vor Beeinträchtigungen durch Fehler des Systems oder eines Benutzers nach Systemzusammensturz innerhalb einer TA inkonsistenter Zustand der DB physische und logische Inkonsistenz
MehrGrundlagen des relationalen Modells
Historische Entwicklung relationaler DBMS Grundlagen des relationalen Modells Seien D 1, D 2,..., D n Domänen (~Wertebereiche) Relation: R D 1 x... x D n Bsp.: Telefonbuch string x string x integer Tupel:
Mehr10. Übungsblatt. Für die Übung am Donnerstag, 15. Januar 2009, von 15:30 bis 17:00 Uhr in 13/222.
AG Datenbanken und Informationssysteme Wintersemester 2008 / 2009 Prof. Dr.-Ing. Dr. h. c. Theo Härder Fachbereich Informatik Technische Universität Kaiserslautern http://wwwlgis.informatik.uni-kl.de/cms
Mehrfettgedruckt und unterstrichen
Anmerkung: 1. Die Lese-Schreib-Quoren-Frage kommt fast bei jeder Prüfung 2. Die Fragen sind nach Themengebieten geordnet (soweit das ging) 3. Es gibt nur einpaar Praxis -Fragen die falsch sind (siehe unten)
MehrMehrbenutzersynchronisation
Mehrbenutzersynchronisation Ausführung der drei Transaktionen T 1, T 2 und T 3 : (a) im Einzelbetrieb und Zeitachse T 1 T 2 T 3 (b) im (verzahnten) Mehrbenutzerbetrieb (gestrichelte Linien repräsentieren
MehrRelationale Darstellung von Entitytypen. Uni-Schema. Grundlagen des relationalen Modells
Grundlagen des relationalen Modells Seien D, D 2,, D n Domänen (Wertebereiche) elation: D x x D n Bsp.: Telefonbuch string x string x integer Mickey Mouse Mini Mouse Donald Duck Telefonbuch Straße Main
Mehr3. Übung zur Vorlesung Verteilte Betriebssysteme
UNIVERSITÄT ULM Fakultät für Informatik Verteilte Systeme Prof. Dr. Peter Schulthess Markus Fakler 3. Übung zur Vorlesung Verteilte Betriebssysteme 21.11.2007 Aufgabe 1: Verteilte Algorithmen (3 + 1 +
MehrÜbungen zur Vorlesung. Mobile und Verteilte Datenbanken. WS 2008/2009 Blatt 4. Lösung
Dr. rer. nat. Sven Groppe Übungen zur Vorlesung Mobile und Verteilte Datenbanken WS 2008/2009 Blatt 4 Lösung Aufgabe 1: Bestimmen Sie zu den folgenden Transaktions-Schedules, ob diese (konflikt-) serialisierbar
MehrDatenbanksysteme Technische Grundlagen Transaktions-Konzept, Mehrbenutzer-Synchronisation, Fehlerbehandlung
Datenbanksysteme Technische Grundlagen Transaktions-Konzept, Mehrbenutzer-Synchronisation, Fehlerbehandlung Prof. Dr. Manfred Gruber FH München Transaktions-Konzept (1) Beispiel: op 1 BOT op 2 read(k 1
MehrKapitel 1 Grundlagen. Skript zur Vorlesung: Datenbanksysteme II Sommersemester Vorlesung: PD Dr. Peer Kröger
LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS DATABASE Skript zur Vorlesung: Datenbanksysteme II Sommersemester 2016 Kapitel 1 Grundlagen Vorlesung: PD Dr. Peer Kröger http://www.dbs.ifi.lmu.de/cms/datenbanksysteme_ii
Mehr1 Referentielle Aktionen
1 Referentielle Aktionen Betrachten Sie das folgende Datenbankschema: Person(Vorname, Nachname, DOB, Wohnort, Lieblingsfilm Film.IMDb-ID, Videothek Videothek.VID) Film(IMDb-ID, Titel, (ProduzentVN, ProduzentNN)
Mehr6. Verteilte Transaktionsverwaltung Einführung Synchronisation
6. Verteilte Transaktionsverwaltung Einführung Synchronisation Verfahrensüberblick, Sperrverfahren Deadlock-Behandlung - Timeout - Deadlock-Vermeidung: Wait/Die-, WoundWait-Verfahren - globale Deadlock-Erkennung
MehrZentralübung ERDB 2018
Zentralübung ERDB 2018 Maximilian E. Schüle Technische Universität München Institut für Informatik Lehrstuhl III: Datenbanksysteme Garching, 12. Juli 2018 Klausur Hauptklausur Freitag, 20.07.2018, 16-18
Mehrw 1 (A) T 1 w 3 (B) w 1 (D) b 3 flush(p D ) flush(p B ) flush(p B )
Aufgabe 1 Logging (8+5 Punkte) Logging und Recovery Gegeben sei ein DBMS, das die parallel laufenden Transaktionen T 1, T 2 und T 3 verwaltet. Dabei ändert T 1 die Datenelemente A, B, C und D, T 2 die
MehrÜbungen zu Datenbanksysteme
Institut für Informatik Universität Osnabrück, 30.06.2009 Prof. Dr. Oliver Vornberger http://www-lehre.inf.uos.de/ dbs Dipl.-Math. Patrick Fox Abgabe bis 06.07.2009, 12:00 Uhr Aufgabe 10.1 (35 Punkte)
MehrWiederholung: Relationale Algebra
Vorlesung Datenbanksysteme vom 1.11.016 Wiederholung: Relationale Algebra Relationale Algebra Join-Operatoren Eigenschaften der relationalen Operatoren Grundlagen des relationalen Modells Seien D1, D,,
MehrGruppe A Bitte tragen Sie sofort und leserlich Namen, Studienkennzahl und Matrikelnummer ein und legen Sie Ihren Studentenausweis
Gruppe A Bitte tragen Sie sofort und leserlich Namen, Studienkennzahl und Matrikelnummer ein und legen Sie Ihren Studentenausweis bereit. PRÜFUNG AUS DATENBANKSYSTEME VU 184.686 15. 01. 2016 Kennnr. Matrikelnr.
MehrMehrbenutzer-Synchronisation
Mehrbenutzer-Synchronisation Konflikt-Kategorien Serialisierung Historien Sperrungen Verklemmungen Optimistische Synchronisation Synchronisation in SQL Kapitel 11 1 Mehrbenutzersynchronisation Ausführung
MehrDatenbanksysteme. Transaktionen. Burkhardt Renz. Sommersemester Fachbereich MNI Technische Hochschule Mittelhessen
Datenbanksysteme Transaktionen Burkhardt Renz Fachbereich MNI Technische Hochschule Mittelhessen Sommersemester 2019 Übersicht Transaktionen Motivation ACID-Eigenschaften Recovery Ursachen für Recovery
MehrÜbung 3. Tutorübung zu Grundlagen: Datenbanken (Gruppen Do-T24 / Do-T31 WS 2016/2017)
Übung 3 Tutorübung zu Grundlagen: Datenbanken (Gruppen Do-T24 / Do-T31 WS 2016/2017) Dennis Fischer dennis.fischer@tum.de http://home.in.tum.de/~fischerd/ Technische Universität München Fakultät für Informatik
MehrDatenbanken - Wiederholung
Datenbanken - Wiederholung Norbert Fuhr Einführung Einführung Welches sind typische Probleme bei der Informationsverarbeitung ohne DBMS? Welche Abstraktionsebenen unterscheidet man bei einem DBMS? Was
MehrTAV Übung 3. Übung 3: Verteilte Datenhaltung
Übung 3: Verteilte Datenhaltung 1. Serialisierung Konstruieren Sie Historien aus drei Transaktionen T1, T2 und T3, die folgende Merkmale aufweisen: 1. Die serielle Reihenfolge ist T1 vor T2 vor T3. 2.
MehrFehlerbehandlung (Recov
Fehlerbehandlung (Recov Fehlerarten Auswirkung der Speicherhierarchie Protokollierung von Änderungen Wiederanlauf nach Fehler ( Sicherungspunkte) Media-Recovery Kapitel 10 1 Fehlerbehandlung (Recovery)
MehrKapitel 5 Mehrversionen-CC. MVCC: Annahmen & Eigenschaften
Kapitel 5 Mehrversionen-CC Bisher sind wir immer von der Grundannahme ausgegangen, dass jedes Datenobjekt x nur in einer Version vorliegt. Die Konsequenz daraus war, dass durch jedes Schreiben der Wert
MehrDistributed Flat Transaction
Distributed Flat Transaction Angenommen, ein Benutzer geht zu einem Reisebüro um dort eine Urlaubsreise zu buchen. Nachdem er den Flug, das Hotel und den Mietwagen selektiert hat, beschließt das Reisebüro,
MehrTransaktionsverarbeitung und Nebenläufigkeitskontrolle. Jim Gray ( )
Transaktionsverarbeitung und Nebenläufigkeitskontrolle Jim Gray (1944-2007) Transaktionsverwaltung Beispiel einer typischen Transaktion in einer Bankanwendung: 1. Lese den Kontostand von A in die Variable
MehrWiederholung VU Datenmodellierung
Wiederholung VU Datenmodellierung VU Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester
Mehr6. Verteilte Transaktionsverwaltung
6. Verteilte Transaktionsverwaltung Einführung Synchronisation Verfahrensüberblick Sperrverfahren Deadlock-Behandlung - Timeout - Deadlock-Vermeidung: Wait/Die-, WoundWait-Verfahren - globale Deadlock-Erkennung
MehrDatenintegrität. Kapitel 5 1
Datenintegrität Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung statische Integritätsbedingungen Bedingungen an den Zustand der Datenbasis dynamische
MehrEinsatz und Realisierung von Datenbanksystemen Zentralübung
Einsatz und Realisierung von Datenbanksystemen Zentralübung Maximilian E. Schüle Garching, 27. Juli 2017 Maximilian E. Schüle ERDB 2017 Übungen 1 Klausur Hauptklausur Dienstag, 08.08.2017, 16 Uhr bis 18
MehrTransaktionsverwaltung
Kapitel l2 Transaktionsverwaltung Skript 2009 Matthias Schubert Dieses Skript basiert auf dem Skript zur Vorlesung Datenbanksysteme II von Prof. Dr. Christian Böhm gehalten im Sommersemester 2007 an der
MehrAG Datenbanken und Informationssysteme Wintersemester 2006 / Übungsblatt. Aufgabe 2: Sperrprotokolle in Datenbankystemen
AG Datenbanken und nformationssysteme Wintersemester 26 / 27 Prof. Dr.-ng. Dr. h. c. Theo Härder Fachbereich nformatik Technische Universität Kaiserslautern Aufgabe 1: Verklemmungen 9. Übungsblatt Für
MehrSQL. SQL: Structured Query Language. Früherer Name: SEQUEL. Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99
SQL Früherer Name: SEQUEL SQL: Structured Query Language Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99 SQL ist eine deklarative Anfragesprache Teile von SQL Vier große Teile:
MehrBetriebliche Anwendungen
Betriebliche nwendungen SP R/3: Enterprise Resource Modelling (ERP-System) OLTP Data Warehouse Data Mining WN (Internet) LN Kapitel 17 1 Relationales DBMS als Backend-Server (Oracle, Informix, DB2, MS
MehrKapitel 14 Verteilte DBMS
Kapitel 14 Verteilte DBMS 14 Verteilte DBMS 14 Verteilte DBMS...1 14.1 Begriff, Architektur und Ziele verteilter Datenbanksysteme...2 14.2 Verteilungsarten...5 14.2.1 Verteilung der Daten...5 14.2.2 Verteilung
MehrKapitel 2 Transaktionsverwaltung. Skript 2009 Matthias Schubert
Kapitel 2 Transaktionsverwaltung Skript 2009 Matthias Schubert Dieses Skript basiert auf dem Skript zur Vorlesung Datenbanksysteme II von Prof. Dr. Christian Böhm gehalten im Sommersemester 2007 an der
MehrGruppe A Bitte tragen Sie sofort und leserlich Namen, Studienkennzahl und Matrikelnummer ein und legen Sie Ihren Studentenausweis
Gruppe A Bitte tragen Sie sofort und leserlich Namen, Studienkennzahl und Matrikelnummer ein und legen Sie Ihren Studentenausweis bereit. PRÜFUNG AUS DATENBANKSYSTEME VU 184.686 11. 3. 2014 Kennnr. Matrikelnr.
MehrGrundlagen: Datenbanken
Grundlagen: Datenbanken 2. Zentralübung / Fragestunde Harald Lang Diese Folien finden Sie online. Die Mitschrift erhalten Sie im Anschluss. Agenda Hinweise zur Klausur Stoffübersicht/-Diskussion Anmerkungen
Mehr9. Transaktionsverwaltung 9.3. Fehlerbehandlung Seite 1
9. Transaktionsverwaltung 9.3. Fehlerbehandlung Seite 1 9.3 Fehlerbehandlung Im realen Betrieb eines Datenbanksystems muss mit Fehlersituationen gerechnet werden. Transaktionsfehler: Hierunter verstehen
MehrTransaktionskonzept Eine Transaktion ist eine Folge von Operationen mit folgenden ACID Eigenschaften: Atomicity: Es werden alle Operationen oder gar k
Transaktionsverwaltung 1. Schnellkurs: Serialisierbarkeit, Isolationslevel, Synchronisationsverfahren, Savepoints, Logging, Implementierungsaspekte! Harder, Rahm Buch 2. Erweiterte Transaktionskonzepte!
MehrTransaktionsstruktur. Kapitel 4 - Teil 1 Verteilte Transaktionsverwaltung. Verteilte. Transaktionsverwaltung
Kapitel 4 - Teil 1 Verteilte Transaktionsverwaltung Inhalt: Commit-Behandlung, X/OPEN-DTP, Globale Serialisierbarkeit Transaktionsverwaltung in verteilten Datenbanksystemen ACID-Eigenschaften von Transaktionen
MehrWiederholung VU Datenmodellierung
Wiederholung VU Datenmodellierung VL Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester
MehrKlausur Verteilte Systeme SS 2004 Iwanowski
Klausur Verteilte Systeme SS 2004 Iwanowski 13.08.2004 Hinweise: Bearbeitungszeit: 90 Minuten Erlaubte Hilfsmittel: keine Bitte notieren Sie Ihre Antworten ausschließlich auf dem Aufgabenblatt! Bei Bedarf
MehrUniversität Augsburg, Institut für Informatik Wintersemester 2008/2009 Prof. Dr. W. Kießling 03. Februar Semesterklausur
Universität Augsburg, Institut für Informatik Wintersemester 2008/2009 Prof. Dr. W. Kießling 03. Februar 2009 Dr. A. Huhn, M. Endres, T. Preisinger Datenbanksysteme I Semesterklausur Hinweise: Die Bearbeitungszeit
MehrVerteilte Systeme. Verteilte Systeme. 7 Koordination SS 2017
Verteilte Systeme SS 2017 Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 26. Juni 2017 Betriebssysteme / verteilte Systeme Verteilte Systeme (1/12) i
MehrMehrbenutzersynchronisation
Kapitel 13 Mehrbenutzersynchronisation 13.1 Multiprogramming Unter M ultiprogramming versteht man die nebenläufige, verzahnte Ausführung mehrerer Programme. Abbildung 13.1 zeigt exemplarisch die dadurch
MehrÜbung 4. Tutorübung zu Grundlagen: Datenbanken (Gruppen Do-T24 / Do-T31 WS 2016/2017)
Übung 4 Tutorübung zu Grundlagen: Datenbanken (Gruppen Do-T24 / Do-T31 WS 2016/2017) Dennis Fischer dennis.fischer@tum.de http://home.in.tum.de/~fischerd/ Technische Universität München Fakultät für Informatik
Mehr3.6 Transaktionsverwaltung
3.6 Transaktionsverwaltung Transaktionen erlauben Bündelung von Operationen und gelten als wichtigster Beitrag des Bereichs Datenbanken zur Informatik; sie werden heute auch außerhalb von Datenbanksystemen
Mehr3. Grundlagen relationaler Datenbanksysteme
3. Grundlagen relationaler Datenbanksysteme Hier nur kurze Rekapitulation, bei Bedarf nachlesen 3.1 Basiskonzepte des Relationenmodells 1 Darstellung der Miniwelt in Tabellenform (DB = Menge von Relationen
MehrWS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #3. SQL (Teil 1)
Vorlesung #3 SQL (Teil 1) Fahrplan Wiederholung/Zusammenfassung Relationales Modell Relationale Algebra Relationenkalkül Geschichte der Sprache SQL SQL DDL (CREATE TABLE...) SQL DML (INSERT, UPDATE, DELETE)
Mehr