Übung Transaktionen
Vorbereitung
Importieren sie folgendes Notebook in ihren Python-Container:
(ipynb)
(render)
Implementierung von Szenarien aus der Vorlesung
- Vorlesung
-
Szenario: Snapshot - Repeatble Read
(link)
- Vorlesung
-
Szenario: Write Skew
(link)
- Vorlesung
-
Szenario: Update Conflicts 1
(link)
- Vorlesung
-
Szenario: Serialisierungsfehler
(link)
Implementierung von Szenarien aus dem PostgreSQL-Paper
-
Paper "Serializable Snapshot Isolation in PostgreSQL" - bis Kapitel 3.1 lesen
(link)
- Szenario Fig 1 implementieren
- Szenario Fig 2 implementieren
Umsetzung Zwei-Phasen-Commit-Protokoll
Erstellen sie einen Postgres-Container
services:
pg:
container_name: pg
image: postgres
ports:
- 5432:5432
environment:
POSTGRES_PASSWORD: adbktpg
volumes:
- data:/var/lib/postgresql/data
volumes:
data:
Entwickeln sie ein Szenario, in dem zwei Postgres-Datenbanken in einer Transaktion zusammenspielen.