Skip to main content
Log in

Einsatz von ACID-Transaktionen im Wandel der Zeit

Use of ACID Transactions in the Course of Time

  • Spektrum
  • Published:
HMD Praxis der Wirtschaftsinformatik Aims and scope Submit manuscript

Zusammenfassung

Die ACID-Transaktion ist ein starkes Konzept für die Entwicklung von Anwendungen, bei denen die Konsistenz der Daten essentiell ist. Es hat seinen Ursprung in der klassischen Transaktionsverarbeitung der 70er und 80er Jahre des letzten Jahrtausends im Kontext von Datenbanken und Transaktionsmonitoren, insbesondere für stark interaktive und nebenläufige betriebliche Anwendungen. Zunächst etablierte sich das Konzept für Anwendungen, die nur eine einzige, später auch mehrere Datenbanken in lokalen Transaktionen nutzen. Ab Mitte der 80er Jahre entwickelte man das Konzept dann für verteilte Anwendungen mit mehreren Datenbanken oder Message Queuing Systemen (allgemein als Ressourcenmanager bezeichnet) weiter. Es wurde damit allerdings auch weit komplexer und fehleranfälliger. Verteilte Koordinationsprotokolle, auch als Commit-Protokolle bezeichnet, wurden in Middleware-Lösungen integriert. Die Schwächen von Commit-Protokollen wegen der Notwendigkeit der zentralen Koordination erschwerten oft die praktische Nutzung verteilter Transaktionen. Trotzdem versuchte man das Konzept auch für serviceorientierten Architekturen, insbesondere für Webservices zu adaptieren. Umfangreiche Spezifikationen wurden erstellt. In den letzten Jahren ging man im praktischen Einsatz der Transaktionsverarbeitung wieder zurück zu den Wurzeln, wie insbesondere bei Microservice-Architekturen beobachtet werden kann. Aber auch das Saga-Transaktionsmodell wird für Microservice-Architekturen in Erwägung gezogen. Auch der dedizierte Einsatz von ACID-Transaktionen bei stark replizierten Lösungsansätzen insbesondere bei NoSQL-Datenbanken ist aktuell im Kommen.

Abstract

The ACID transaction is a powerful concept for developing applications where data consistency is essential. It has its origins in the classical transaction processing of the 70s and 80s of the last millenium in the context of databases and transaction monitors, especially for highly interactive and concurrent business applications. Initially, the concept established itself for applications that use only a single database in local transactions, and later several databases as well. From the mid-1980s, the concept was further developed for distributed applications with multiple databases or message queuing systems (commonly referred to as resource managers). However, it also became far more complex and error-prone. Distributed coordination protocols, also known as commit protocols, were integrated into middleware solutions. The weaknesses of commit protocols due to the need for centralized coordination often hampered the practical use of distributed transactions. Nevertheless, attempts were also made to adapt the concept for service-oriented architectures, in particular for web services. Extensive specifications were developed. In recent years, the practical use of transaction processing has returned to its roots, as can be observed in microservice architectures in particular. But the Saga transaction model is also being considered for microservice architectures. The dedicated use of ACID transactions for highly replicated solutions, especially for NoSQL databases, is also currently on the rise.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Abb. 1
Abb. 2
Abb. 3
Abb. 4
Abb. 5
Abb. 6
Abb. 7
Abb. 8
Abb. 9
Abb. 10

Notes

  1. Eine Operation begin bzw. beginTransaction gibt es nicht im SQL-Standard. Nach Aufruf der Operation commit beginnt bei Nutzung von SQL automatisch eine neue Transaktion.

  2. UTM steht für „Universaler Transaktionsmonitor“. UTM wurde von Siemens entwickelt und gehört heute Fujitsu (UTM 2019).

  3. Der Transaktionsmonitor „Customer Information Control System“ (CICS) von IBM ist heute in IBM TXSeries integriert (CICS 2019).

  4. IMS TM steht für „Information Management System Transaction Manager“ (IMS TM 2019).

  5. Microsofts Transaktionsmanager wird als MS DTC (Distributed Transaction Coordinator) bezeichnet (MS DTC 2019).

  6. Tuxedo ist ein älterer Transaktionsmonitor, der mittlerweile Oracle gehört, TopEnd ist auch ein älterer Transaktionsmonitor der Firma NCR.

  7. Die Zusammenhänge können in (Mandl 2009) nachgelesen werden.

  8. Heute ist das die Open Group.

  9. Seit Oktober 2019 wird JEE nicht mehr von Oracle, sondern von der Eclipse Foundation weiterentwickelt und als Jakarta EE bezeichnet. Siehe https://jakarta.ee/. Zugegriffen: 25.10.2019.

  10. OASIS entwickelt offene Standards, siehe https://www.oasis-open.org. Zugegriffen: 18.05.2019.

  11. Siehe hierzu die entsprechenden Webseiten der Hersteller.

  12. https://aws.amazon.com/de/dynamodb/, http://cassandra.apache.org und https://riak.com/products/#riak. Zugegriffen am 27.10.2019.

  13. https://www.mongodb.com/de. Zugegriffen am 25.10.2019.

  14. Beispiele für offene APIs siehe https://any-api.com. Zugegriffen: 13.05.2019.

  15. https://www.alibabacloud.com/. Zugegriffen: 28.10.2019.

  16. https://github.com/alibaba/fescar. Zugegriffen: 28.10.2019.

Literatur

Download references

Danksagung

Bedanken möchte ich mich ganz herzlich bei den Gutachtern für die wertvollen Verbesserungsvorschläge und Anregungen.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Peter Mandl.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Mandl, P. Einsatz von ACID-Transaktionen im Wandel der Zeit. HMD 57, 324–347 (2020). https://doi.org/10.1365/s40702-019-00575-w

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1365/s40702-019-00575-w

Schlüsselwörter

Keywords

Navigation