PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Wie man Transaktionen über mehrere Datenbanken verwaltet

Sowohl Cassandra als auch PostgreSQL unterstützen Linearisierbarkeit und Compare-and-Set (CAS), sodass Sie Transaktionen auf der Client-Seite implementieren können.

Wenn Sie eine serialisierbare Isolationsstufe wünschen, sollten Sie einen Blick auf die Transaktionen von Percolator werfen . Die Transaktionen des Perkolators sind in der Branche ziemlich bekannt und wurden in Amazons verwendet DynamoDB-Transaktionsbibliothek , in der CockroachDB-Datenbank und im Pecolator-System von Google selbst. Eine Schritt-für-Schritt-Visualisierung der Transaktionen des Perkolators können Ihnen helfen, es zu verstehen.

Wenn Sie mit Konflikten rechnen und mit der Isolationsstufe Read Committed umgehen können, dann RAMP-Transaktionen von Peter Bailis könnte Ihnen gefallen. Ich habe auch eine RAMP-Visualisierung Schritt für Schritt erstellt .

Der dritte Ansatz besteht darin, kompensierende Transaktionen zu verwenden, die auch als Saga-Muster bekannt sind. Es wurde Ende der 80er Jahre in den Sagas Papier, wurde aber mit dem Aufkommen verteilter Systeme aktueller. Siehe Anwenden des Saga-Musters Lassen Sie sich inspirieren.