Persistenzmodellen
Persistenzmodelle bezeichnen in der Informatik die Konzepte, Methoden und Architekturen, mit denen Software Daten dauerhaft speichert und nach einem Neustart wieder verfügbar macht. Sie beschreiben, wie Daten modelliert, wo sie abgelegt und wie sie abgerufen oder rekonstituiert werden. Ziel ist es, eine passende Balance aus Haltbarkeit, Leistung, Konsistenz und Skalierbarkeit zu erreichen.
Zentrale Dimensionen sind Haltbarkeit (wie lange Daten überleben), Konsistenz (Datenzustand bei Zugriffen), Schemafreiheit oder -bindung, Transaktionsunterstützung
Typische Persistenzmodelle umfassen:
- Dateibasierte Persistenz: einfache Dateien mit Serialisierung von Objekten oder Strukturen.
- Relationale Datenbanken: strukturierte Tabellen, Transaktionen, starke Konsistenz.
- NoSQL-Datenbanken: dokumentenorientiert, schlüssel-Wert, spalten- oder graphbasiert; oft esquemafrei und skalierbar.
- Objektbasierte Datenbanken und ORM-basierte Persistenz: Abbildung von Objekten auf Persistenzschichten.
- Event Sourcing: Änderungen werden als unveränderliche Ereignisse in einem Append-Only-Log gespeichert; der Zustand wird durch Wiedereinspielen
- Journal- oder Logging-basierte Ansätze und Snapshotting: neben dem Log auch regelmäßige Zustandsbremden.
Bei der Auswahl eines Persistenzmodells spielen Anwendungsanforderungen eine zentrale Rolle: Konsistenzanforderungen, Skalierung, ungeplante Schemaänderungen, Entwicklungs- und