Zum Inhalt

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:

  1. Datensicherheit:

    • Schutz vor versehentlichem Löschen oder Überschreiben von Objekten
    • Wiederherstellung von Daten nach Fehlern oder Angriffen (z. B. Ransomware)
  2. Datenverlauf und Auditing:

    • Nachverfolgung von Änderungen an Dokumenten oder Dateien
    • Einhaltung von Compliance-Anforderungen (z. B. GoBD, GDPR)
  3. 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:

  1. Kostenoptimierung:

    • Automatisches Löschen veralteter oder nicht mehr benötigter Daten
  2. Compliance und Datenretention:

    • Automatische Löschung von Daten nach Ablauf gesetzlicher Aufbewahrungsfristen
    • Verwaltung von Daten gemäß regulatorischen Anforderungen
  3. 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)