Versioning und Lifecycle-Management
Was ist Versioning?
Versioning (deutsch: "Versionsverwaltung") ist eine Funktion in S3-kompatiblen Speichersystemen, die es ermöglicht, mehrere Versionen eines Objekts in einem Bucket zu speichern. Jedes Mal, wenn ein Objekt überschrieben oder gelöscht wird, wird eine neue Version erstellt, während ältere Versionen erhalten bleiben. Dies bietet Schutz vor unbeabsichtigtem Überschreiben oder Löschen von Daten und ermöglicht die Wiederherstellung früherer Versionen.
Typische Anwendungsfälle für Versioning:
-
Datensicherheit:
- Schutz vor versehentlichem Löschen oder Überschreiben von Objekten
- Wiederherstellung von Daten nach Fehlern oder Angriffen (z. B. Ransomware)
-
Datenverlauf und Auditing:
- Nachverfolgung von Änderungen an Dokumenten oder Dateien
- Einhaltung von Compliance-Anforderungen (z. B. GoBD, GDPR)
-
Entwicklung und Zusammenarbeit:
- Verwaltung verschiedener Versionen von Konfigurationsdateien oder Projektdokumenten
- Zusammenarbeit in Teams mit parallelen Änderungen
Wichtige Eigenschaften von Versioning:
- Automatische Versionserstellung: Jede Änderung oder Löschung erzeugt eine neue Version
- Wiederherstellungsmöglichkeit: Ältere Versionen können jederzeit abgerufen werden
- Speicherbedarf: Ältere Versionen belegen Speicherplatz, bis sie explizit gelöscht werden
- Löschschutz: Gelöschte Objekte bleiben als Version erhalten, solange Versioning aktiviert ist
Was ist Lifecycle-Management?
Lifecycle-Management (deutsch: "Lebenszyklus-Management") ermöglicht die automatische Verwaltung von Objekten in einem Bucket basierend auf vordefinierten Regeln. Diese Regeln steuern, wie Objekte über ihren Lebenszyklus hinweg behandelt werden, z. B. durch Verschieben in andere Speicherklassen oder Löschen nach einer bestimmten Zeit. Lifecycle-Management hilft, Speicherkosten zu optimieren und Compliance-Anforderungen zu erfüllen.
Typische Anwendungsfälle für Lifecycle-Management:
-
Kostenoptimierung:
- Automatisches Löschen veralteter oder nicht mehr benötigter Daten
-
Compliance und Datenretention:
- Automatische Löschung von Daten nach Ablauf gesetzlicher Aufbewahrungsfristen
- Verwaltung von Daten gemäß regulatorischen Anforderungen
-
Datenorganisation:
- Automatisches Archivieren oder Löschen temporärer Dateien
- Verwaltung von Protokolldateien oder Backups
Wichtige Eigenschaften von Lifecycle-Management:
- Automatisierung: Regeln werden automatisch auf alle oder spezifische Objekte im Bucket angewendet
- Kosteneffizienz: Reduziert Speicherkosten durch Löschen von Daten
- Flexibilität: Unterstützt mehrere Regeln für verschiedene Objekte oder Präfixe
- Kombination mit Versioning: Kann auf bestimmte Versionen von Objekten angewendet werden (z. B. Löschen alter Versionen)
Unterschied zwischen Versioning und Lifecycle-Management
| Feature | Versioning | Lifecycle-Management |
|---|---|---|
| Ziel | Schutz und Wiederherstellung von Daten | Automatische Verwaltung des Lebenszyklus |
| Speicherbedarf | Erhöht durch Speicherung alter Versionen | Reduziert durch Löschen oder Archivieren |
| Automatisierung | Nein (manuelle Wiederherstellung) | Ja (automatische Regeln) |
| Compliance-Sicherheit | Hoch (Datenwiederherstellung) | Mittel (Datenretention) |
| Flexibilität | Mittel (Versionen manuell abrufbar) | Hoch (anpassbare Regeln) |