490 likes | 652 Views
Transaktionsabwicklung in SQL-DB-Servern. Vortrag von Michael Sand, MA. Gliederung. Abgrenzung des Themas Motivation Problemstellung Was ist Konsistenz? Was ist eine Transaktion? ACID-Eigenschaften Nebenläufigkeit: Concurrency Ansätze: pessimistisch vs. optimistisch
E N D
Transaktionsabwicklung in SQL-DB-Servern Vortrag von Michael Sand, MA
Gliederung • Abgrenzung des Themas • Motivation • Problemstellung • Was ist Konsistenz? • Was ist eine Transaktion? • ACID-Eigenschaften • Nebenläufigkeit: Concurrency • Ansätze: pessimistisch vs. optimistisch • Transaktionalität auf Applikationsebene • Transaktionssicherung durch das DBMS • Ausblick: Interaktion zwischen Systemen
Abgrenzung des Themas Transaktionen in SQL-Datenbanken Transaktionen zwischen Systemen TP Heavy Transaktionen in Applikationen TP Lite Einleitung Definitionen ACID-Eigenschaften Nebenläufigkeit Transaktionssicherung Ausblick Abgrenzung Motivation Fehlerquellen Problemstellung
Motivation Beispiel Banküberweisung: 1. < T: read( Konto1 ) > 2. < T: update Konto1. Betrag von 0 auf 100 > 3. < T: update Konto2. Betrag von 1000 auf 900 > Kommt es nach Schritt 2 zu einem Ausfall, sind die Daten nicht mehr konsistent. Warum Transaktionen? Einleitung Definitionen ACID-Eigenschaften Nebenläufigkeit Transaktionssicherung Ausblick AbgrenzungMotivation Fehlerquellen Problemstellung
Fehler1: Dirty Read 1. <T1 Start> 2. <T1 Update Konto1 10.2000, 2.000> 3. 4. 5. 6. 7. <T1 Update Konto2 1.000, 9.000> 8. <T1 Commit> <T2 Start> <T2 Update Konto 1: * 1,04> <T2 Update Konto 2: * 1,04> <T2 Commit> Zinsen für 8.000 Euro wurden nicht berechnet! Einleitung Definitionen ACID-Eigenschaften Nebenläufigkeit Transaktionssicherung Ausblick Abgrenzung MotivationFehlerquellen Problemstellung
Fehler 2: Unrepeateable Read 1. <T1 Start> 2. <T1 Read Konto1> 3. <T1 Update Konto 10.000, 2.000> 4. 5. 6. 7. 8. 9. <T1 Update Konto2 1.000, 9.000> 10. <T1 Commit> <T2 Start> <T2 Read Konto 1> <T2 Read Konto 2> <T2 Sum Konto 1, Konto2> <T2 Commit> Gesamtsumme wird falsch berechnet, Werte wurden gelesen, während sie geändert wurden! Einleitung Definitionen ACID-Eigenschaften Nebenläufigkeit Transaktionssicherung Ausblick Abgrenzung MotivationFehlerquellen Problemstellung
Fehler 3: Lost Update 1. <T1 Start> 2. <T1 temp 1 = Konto1 + 1.000> 3. 4. 5. 6. 7. <T1 Konto 1 = temp 1> 8. <T1 Commit> <T2 Start> <T2 temp 2 = Konto 1 + 2000> <T2 Konto1 = temp 2> <T2 Commit> 2.000 Euro Zubuchung gehen verloren! Einleitung Definitionen ACID-Eigenschaften Nebenläufigkeit Transaktionssicherung Ausblick Abgrenzung MotivationFehlerquellen Problemstellung
Problemstellung • Die Abbildung von Geschäftsfällen müssen in der Datenbank abgesichert werden gegen: • Physische Fehler • Unkontrollierte unvereinbare gleichzeitige Zugriffe auf den Datenbestand • Inkonsistente Benutzereingaben Einleitung Definitionen ACID-Eigenschaften Nebenläufigkeit Transaktionssicherung Ausblick Abgrenzung MotivationFehlerquellen Problemstellung
R R‘ M‘ M Was ist Konsistenz? • Physisch: korrekte interne Repräsentation und Speicherung der Daten im Datenbanksystem • Logisch: Übereinstimmung mit dem abzubildenden Realitätsausschnitt R: Realität M: Modell Einleitung Definitionen ACID-Eigenschaften Nebenläufigkeit Transaktionssicherung Ausblick Konsistenz Transaktion
Was ist eine Transaktion? • Eine Transaktion ist für einen SQL Server eine in sich geschlossene Arbeitseinheit. • Eine Arbeitseinheit wird entweder vollständig ausgeführt oder gar nicht. • Eine nur teilweise Ausführung einer Arbeitseinheit würde zu Inkonsistenzen der Daten führen. Einleitung Definitionen ACID-Eigenschaften Nebenläufigkeit Transaktionssicherung Ausblick Konsistenz Transaktion
Begin Trans Begin Trans Begin Trans Begin Trans Begin Trans Commit Commit Commit Commit Commit Verschachtelte Transaktionen Main Transaction Einleitung Definitionen ACID-Eigenschaften Nebenläufigkeit Transaktionssicherung Ausblick Konsistenz Transaktion
ACID-Eigenschaften • Atomicity • Consistency • Isolation • Durability Einleitung DefinitionenACID-Eigenschaften Nebenläufigkeit Transaktionssicherung Ausblick Atomicity Consistency Isolation Durability
Begin Trans Begin Trans Commit Rollback ACID: Atomicity • Alles oder Nichts Prinzip • In Fehlersituationen wird die Transaktion abgebrochen und der Datenbestand wird in seinen ursprünglichen Zustand zurückversetzt. Einleitung DefinitionenACID-Eigenschaften Nebenläufigkeit Transaktionssicherung Ausblick Atomicity Consistency Isolation Durability
ACID: Consistency • Konsistenz = Widerspruchsfreiheit • Vor Begin und nach dem Ende einer Transaktion muss ein konsistenter Zustand der Datenbank vorliegen. • Während einer Transaktion können die Daten inkonsistent sein. • Jede technisch implementierte Integritätsbedingung muss erfüllt sein. Einleitung DefinitionenACID-Eigenschaften Nebenläufigkeit Transaktionssicherung Ausblick Atomicity Consistency Isolation Durability
Trans1 Trans2 Trans3 ACID: Isolation • Jede Transaktion soll so durchgeführt werden, als wäre sie die einzige. • Änderungen am Datenbestand durch eine Transaktion dürfen für andere Transaktionen erst am Ende der Transaktion sichtbar sein. • Kein Unterschied zwischen Ein- und Mehrbenutzerbetrieb. Einleitung DefinitionenACID-Eigenschaften Nebenläufigkeit Transaktionssicherung Ausblick Atomicity Consistency Isolation Durability
Trans1 ACID: Durability • Nach Abschluss einer Transaktion müssen alle Änderungen am Datenbestand auf einem sicheren Speichermedium festgehalten sein. Einleitung DefinitionenACID-Eigenschaften Nebenläufigkeit Transaktionssicherung Ausblick Atomicity Consistency Isolation Durability
Nebenläufigkeit: Concurrency • Mehrere Transaktionen laufen gleichzeitig ab (Concurrency: Nebenläufigkeit) • Mehrere Benutzer greifen gleichzeitig auf den Datenbestand zu. • Transaktionen können im Konflikt zueinander stehen. Einleitung DefinitionenACID-EigenschaftenNebenläufigkeit Transaktionssicherung Ausblick Ansätze
Ansätze: pessimistisch vs. optimistisch • Optimistischer Ansatz: • Alle Clients können auf alle Informationen zugreifen • + keine Wartezeiten • - Operationen müssen kommutativ sein • - Umverteilung in sehr kleine Operationseinheiten keine Transaktionalität • Pessimistischer Ansatz: • Verwendete Daten sind für andere Clients z.T. gesperrt • + Wahrung der ACID-Eigenschaften • - Einrichtung von Sperrmechanismen notwendig • - evtl. Wartezeiten durch Sperren / Integritätsprüfungen Einleitung DefinitionenACID-EigenschaftenNebenläufigkeit Transaktionssicherung Ausblick Ansätze
Transaktionssicherung • Stored Procedures • Trigger • TP Lite Transaktionalität auf Applikationsebene Transaktionalität auf DBMS-Ebene • Rules • Redo- / Undo-Logging • Locks • Validierung Einleitung DefinitionenACID-EigenschaftenNebenläufigkeitTransaktionssicherung Ausblick
TP Lite • Applikationscode ist ins DBMS integriert. • Funktionalität des DBMS ist erweitert. • Keine Transaktionen zwischen heterogenen DBMS. • Verschiedene aufgerufene SPs laufen als unterschiedliche Serverprozesse. • Jeder Aufruf initiiert einen neuen Serverprozess (im Unterschied zu TP Heavy) Einleitung DefinitionenACID-EigenschaftenNebenläufigkeitTransaktionssicherung Ausblick Applikationsebene: Stored Procedures Trigger TP-Lite
Transaktionalität auf Applikationsebene Einleitung DefinitionenACID-EigenschaftenNebenläufigkeitTransaktionssicherung Ausblick
Stored Procedures • Applikationscode, der mit SQL in das DBMS integriert ist. • Alle Anweisungen der Prozedur werden ausgeführt, wenn die Prozedur aufgerufen wird • Hat ACID-Eigenschaften (bei DB2, Oracle) • Leistungsverhalten besser als bei SQL-Anweisungen, die von der Applikation einzeln aufgerufen werden. • wiederverwendbar Einleitung DefinitionenACID-EigenschaftenNebenläufigkeitTransaktionssicherung Ausblick Applikationsebene: Stored Procedures Trigger TP-Lite
Trigger • Applikationscode, der mit SQL in das DBMS integriert ist. • Ein mit einem Ereignis (insert, delete, update) verbundene Aktion, die eine Veränderung im Relationsinhalt nach sich zieht. • (zusammengesetzte) SQL-Anweisung, die automatisch bei einer Änderung einer benannten Tabelle ausgeführt wird. • Wird verwendet um referenzielle Integrität zu erzwingen, komplexe Geschäftsregeln durchzusetzen und Datenveränderungen zu überwachen. Einleitung DefinitionenACID-EigenschaftenNebenläufigkeitTransaktionssicherung Ausblick Applikationsebene: Stored Procedures Trigger TP-Lite
Modell Typ Höhe Farbe Blizzard Tourenrad 26 Blau Flash Rennrad 26 Blau Trigger Jockl City-Bike 28 Rot Extreme Tourenrad 20 Weiss Boulder Bonanza 20 Rot Deleted (upd_old) Trans Modell Typ Höhe Farbe Runner Rennrad 26 Schwarz Boulder Bonanza 28 Rot Inserted (upd_new) Modell Typ Höhe Farbe Extreme Tourenrad 20 Weiss Boulder Bonanza 20 Rot Trigger: inserted/deleted delete insert Integritäts-prüfung Kopie der veränderten Daten HAUPTSPEICHER Kopie der eingefügten Daten Einleitung DefinitionenACID-EigenschaftenNebenläufigkeitTransaktionssicherung Ausblick Integrity Rules Stored Procedures Trigger TP-Lite
TP Lite • Applikationscode ist ins DBMS integriert, wird auf dem Server ausgeführt. • Funktionalität des DBMS ist erweitert. • Keine Transaktionen zwischen heterogenen DBMS. • Verschiedene aufgerufene SPs laufen als unterschiedliche Transaktionen. • Jeder Aufruf initiiert einen neuen Serverprozess (im Unterschied zu TP Heavy) • Bsp.: MSSQL: Stored Procedures; Informix: user defined routines) Einleitung DefinitionenACID-EigenschaftenNebenläufigkeitTransaktionssicherung Ausblick Applikationsebene: Stored Procedures Trigger TP-Lite
Transaktionalität auf DBMS-Ebene Einleitung DefinitionenACID-EigenschaftenNebenläufigkeitTransaktionssicherung Ausblick DBMS: Rules Logging Locks Validierung
Farbe Blau Grün Gelb Schwarz violett rot <Null> Entity Rule • In einer Grundrelation sind Null-Werte nicht zulässig. Einleitung DefinitionenACID-EigenschaftenNebenläufigkeitTransaktionssicherung Ausblick DBMS: Rules Logging Locks Validierung
Farbe Modell Typ Höhe Farbe Blau Bizzard Tourenrad 26 Blau Grün Flash Rennrad 26 Blau Gelb Jockl City-Bike 28 Rot Schwarz Extreme Tourenrad 20 Weiss violett rot Boulder Bonanza 20 Weiss weiss Integrity Rules • Ein Eckstein des relationalen Modells, sichergestellt durch referentielle Integrität. • Referentielle Integrität: Jede Wertausprägung eines Foreign Keys muß mit einer Wertausprägung eines Primary Keys in einer verknüpften Tabelle übereinstimmen. FK PK Einleitung DefinitionenACID-EigenschaftenNebenläufigkeitTransaktionssicherung Ausblick DBMS: Rules Logging Locks Validierung
Enterprise Rules • Vom Unternehmen festgelegte Bedingungen, die die Regeln der realen Welt in der Datenbank abbilden. Abteilung 5 20 MA max. Tabelle „Mitarbeiter“ darf maximal 20 Personen enthalten, die Abteilung 5 zugeordnet sind. Einleitung DefinitionenACID-EigenschaftenNebenläufigkeitTransaktionssicherung Ausblick DBMS: Rules Logging Locks Validierung
Logging: Log-Writer Database Buffer Shared Pool Redo Log Buffer SGA LGWR Benutzer-Prozesse DBWR Online Redo Log-Dateien Datendateien Archive Offline Redo Log-Dateien Einleitung DefinitionenACID-EigenschaftenNebenläufigkeitTransaktionssicherung Ausblick DBMS: Rules Logging Locks Validierung
Logging einer Transaktion • Schreib-Transaktionen werden in ein Log geschrieben, bevor sie auf der Datenbank ausgeführt werden. • Commits werden ins Log geschrieben, nachdem sie auf der Datenbank durchgeführt wurden. Logbuch: 1. <T1 Start> 2. <T1 Konto 1 700, 600> 3. <T1 Konto 2 200, 300> 4. 5. 6. 7. <T1 Commit> Datenbank: <Konto 1 Update 600> <Konto 2 Update 300> <Commit> Einleitung DefinitionenACID-EigenschaftenNebenläufigkeitTransaktionssicherung Ausblick DBMS: Rules Logging Locks Validierung
Arten von Sperren: R/W • Lesesperre (Rlock): hat eine Transaktion eine Lesesperre auf ein Objekt gesetzt, darf keine andere Transaktion darauf schreiben. • Schreibsperre (Xlock): hat eine Transaktion eine Schreibsperre auf ein Objekt gesetzt, darf keine andere Transaktion darauf lesen oder schreiben. Kopatibilitätsmatrix: Gehaltene Sperre: Rlock Xlock Rlock Ja Nein Angeforderte Sperre: Xlock Nein Nein Einleitung DefinitionenACID-EigenschaftenNebenläufigkeitTransaktionssicherung Ausblick DBMS: Rules Logging Locks Validierung
Modell Typ Höhe Farbe Blizzard Tourenrad 26 Blau Flash Rennrad 26 Blau Jockl City-Bike 28 Rot Extreme Tourenrad 20 Weiss Modell Typ Höhe Farbe Boulder Bonanza 20 Rot Blizzard Tourenrad 26 Blau Flash Rennrad 26 Blau Jockl City-Bike 28 Rot Extreme Tourenrad 20 Weiss Boulder Bonanza 20 Rot Arten von Sperren: Granularität • Ein modernes DBMS errichtet automatisch Sperren auf der kleinsten möglichen Ebene. Rowlock Tablock DML-Lock: Keine Manipulationsänderungen DDL-Lock: Keine Definitionsänderungen Pagelock Blocksperre Einleitung DefinitionenACID-EigenschaftenNebenläufigkeitTransaktionssicherung Ausblick DBMS: Rules Logging Locks Validierung
Arten von Sperren: Isolationsgrade • Read_Uncommited: • Daten können jederzeit gelesen werden. • Read_Committed: • Nur bestätigte Daten können gelesen werden. • Repeatable Read: • Dieselbe Anfragen liefern dasselbe Resultat. • Serializable: • Transaktionen, die gemeinsame Daten benutzen, werden faktisch nacheinander ausgeführt. Einleitung DefinitionenACID-EigenschaftenNebenläufigkeitTransaktionssicherung Ausblick DBMS: Rules Logging Locks Validierung
Fehler 4: Deadlocks 1. <T1: Start> 2. <T1: writelock (Konto 1)> 3. <T1: read (Konto 1)> 4. <T1:write (Konto 1)> 5. 6. 7. 8. <T1: writelock (Konto 2)> 9. <T2: Start> <T2: writelock (Konto 2)> <T2: read (Konto 2)> <T2: writelock (Konto 1)> T1 wartet auf T2 T2 wartet auf T1 Deadlock! Einleitung DefinitionenACID-EigenschaftenNebenläufigkeitTransaktionssicherung Ausblick DBMS: Rules Logging Locks Validierung
Two-Phase-Locking • Jedes Datenelement wird vor dem Zugriff gesperrt und irgendwann nach dem Zugriff wieder freigegeben. • In der 1. Phase werden Sperren nur angefordert, in der zweiten Phase nur freigegeben. • In der 2. Phase darf eine Transaktion keine Sperren mehr anfordern, da sonst ein nicht serialisierbarer Ablauf entstehen könnte. Einleitung DefinitionenACID-EigenschaftenNebenläufigkeitTransaktionssicherung Ausblick DBMS: Rules Logging Locks Validierung
Two-Phase-Locking: Beispiel <T2: Start> <T2: readlock (Konto 1)> <T2: read (Konto 1)> <T2: readlock (Konto 2)> <T2: read (Konto 2)> <T2: unlock (Konto 1)> <T2: unlock (Konto 2)> <T2: Commit> 1. <T1: Start> 2. <T1: writelock (Konto 1)> 3. <T1: write (Konto 1)> 4. <T1: unlock (Konto 1)> 5. 6. 7. 8. 9. 10. 11. 12. 13. <T1: writelock (Konto 2)> 14. <T1: write (Konto 2)> 15. <T1: unlock (Konto 2)> 16. <T1: Commit> Ende 1. Phase Fehler! Phantom Problem Einleitung DefinitionenACID-EigenschaftenNebenläufigkeitTransaktionssicherung Ausblick DBMS: Rules Logging Locks Validierung
Transaktionen: Serialisierbarkeit • Serialisierbarkeit durch Schedules • Serialisierbarkeit ist der parallele Ablauf von Transaktionen in einer Weise, die einem seriellen Ablauf entspricht. • Schedule: serialisierte, performance-optimierte und konsistenzsichernde Verzahnung von Transaktionen Nebenläufige Transaktionen steigern die Performance. Nebenläufige Transaktionen gefährden die Konsistenz. ? Einleitung DefinitionenACID-EigenschaftenNebenläufigkeitTransaktionssicherung Ausblick DBMS: Rules Logging Locks Validierung
Serialisierung: Schedule • Serialisierbare Schedules gewährleisten, dass die einzelnen Schritte der verschiedenen Transaktionen serialisierbar sind (also nebeneinander ausgeführt werden können). • Der Scheduler (System-Komponente) prüft die Transaktionen auf Serialisierbarkeit. • Der Scheduler setzt und löscht Sperren automatisch. • Dadurch wird die Serialisierung und Verzahnung der beteiligten Transaktionen gewährleistet. Konfliktserialisierbarkeit Einleitung DefinitionenACID-EigenschaftenNebenläufigkeitTransaktionssicherung Ausblick DBMS: Rules Logging Locks Validierung
Serialisierbarkeitsgraph • Ein Pfeil führt von Transaktion Tm zu Transaktion Tn, wenn Tm vor Tn auf dasselbe Datenbankobjekt zugreift und mindestens eine Operation eine Schreiboperation ist. • Enthält der Serialisierbarkeitsgraph keine Zyklen, sind die Transaktionen serialisierbar. Einleitung DefinitionenACID-EigenschaftenNebenläufigkeitTransaktionssicherung Ausblick DBMS: Rules Logging Locks Validierung
T2 T1 T3 Serialisierbarkeitsgraph: Beispiel T1, T2, T3 bilden den Schedule S - T1 liest A, bevor T2 A schreibt: Pfeil von T1 nach T2 - T2 schreibt A bevor T3 A liest: Pfeil von T2 nach T3 - T3 liest B, bevor T1 B schreibt: Pfeil von T3 nach T1 Der Serialisierbarkeitsgraph ist zyklisch, die Transaktionen sind nicht serialisierbar. Einleitung DefinitionenACID-EigenschaftenNebenläufigkeitTransaktionssicherung Ausblick DBMS: Rules Logging Locks Validierung
Drei-Phasen Validierung • Alle Transaktionen werden zunächst ohne Rücksicht auf Konflikte durchgeführt und anschließend wird geprüft, welche parallel ablaufen durften und welche nicht. • 1. Phase: Transaktionen dürfen in der Datenbank nur lesen, Schreiboperationen werden ins Logbuch eingetragen. • 2. Phase (Validierungsphase): das DBMS testet, welche Konflikte die Transaktion mit parallelen Transaktionen hat. • 3. Phase: falls die Validierung erfolgreich war, werden die Schreiboperationen aus dem Logbuch in die DB übertragen; falls nicht, wird die Transaktion nach Abschluss der parallelen Transaktionen nochmals durchgeführt. Einleitung DefinitionenACID-EigenschaftenNebenläufigkeitTransaktionssicherung Ausblick DBMS: Rules Logging Locks Validierung
Mögliche Validierungszustände • 1. Transaktionen wurden beendet, bevor die neue Transaktion begann: keine Validierung notwendig. • 2. Transaktionen, die während der Lesephase der neueren Transaktion ihre Schreibphase beendeten: Validierung der Schreiboperationen der älteren gegen die Leseoperationen der neueren Transaktion. • 3. Transaktionen, die während der Validierungsphase der neueren Transaktion ihre Schreibphase beendete: Validierung der Schreiboperationen der älteren gegen Lese- und Schreiboperationen der neueren Transaktion. T1: R/W T2: R/W ? T1: W T2: R ? T1: W T2: R/W Einleitung DefinitionenACID-EigenschaftenNebenläufigkeitTransaktionssicherung Ausblick DBMS: Rules Logging Locks Validierung
Ausblick: verteilte Systeme Einfache und schnelle Verknüpfung der Anwendungssysteme auf Basis flexibeler Kollaborations-szenarien. Unternehmensübergreifende Interoperabilität auf Basis einer gemeinsam genutzten Plattform. Zukünftige ERP-Lösung Datenverarbeitung nahezu in Echtzeit über alle Applikationen, hinweg. Hohe Datenqualität durch unternehmens-übergreifend integrierte Verwaltung verteilt gehaltener und gepflegter Datenbestände. Quelle: Detecon White Paper: ERP-Strategien im Collaborativen Busniess, März 2003 Einleitung DefinitionenACID-EigenschaftenNebenläufigkeitTransaktionssicherungAusblick Interaktion Two Phase Commit Three Phase Commit TP Heavy
Transaktionen der Zukunft Quelle: Detecon White Paper: ERP-Strategien im Collaborativen Busniess, März 2003 Einleitung DefinitionenACID-EigenschaftenNebenläufigkeitTransaktionssicherungAusblick Interaktion Two Phase Commit Three Phase Commit TP Heavy
Two-Phase-Commit • 1. Phase: Prepare-to-Commit-Anfrage des Koordinators an alle Teilnehmer, die Transaktion vorzubereiten (Can Commit?). Die Teilnehmer führen die Operatonen aus und antworten mit „Ready to Commit!“. • 2. Phase: Der Koordinator sendet je nach Reaktion der Teilnehmer (Ready/Not Ready) sein globales Commit oder Abort. Die Teilnehmer antworten mit „Have Committed“. Einleitung DefinitionenACID-EigenschaftenNebenläufigkeitTransaktionssicherungAusblick Interaktion Two Phase Commit Three Phase Commit TP Heavy
Three-Phase Commit • 1. Phase: Prepare-to-Commit-Aufruf des Koordinators an alle Teilnehmer, ihre Operationen auszuführen (Can Commit?). Die Teilnehmer führen die Operationen aus und antworten mit „Ready!“. • 2. Phase: Der Koordinator sendet je nach Reaktion der Teilnehmer (Ready/Not Ready) eine Prepare- oder Abort-Aufforderung. Die Teilnehmer antworten mit „Acknowledged“. Schlägt der Koordinator fehl, führen die Teilnehmer automatisch einen Abort durch. • 3. Phase: Sendet ein Teilnehmer kein „Acknowledged“ gibt der Koordinator einen globalen Abort aus, bestätigen alle Teilnehmer positiv, sendet der Koordinator ein globales Commit. Einleitung DefinitionenACID-EigenschaftenNebenläufigkeitTransaktionssicherungAusblick Interaktion Two Phase Commit Three Phase Commit TP Heavy
Transaktionsmonitoring: TP-Heavy • ACID-Aktualisierungen werden durch mehreren heterogenen Ressourcenmanagern durchgeführt und bleiben trotzdem im Rahmen einer einzigen Transaktion. • Garantierte Neutralität gegenüber Ressourcen. • Multiplexing der Client-Anfragen: TP-Monitor ist „Platzanweiser“ und weist DLL-Ausführungen Serverklassen (Pools von bereits laufenden Prozessen oder Threads) zu (Trichterfunktion). • Bei Bedarf erzeugt der TP-Monitor neue Serverklassen (load balancing) • Priorisierung der Anfragen (RPCs, MOM-Queues, Batch-Läufe etc.) Einleitung DefinitionenACID-EigenschaftenNebenläufigkeitTransaktionssicherungAusblick Interaktion Two Phase Commit Three Phase Commit TP Heavy