Definition: MVCC

Als Multiversion Concurrency Control (kurz MVCC) bezeichnen wir in Datenbanken (sowohl relational als auch NoSQL) eine Technik zur gleichzeitigen Verwaltung von Lese- und Schreiboperationen, bei der der frühere Stand eines Datensatzes während einer Änderung aufbewahrt wird.

Dieses Vorgehen ermöglicht:

  • Lesen ohne Sperren: Leseoperationen greifen während einer laufenden Änderung einfach auf eine zum Zeitpunkt des Lesens gültige, frühere Version der Daten zu, ohne dass Schreiboperationen blockiert werden.
  • Schreiben ohne Konflikte: Schreiboperationen erstellen neue Versionen der Daten, anstatt bestehende zu überschreiben, wodurch die Konsistenz zwischen parallelen Transaktionen sichergestellt wird.

MVCC verbessert die Leistung und Skalierbarkeit von NoSQL-Datenbanken, indem es den gleichzeitigen Zugriff auf Daten effizienter gestaltet und Konflikte zwischen parallelen Transaktionen minimiert.