Deutsch   |   English
   
 digg.com  del.icio.us 

Transaktionssystem

Ein Transaktionssystem ermöglicht die gleichzeitige Nutzung eines DBMS über mehrere Verbindungen. Eine Transaktion besteht dabei aus einem oder mehreren SQL-Befehlen. Sie wird entweder mit einem COMMIT-Statement abgeschlossen oder durch ein ROLLBACK-Statement rückgängig gemacht

Das Transaktionsmangementsystem (TMS) erfüllt folgende Ziele:

  • Alle Nutzer können Ihre Anfragen parallel stellen
  • Die Datenbank bleibt konsistent
  • Jede Transaktion liefert ein korrektes Ergebnis 

Was soll das TMS gewährleisten?

Ziel eines transaktionsbasierten Systems ist die Bewahrung vollständiger Transaktionssicherheit, d.h. jede Transaktion soll ein korrektes Ergebnis liefern und die Datenbank in einem konsistenten Zustand belassen. Um dies zu gewährleisten, müssen Transaktionen die sogenannten ACID-Prinzipien erfüllen:

  • Atomarität (Atomicity): Eine Transaktion wird entweder ganz oder gar nicht ausgeführt. Transaktionen sind also „unteilbar“. Wenn eine atomare Transaktion abgebrochen wird, ist das System unverändert.
  • Konsistenz (Consistency): Eine Transaktion überführt den Datenbestand aus einem konsistenten Zustand in den anderen.
  • Isolation (Isolation): Bei gleichzeitiger Ausführung mehrerer Transaktionen dürfen sich diese nicht gegenseitig beeinflussen.
  • Dauerhaftigkeit (Durability): Die Auswirkungen einer Transaktion müssen im Datenbestand dauerhaft bestehen bleiben. Die Effekte von Transaktionen dürfen also nicht „mit der Zeit verblassen“ oder „aus Versehen verloren gehen“.

Um das Einhalten der ACID-Prinzipien zu gewährleisten, unterliegt jede Transaktion einer Überprüfung durch das TMS. Das TMS greift - falls erforderlich - selbsttätig ein und behebt Konflikte durch das Erzwingen von Wartezeiten oder durch das Zurückrollen (Rollback) von kollidierenden Transaktionen.

Ist das TMS vergleichbar mit dem von anderen Systemen?

Einige andere Datenbanksysteme haben das Transaktionsmodell nur partiell implementiert und verbergen teilweise Transaktionen vor dem Nutzer. So werden z.B. Schema-Statements ( “CREATE SCHEMA”, “CREATE TABLE”, ...) unmittelbar vom System persistent in der Datenbank gespeichert. Dies verringert bei gleichzeitiger Ausführung von Transaktionen mit Schema-Statements die Kollisionsgefahr, hat aber den Nachteil, dass z.B. ein “ROLLBACK” die durchgeführten Schema-Statements nicht wieder rückgängig machen kann.

Einige Transaktionen können dadurch in einen inkonsistenten Zustand geraten, z.B. kann einem Ladeskript eine Tabelle durch eine andere Transaktion "entzogen" werden.

Welche Operation in EXASolution unterliegen dem ACID-Prinzip?

Das TMS in EXASolution verbirgt keine Transaktionen vor dem Nutzer und speichert keine Statements automatisch persistent in der Datenbank. Alle Operationen unterliegen somit dem ACID-Prinzip

  • Database definition: create/alter schema, table, view
  • User management: create/alter user, role
  • Data manipulation: insert/update/delete
  • Data query: select

Pro:

  • Während eine Transaktion läuft, bleibt ihre Sicht auf die Datenbank konstant
  • Alle Änderungen (auch Statements wie CREATE TABLE, DROP TABLE oder TRUNCATE TABLE) können zurückgerollt werden

Con:

  • Es können mehr Konflikte entstehen

Wie können mehrere Nutzer gleichzeitig mit dem System arbeiten?

Um die Anzahl der kollidierenden Transaktionen so gering wie möglich zu halten, unterstützt EXASolution das sog. "MultiCopy-Format". Dies bedeutet, dass von jedem Datenbankobjekt (temporär) mehrere Versionen existieren können. Auf diese Weise kann der Systemdurchsatz (Anzahl der vollständig ausgeführten Transaktionen pro Zeiteinheit) gegenüber von Datenbanken im SingleCopy-Format erheblich gesteigert werden.

Die einzelnen Transaktionen werden vom TMS durch ein Sperrverfahren voneinander isoliert. Die Granularität bei diesem Sperrverfahren umfasst dabei immer ein ganzes Datenbankobjekt wie z.B. ein Schema oder eine Tabelle. Dies bedeutet insbesondere, dass zwei Transaktionen nicht gleichzeitig verschiedene Zeilen derselben Tabelle aktualisieren können.

Welchen Isolation Level unterstützt EXASolution?

EXASolution unterstützt nur den Isolation Level "SERIALIZABLE".

Wie entsteht eine Kollision?

Ein Transaktionssystem muss sicher stellen, dass möglichst viele Transaktionen in möglichst kurzer Zeit abgewickelt werden. Die serielle Ausführung von Transaktionen – also die Ausführung der Transaktionen nacheinander – ist zwar einfach zu realisieren, führt aber oft nicht zu einer optimalen Erfüllung dieses Leistungskriteriums. Transaktionssysteme spalten daher Transaktionen in ihre Operationen auf und setzen diese zu Historien zusammen, wobei selbstverständlich die ACID-Eigenschaften bewahrt bleiben müssen. Durch diesen Vorgang ergeben sich zwei Möglichkeiten, eine Transaktion zu beenden:

Commit: Die Transaktion wurde erfolgreich und ohne Probleme beendet, die Auswirkungen der Transaktion auf den Datenbestand werden dauerhaft gespeichert.

Abort: Bei der Ausführung der Transaktion sind Probleme aufgetreten, ihre Ausführung wird nicht fortgesetzt. Die Bedingung der Atomarität fordert zusätzlich, dass sämtliche Auswirkungen der Transaktion auf den Datenbestand rückgängig gemacht werden müssen. Das Rückgängigmachen der Effekte einer Transaktion wird als Rollback (Zurücksetzen) bezeichnet.

Wenn eine Transaktion aufgrund einer anderen Transaktion nicht ausgeführt werden kann, spricht man von einer Blockierung.

Es gibt 2 Arten von Kollisionen:

  • Read/write-Konflikt:
    Zwei Transaktionen haben ein Objekt zuerst gelesen und wollen es nun verändern. Da sich diese Operationen nicht atomar in eine feste Reihenfolge bringen lassen (eine der beiden Leseoperationen wäre ungültig), muss eine der beteiligten Transaktionen zurückgerollt werden.
  • Write/write-Konflikt:
    Ist im Gegensatz zu obigem Beispiel kein Lesevorgang vorausgegangen, können die Schreiboperationen in eine (beliebige) Reihenfolge gebracht werden. Allerdings muss eine der Transaktionen warten, bis die andere zu Ende ist (WAIT FOR COMMIT). Dies stellt die Konsistenz der Änderungen sicher.

Was passiert im Falle einer Kollision?

Das TMS löst solche Konflikte durch zurückrollen einer der beteiligten Transaktionen. Gegenwärtig führen auch lokale Fehler bei DML-Statements zu einem Rollback, um die Konsistenz der paralellen Verarbeitung zu gewährleisten.

Sie kommen nicht weiter?
Lassen Sie sich EXASolution vorführen!
Referenzen
  • AHOOLY
  • COOP
  • „Mit EXASolution sind wir für zukünftiges Datenwachstum bestens gerüstet. Dadurch, dass wir jetzt Geodaten verarbeiten, sprich die Dimension des Raumbezugs mit auswerten können, bieten wir unseren Kunden ganz neue Analysemöglichkeiten und noch umfassendere Marktübersichten. Wir sind sehr zufrieden mit der neuen Lösung, können flexibel auf zukünftige Anforderungen reagieren und trotzdem unsere Total Cost of Ownership reduzieren, da der so gewählte BI-Stack unsere Vision eines „Lean-BI“ in vollem Umfang unsterstützt.“

    Guido Niermann, IT-Leiter, Dataforce GmbH

    Dataforce
  • "Durch die Einbindung von EXASOL können wir unseren Kunden ein ganz neues Erlebnis bezüglich der explorativen Datenanalyse bieten… Neben der Technologie waren wir vor allem mit der Pre-Sales Beratung und dem Support während der Integration äußerst zufrieden."

     Martin Heink
    Geschäftsführer und Inhaber, econda GmbH 

    Econda
  • "Entscheidend für die IMS Health war insbesondere, dass wir uns durch einen sehr schnell aufgesetzten Proof of Concept von der Leistungsfähigkeit von EXASolution direkt überzeugen konnten."

     Michael Kempke
    Director Data Collection Global Operations, IMS Health GmbH & Co. OHG

    IMS
  • "Mit der innovativen Datenbank von EXASOL können wir komplexe Berechnungen genauer und umfangreicher durchführen. Das gibt uns einen signifikanten Technologievorsprung gegenüber der Konkurrenz."

     Tobias Kiessling
    CTO, intelliAd 

    Intelliad
  • "Die durchgängig hohe Leistung und die Möglichkeit, Echtzeitanalysen fahren zu können, waren für uns ausschlaggebend bei der Wahl von EXASolution."

     Tobias Kroha, Geschäftsführer der für das m-pathy-Projekt verantwortlichen seto GmbH

    m-pathy
  • Media Control
  • Olympus
  • "Wir haben uns für EXASolution entschieden, da die Hochleistungsdatenbank mit den zu erwartenden großen Datenmengen sehr gut umgehen kann und optimale Flexibilität bietet."

     Dr. Michael Röbbecke
    (ehem.) Geschäftsführer, RatePAY 

    RatePAY
  • "Mit EXASolution können wir unsere Geschäftsprozesse deutlich optimieren." 

     Gerhard Zapf
    Projektleiter, Semikron 

    Semikron
  • "Ein zuverlässiger und schneller Support, eine bessere Kundenbetreuung sowie eine bewiesene Fachkompetenz…"

     David Hodge
    IT Director, Sony Music Entertainment Germany 

    Sony Music
  • SOQUERO
  • SponsorPay
  • Stayfriends
  • "Die Datenbank von EXASOL ist Technik made in Germany, auf die wir uns langfristig verlassen können. Da sie bei steigendem Datenvolumen selbstständig skaliert und auch physisch beliebig erweitert werden kann, wächst unsere Datenbank mit unserem Unternehmen, und wir können auch in Zukunft flexibel und schnell auf neue Anforderungen reagieren."

     Heinrich Zetlmayer
    Geschäftsführer, Turtle Entertainment 

    Turtle Entertainment
  • United Internet Dialog
  • "Mit EXASolution haben wir eine Lösung erworben, die unsere hohen Leistungsansprüche komplexer Analysen bei steigenden Datenmengen für unsere Kunden optimal erfüllt." 

     Christian Sauer
    Geschäftsführer, Webtrekk GmbH 

    Webtrekk
  • "Wir haben uns nach einem ausgiebigen Benchmark-Test für die Lösung von EXASOL entschieden. Die hohe Performance des Systems, das Preis-/Leistungs-Verhältnis und der Service haben uns vollauf überzeugt"

    Dr. Ulrich Fricke
    Leiter Business Intelligence, XING AG 

    Xing
  • "Neben Wirtschaftlichkeit, Geschwindigkeit und hoher Leistungsfähigkeit war Flexibilität eines der entscheidenden Kriterien bei der Wahl unserer Datenbank… Die neue Datenbank bietet uns diese Skalierbarkeit bei reduzierten Total Cost of Ownership. So können wir auch in Zukunft immer die optimale Analyseleistung für unsere Kunden erbringen…"

     Sebastian Hoop
    Head of Operations, xplosion interactive gmbh 

    Xplosion
  • Zalando