Warum NoSQL-Datenbanken Transaktionen oft nicht unterstützen – und wie Sie das umgehen können

Veröffentlicht: 2022-11-21

Transaktionen sind ein kritischer Bestandteil jedes Datenbanksystems und bieten eine Möglichkeit, die Datenintegrität und -konsistenz angesichts gleichzeitiger Aktualisierungen sicherzustellen. Allerdings unterstützen nicht alle Datenbanken Transaktionen. Insbesondere NoSQL-Datenbanken bieten oft keine Möglichkeit, Transaktionen durchzuführen. Dies kann ein großes Problem für Anwendungen sein, die Transaktionsunterstützung erfordern, da es zu Datenbeschädigung und Inkonsistenz führen kann. Es gibt jedoch einige Problemumgehungen, die verwendet werden können, um Transaktionsunterstützung für NoSQL-Datenbanken bereitzustellen. In diesem Artikel werfen wir einen Blick darauf, was Transaktionen sind, warum NoSQL-Datenbanken sie oft nicht unterstützen und wie Sie diese Einschränkung umgehen können.

Die Transaktionssemantik von NoSQL-Lösungen ist leichter als die einer relationalen Datenbank, aber sie bieten immer noch atomare Operationen auf einer gewissen Ebene. Wenn Sie mit Node.js oder Ruby/Rack vertraut sind, können Sie auf Heroku.com schnell ein kleines Mock-up erstellen. Ich bedauere, Ihnen mitteilen zu müssen, dass ich dies noch in irgendeiner Weise umsetzen muss. Wenn eine Transaktion ausgeführt werden soll, muss sie ACID-Eigenschaften erreichen können. Die meisten NoSQL-Tools reduzieren die Konsistenzkriterien von Operationen, um Fehlertoleranz und Skalierungsverfügbarkeit zu erreichen. Es ist eine gute Idee, SQL/ACID-Datenbanken wie VoltDB zu verwenden, die In-Memory, spaltenorientiert und verteilt sind. Die ' Optimistischen Transaktionen ' können verwendet werden, um dies zu erreichen, aber ich glaube, Sie müssen die Unteilbarkeitsgarantien der Datenbankimplementierung verstehen (z. B. wie viele Wörter soll ich hintereinander schreiben und lesen), bevor Sie fortfahren.

Laut einigen Diskussionsforen finden im Internet einige HBase-Transaktionen statt, falls Sie danach suchen. Es gibt im Allgemeinen zwei Arten von NoSQL-Datenbanken: Schlüssel/Wert-Datenbanken und verteilte Datenspeicher, die beide in Ihrem bevorzugten RDBMS implementiert sind und mit der Unterstützung Ihres DBA und der Flexibilität und Leistung von NoSQL auf dem Laufenden gehalten werden können. Wenn eine NoSQL-Lösung Compare-and-Matching beinhaltet, können Sie darüber hinaus optimistische Transaktionen verwenden.

Für NoSQL-Datenbanken war diese Zeit besonders wichtig: Der Einsatz war höher, und es war endlich an der Zeit, verteilte Transaktionen zu implementieren. Bis dahin wurden Transaktionen normalerweise auf einem Server festgeschrieben und dann auf die gleiche Weise wie zuvor auf den Rest des Clusters repliziert.

Warum ist Nosql nicht gut für Transaktionen?

ACID-Transaktionen werden nicht von NoSQL-Datenbanken durchgeführt. In heutigen Anwendungen sind diese Eigenschaften nicht trivial in Transaktionen zu verwenden, die mit NoSQL ausgeführt werden müssen. Strukturierte Daten werden von ihm nicht unterstützt und es verwendet keine strukturierte Abfragesprache.

Die Verwendung von NoSQL-Datenbanken in der Entwicklung ermöglicht es Entwicklern, das gleiche Maß an Parallelität zu erreichen, ohne In-Memory-Strukturen in relationale Strukturen umzuwandeln. Darüber hinaus bieten sie zwar ein hohes Maß an Datensicherheit, es ist jedoch von entscheidender Bedeutung, dass moderne IT-Organisationen dies tun. Der Sharding-Prozess, der extrem große Datenbanken in kleinere, überschaubarere Teile aufteilt, kann nicht von jeder Datenbank automatisiert werden. Wenn Sie NoSQL-Datenbanken verwenden, werden die Daten auf mehrere Knoten verteilt und können daher effizienter abgerufen werden, was zu einem selektiven Zugriff auf größere Datensätze mit mehr Rechenleistung führt. Moderne Anwendungen, die von Datenbanken ein hohes Maß an Skalierbarkeit, Zuverlässigkeit und Verfügbarkeit verlangen, verlangen von relationalen Datenbanken ein hohes Maß an Zuverlässigkeit und Skalierbarkeit. Die NoSQL-Nachteile können mit einer Vielzahl von Strategien für heutige Anwendungen überwunden werden.

Die Auswahl der richtigen NoSQL-Datenbank für Ihre Anforderungen erfordert eine Vielzahl von Überlegungen. Diese Liste enthält Faktoren wie die Art der benötigten Daten, das erforderliche Maß an Zuverlässigkeit und die erforderliche Geschwindigkeit und Skalierbarkeit. MongoDB, Cassandra und Redis sind einige der beliebtesten NoSQL-Datenbanken. Jede dieser Datenbanken hat ihre eigenen Stärken und Schwächen, daher müssen Sie die beste für sich auswählen. Es gibt keine Garantie dafür, dass NoSQL-Datenbanken die beste Option für Ihre Anforderungen sind. Einer der Hauptnachteile von NoSQL-Datenbanken besteht darin, dass sie Zuverlässigkeitsfunktionen relationaler Datenbanken nicht nativ unterstützen können. Unter den Eigenschaften der Zuverlässigkeit sind Atomarität, Konsistenz, Isolation und Haltbarkeit alle wichtig. Wenn Sie Transaktionen durchführen müssen, ist MongoDB nicht die beste Datenbank für Sie. Es gibt immer weniger Anwendungen, die Transaktionen erfordern, aber einige, die Transaktionen erfordern, um mehrere Dokumente/Sammlungen zu aktualisieren. In diesem Fall sollte MongoDB vermieden werden, da es vom Team benötigt wird. Bei der Auswahl einer NoSQL-Datenbank ist es wichtig, eine Reihe von Faktoren zu berücksichtigen, darunter die Art der Daten, mit denen Sie arbeiten, das erforderliche Maß an Zuverlässigkeit sowie die Leistung und Skalierbarkeit Ihrer Datenbank. MongoDB, Cassandra und Redis sind nur einige der heute verfügbaren NoSQL-Datenbanken.

Warum Mongodb nicht für Finanzdaten empfohlen wird

Warum sollte MongoDB nicht für Finanzdaten verwendet werden?
Aufgrund der fehlenden Transaktionsunterstützung wird MongoDB nicht für die Verwendung in Finanzdaten empfohlen. Es ist entscheidend für die Datenzuverlässigkeit und -konsistenz, um Transaktionen durchzuführen. Transaktionen sind erforderlich, um die Konsistenz oder Synchronisierung mit der Datenbank sicherzustellen, aber sie werden nicht immer ausgeführt.


Nosql-Transaktionssäure

NoSQL-Datenbanken unterstützen Transaktionen nicht in der gleichen Weise wie relationale Datenbanken. Das bedeutet, dass Sie sich bei Verwendung einer NoSQL-Datenbank nicht auf die ACID-Eigenschaften von Transaktionen verlassen können. Einige NoSQL-Datenbanken unterstützen jedoch einige Funktionen von Transaktionen, z. B. atomare Operationen.

Verschiedene Nosql-Datenbanken können unterschiedliche Ebenen der Transaktionsunterstützung bieten.

Verschiedene Nosql-Datenbanken können unterschiedliche Ebenen der Transaktionsunterstützung bieten. Beispielsweise bieten einige Datenbanken möglicherweise vollständige Transaktionsunterstützung , während andere möglicherweise nur eingeschränkte Unterstützung bieten. Dies kann ein wichtiger Faktor sein, den es bei der Auswahl einer Nosql-Datenbank zu berücksichtigen gilt.

Daten werden aus objektorientierter Sicht modelliert und nicht in einer relationalen Datenbank gespeichert, damit Entwickler den Unterschied zwischen objektorientierten und relationalen Datenbanken besser verstehen. Dokumentorientierte Datenbanken (z. B. MarkLogic, MongoDB und CouchDB) haben diese Impedanzfehlanpassung vollständig eliminiert. Der Nachteil von NoSQL-Datenbanken besteht darin, dass sie solche Fähigkeiten in Bezug auf Agilität und Skalierbarkeit nicht bieten. In der Praxis zeigt sich die Bedeutung von ACID-Eigenschaften darin, wie sie vom Markt angewendet oder angesprochen werden. MarkLogic, eine NoSQL-Datenbank, ist ein Beispiel für eine NoSQL-Datenbank, und wir werden uns ansehen, wie sie bei Transaktionen mit mehreren Anweisungen in Java hilft. MarkLogic ist eine dokumentenorientierte NoSQL-Datenbank. Es ist möglich, Objekte in ein sprachneutrales und selbstbeschreibendes Format zu serialisieren, ohne komplexe Zuordnungen durchlaufen zu müssen.

Im folgenden Beispiel wird JAXB verwendet, um MarkLogic ein POJO zur Persistenz zu präsentieren. Mit den ACID-Eigenschaften von MarkLogic spiegelt der Bestand einen Kauf (in Form einer Bestandsreduzierung) wider, wenn ein Artikel gekauft wird. Die Datenbank führt diese Aufgabe aus ihrer Sicht als Alles-oder-Nichts-Operation durch. Da es sich bei dieser Transaktion um eine Transaktion mit mehreren Anweisungen handelt, erstellt MarkLogic eine Sperre auf Dokumentebene, indem es zum ersten Mal Lesevorgänge ausführt. Wenn wir das obige Programm erfolgreich durchführen, erhalten wir eine Bestellung mit drei Einzelartikeln sowie Aktualisierungen der Inventarartikel, um die Anzahl der Artikel zu reduzieren. Wenn das Programm erneut ausgeführt wird, können wir eine (wenn auch etwas falsche) Ausnahme für die Transaktion erzwingen, indem wir behaupten, dass kein Inventar vorhanden ist. Wenn wir in diesem Fall die gesamte Transaktion abbrechen, erhalten wir daher die folgende Fehlermeldung.

Wenn wir ein Objekt mit der Absicht lesen, es zu aktualisieren, müssen wir sicherstellen, dass ein anderer Thread seinen Zustand nicht ändert, bevor wir die Operation beenden können. Um dies sicherzustellen, wird die Leseoperation nicht implizit gesperrt, wenn sie aus dem Transaktionskontext herausgeführt wird. Um die Aufgabe abzuschließen, müssen Sie mit einem DocumentDescriptor-Objekt arbeiten. Wir glauben an optimistisches Sperren, weil wir zuversichtlich sind, dass sich unser Betriebssystem bei einem späteren Update nicht ändern wird. Es ist nicht ungewöhnlich, dass in diesem Gebäude eine Isolationsverletzung auftritt. Wenn es jedoch ein Problem gibt, sollte es untersucht werden. MarkLogic verfolgt aktualisierte Versionen und sendet uns eine E-Mail, wenn wir sie geschlagen haben. Das Ziel des MarkLogic-Servers ist es, leistungsstarke Funktionen so bereitzustellen, dass Entwickler sie verwenden können, ohne auf irgendeine seiner Funktionen verzichten zu müssen. Durchsuchen Sie die Website nach weiteren Informationen zu diesen und anderen Themen. Das in diesem Artikel verwendete Transaktionsbeispiel mit mehreren Anweisungen finden Sie auf der GitHub-Seite.

Warum Mongodb die beste Dokumentendatenbank ist

Dokumentendatenbanken sind eine gute Wahl für Anwendungen, die viele Daten speichern. Die beliebteste Dokumentendatenbank der Welt ist MongoDB.
Ein Schlüsselwertspeicher ist nützlich für Anwendungen, bei denen Daten in einem einfachen Datenmodell gespeichert werden müssen. Key-Value-Stores wie Redis gehören zu den beliebtesten.
Spaltenorientierte Datenbanken sind eine ausgezeichnete Wahl, wenn Sie Tabellen zum Speichern von Daten benötigen. MySQL ist die am weitesten verbreitete spaltenorientierte Datenbank.
Daten können in Diagrammen durch die Verwendung von Diagrammdatenbanken gespeichert werden. Es ist die beliebteste Graphdatenbank und eine der beliebtesten NoSQL-Datenbanken.

Mongodb-Transaktionen

In MongoDB ist eine Transaktion eine einzelne Arbeitseinheit, die aus einer oder mehreren Operationen in der Datenbank besteht. Transaktionen sind nützlich, um die Datenintegrität sicherzustellen und sicherzustellen, dass Daten in der erwarteten Reihenfolge verarbeitet werden.
MongoDB bietet zwei Arten von Transaktionen:
1. Einzelvorgänge: Dies sind die häufigsten Transaktionstypen und werden verwendet, um ein einzelnes Dokument zu aktualisieren, einzufügen oder zu löschen.
2. Transaktionen mit mehreren Dokumenten: Diese Transaktionen können mehrere Dokumente aktualisieren, einfügen oder löschen und sind nützlich, um sicherzustellen, dass Daten in einer bestimmten Reihenfolge verarbeitet werden.
Um eine Transaktion zu starten, verwenden Sie die Methode db.collection.startTransaction(). Diese Methode benötigt einige Parameter, mit denen Sie den Lese- und Schreibbereich für die Transaktion angeben können. Der Read Concern gibt an, wie MongoDB Daten für die Transaktion lesen soll, und der Write Concern gibt an, wie MongoDB Daten für die Transaktion schreiben soll.
Sobald Sie eine Transaktion gestartet haben, können Sie jede Operation ausführen, die Sie normalerweise auf der Datenbank ausführen würden. Alle Vorgänge, die Sie innerhalb der Transaktion ausführen, sind Teil derselben Arbeitseinheit.
Um eine Transaktion festzuschreiben, verwenden Sie die Methode db.collection.commitTransaction(). Diese Methode schreibt alle Änderungen, die Sie innerhalb der Transaktion vorgenommen haben, in die Datenbank.
Wenn Sie eine Transaktion abbrechen möchten, verwenden Sie die Methode db.collection.abortTransaction(). Diese Methode setzt alle Änderungen zurück, die Sie innerhalb der Transaktion vorgenommen haben.

Der Begriff Transaktion bezieht sich auf logische Gruppen von Prozessen, die eine oder mehrere Operationen in einer Datenbank verarbeiten, wie z. B. das Lesen oder Schreiben mehrerer Dokumente. Transaktionen werden verwendet, um eine einheitliche Operation zu erstellen, indem mehrere Anweisungen gruppiert und isoliert werden. Datenbankatomarität und -isolierung werden verwendet, um ACID-Konformität zu erreichen. In MongoDB gibt es zwei APIs für die Transaktionsverarbeitung. Die Kern-API ist nicht nur die erste API, sondern hat auch eine Syntax, die der einer relationalen Datenbank ähnelt. Die zweite Möglichkeit besteht darin, die Transaktionsverarbeitung von MongoDB zu verwenden. Eine Transaktion wird normalerweise mithilfe einer der API-Methoden geschrieben und ausgeführt, die im entsprechenden MongoDB-Treiber der Anwendungssprache definiert sind.

Das Erstellen einer Sitzung in MongoDB ist der erste Schritt zum Generieren einer Transaktion. Die Methode startTransaction() ist in zwei Teile unterteilt: readConcern und writeConcern. Diese Optionen stellen sicher, dass Daten im mehrheitlich festgelegten Status in Echtzeit synchronisiert bleiben. Bei einem Fehler wird die Transaktion abgebrochen; Weitere Informationen finden Sie in der beigefügten Liste. Hierbei können wir Running Authors einsetzen. Autoren werden von uns verwaltet. In dieser Sitzung werden wir die vorherigen Ergebnisse mit unserer Addition zurückgeben, also rufen Sie jetzt find() auf.

Dieser Leitfaden definiert Transaktionen sowie die besten Anwendungsfälle für sie in MongoDB. Wir sind auch konzeptionell durch den Prozess einer Transaktionssitzung in MongoDB gegangen. Wenn Sie mehr über MongoDB und Prisma erfahren möchten, haben wir einen Leitfaden „Erste Schritte von Grund auf“ oder einen Leitfaden „Hinzufügen zu einem bestehenden Projekt“ erstellt. Die Verwendung von MongoDB für Transaktionen beinhaltet eine Reihe von Best Practices. Transaktionsdaten werden durch ACID- konforme Transaktionen vor ungültigen Datenbankzuständen geschützt. Sobald Sie die Transaktion starten, stellen Sie sicher, dass Sie sie so optimieren, dass sie 60 Sekunden lang ausgeführt wird. Die Anzahl der Vorgänge sollte 1.000 Dokumente in einer Transaktion nicht überschreiten.

Die atomaren Transaktionsgarantien von MongoDB machen es zu einer ausgezeichneten Wahl für Anwendungen, die Datenkonsistenz und Datenintegrität erfordern. Darüber hinaus sind Transaktionen ein wichtiger Bestandteil des ACID-Standards, der für Anwendungen erforderlich ist, die einen kontinuierlichen Zugriff auf Daten erfordern.

Die Macht von Mongodb: Transaktionen

Mit MongoDB, einer NoSQL-Datenbank, können mehrseitige Transaktionen ausgeführt werden. Transaktionen können verwendet werden, um sicherzustellen, dass mehrere Lese- und Schreibvorgänge in mehreren Dokumenten aus einer oder mehreren Sammlungen atomar sind. Zusätzlich zu Transaktionen ist es möglich, sie zu verwenden, um die Atomarität über mehrere Operationen, Sammlungen, Datenbanken, Dokumente und Shards hinweg sicherzustellen. Die Tatsache, dass MongoDB schon immer Atomarität bereitgestellt hat, macht es zu einem hervorragenden Transaktionstool . MongoDB verarbeitet Transaktionen mit einer Rate von 250 Millionen Transaktionen pro Sekunde.

Oracle Nosql-Datenbanktransaktionen

Eine Oracle NoSQL Database-Transaktion ist eine Reihe von Lese- und Schreibvorgängen, die als eine Einheit ausgeführt werden. Alle Schreibvorgänge in einer Transaktion sind für alle Lesevorgänge sichtbar, die auftreten, nachdem die Transaktion festgeschrieben wurde. Eine Transaktion kann mehrere Schlüssel und Datenelemente umfassen.

Nosql-Datenbanken: Wann man sie verwendet und wann man sie vermeidet

Eine NoSQL-Datenbank hingegen ist möglicherweise die bessere Wahl für Unternehmen, die große Mengen unstrukturierter Daten speichern müssen oder über weniger strukturierte Daten verfügen. Transaktionsunterstützung wird von einer NoSQL-Datenbank im Gegensatz zu einer herkömmlichen Datenbank nicht unterstützt. Dies ist möglicherweise nicht die beste Wahl für Systeme, die viele Daten aufbewahren müssen und nach einer konsistenten Methode zum Speichern und Verwalten dieser Daten suchen.

Nosql-Datenbanken

Nosql-Datenbanken sind Datenbanken, die nicht die herkömmliche SQL-Datenbankstruktur verwenden. Stattdessen verwenden sie eine flexiblere Struktur, die einfacher skaliert werden kann, um die Anforderungen moderner Anwendungen zu erfüllen.

Die Daten in einer NoSQL-Datenbank werden in Dokumenten und nicht in Tabellen gespeichert. Sie sind so konzipiert, dass sie flexibel und skalierbar sind und innerhalb weniger Minuten auf moderne Geschäftsanforderungen reagieren können. Dokumentdatenbanken, Schlüsselwertspeicher, Datenbanken mit breiten Spalten und Diagrammdatenbanken sind einige der verfügbaren Arten von NoSQL-Datenbanken. Global-2000-Unternehmen führen NoSQL-Datenbanken schnell ein, um ihre unternehmenskritischen Anwendungen zu unterstützen. Die fünf oben genannten Trends gehören zu den schwierigsten technischen Herausforderungen, denen die meisten relationalen Datenbanken gegenüberstehen. Aufgrund des festen Datenmodells relationaler Datenbanken sind sie ein großes Hindernis für die agile Entwicklung. NoSQL definiert das Anwendungsmodell als Teilmenge des Datenmodells.

Das Modellieren von Daten mit NoSQL ist nicht statisch. Das De-facto-Format zum Speichern von Daten in einer dokumentenorientierten Datenbank ist JSON. Darüber hinaus wird dadurch die Verwendung von ORM-Frameworks eliminiert und die Anwendungsentwicklung optimiert. Die neu eingeführte Abfragesprache N1QL (ausgesprochen Nickel) ist eine leistungsstarke SQL- und JSON-Erweiterung für Couchbase Server 4.0. Das Produkt unterstützt nicht nur standardmäßige SELECT / FROM / WHERE-Anweisungen, sondern auch Aggregation (GROUP BY), Sortierung (SORT BY), Verknüpfungen (LEFT OUTER / INNER) und mehr. NoSQL-Datenbanken zeichnen sich durch hohe Betriebseffizienz und Scale-out-Architektur aus. Die Verfügbarkeit von Diensten ist zu einem Problem geworden, da immer mehr Kunden online über Web- und mobile Apps mit Unternehmen interagieren.

NoSQL-Datenbanken können einfach bereitgestellt und konfiguriert werden. Sie wurden speziell zum Lesen, Schreiben und Aufbewahren entwickelt. Sie sind in großem Umfang tätig, einschließlich der Verwaltung und Überwachung von Clustern unterschiedlicher Größe. Eine NoSQL-Datenbank ist auf mehrere Rechenzentren verteilt und kann ohne separate Software repliziert werden. Es kann auch verwendet werden, um eine sofortige Notfallwiederherstellung über Hardware-Router zu ermöglichen, wodurch eine Anwendung nicht mehr darauf warten muss, dass eine Datenbank ein Problem erkennt und ihre eigene Wiederherstellung durchführt. Mit der Weiterentwicklung von NoSQL-Datenbanken können Sie Web-, Mobil- und IoT-Anwendungen erstellen, die auf mehreren Plattformen ausgeführt werden.

NoSQL-Datenbanken sind aufgrund ihrer Skalierbarkeit, Replikation und Flexibilität von Vorteil. Trotz ihrer hohen Leistungsfähigkeit sind sie in der Lage, große Datenmengen ohne Leistungseinbußen zu verarbeiten. Darüber hinaus sind sie ideal für Anwendungen, die Text, Bilder und strukturierte Daten in einer Vielzahl von Formaten speichern müssen.

Die Vorteile von Nosql-Datenbanken

NoSQL-Datenbanken bieten gegenüber herkömmlichen relationalen Datenbanken mehrere Vorteile, darunter schnellere Leistung und größere Flexibilität. Es ist möglich, Daten zu speichern, die nur schwer in ein relationales Modell passen, wie z. B. Video-Streaming oder Social-Media-Beiträge. Sie sind auch effizienter bei der Datenabfrage, da sie nicht das gleiche Maß an Schemas und Datenzuordnung wie relationale Datenbanken erfordern.

Säuretransaktionen

Wenn es darum geht, die Merkmale einer Transaktion zu bestimmen, wird das Akronym ACID durch vier Schlüsseleigenschaften definiert: Atomarität, Konsistenz, Isolation und Dauerhaftigkeit. Eine Transaktion in einer Datenbank kann als eines mit diesen ACID-Eigenschaften definiert werden, und ein Transaktionssystem kann als eines definiert werden, bei dem diese ACID-Eigenschaften auf die Datenspeicherung angewendet werden.

Der als ACID (Atomicity, Consistency, Isolation, and Durability) bekannte Eigenschaftssatz ist eine wichtige Komponente von Datenbanktransaktionen, da er der Eigenschaftssatz ist, der auch im Falle von Fehlern, Stromausfällen usw. beibehalten werden sollte. Transaktionen sind ein wesentlicher Bestandteil der Änderungen einer Datenbank. Bei der Entwicklung verteilter Anwendungen ist es wichtig, ACID-Transaktionen zu verstehen. DBMS verwendet zwei Ansätze zur Atomarität. Bevor Änderungen übernommen werden, wird eine Protokolldatei auf den Server geschrieben. Im Gegensatz dazu geht der zweite Ansatz davon aus, dass eine Datenbank in Blöcke fester Länge partitioniert ist, die als Seiten bezeichnet werden. Während einer Transaktion sind zwei Kopien einer Seite vorhanden – die aktuelle Seite und die Schattenseite.

Transaktionen werden in serieller Reihenfolge in isolierter Eigenschaft ausgeführt, um das Risiko inkonsistenter Zustände zu vermeiden. Kunden werden von DBMS-Systemen durch die Illusion getäuscht, dass Transaktionen kontinuierlich durchgeführt werden, was es ihnen ermöglicht, über den Zustand am Ende der Transaktion nachzudenken. Kunden finden es möglicherweise einfacher, auf Transaktionen mit langer Dauer zu warten, da einige lange dauern können. Das DBMS lässt zu, dass Transaktionen nur dann verschachtelt werden, wenn eine Reihe von Transaktionen gleichzeitig ausgeführt werden, was zu durch die Transaktion erstellten Zeitplänen führt. Die Operation an demselben Datenelement wird durch mehrere Transaktionen durchgeführt, von denen eine eine Schreiboperation ist. Der Abschnitt zur Atomizität beschreibt einige der gebräuchlicheren Ansätze zum Erreichen von Atomizität und Dauerhaftigkeit.

Die Bedeutung der Säure-Compliance

Damit Datenbanktransaktionen reibungslos und zuverlässig funktionieren, müssen sie immer auf vorhersehbare und zuverlässige Weise erfolgreich sein oder fehlschlagen. ACID ist ein Begriff, der verwendet wird, um die vier primären und wichtigsten Eigenschaften einer Transaktion zu beschreiben: Atomarität, Konsistenz, Isolation und Dauerhaftigkeit. Transaktionen, die diese Anforderungen erfüllen, gelten als ACID-konform.