Speicherlebenszyklusrichtlinien

Eine Speicherlebenszyklusrichtlinie ist ein Objekt auf Schemaebene, das automatisch den Datenlebenszyklus für Snowflake interaktive und Standardtabellen verwaltet. Nutzen Sie diese Richtlinien, um bestimmte Tabellenzeilen auf der Grundlage der von Ihnen definierten Bedingungen, wie z. B. das Alter der Daten oder andere Kriterien, zu archivieren oder ablaufen zu lassen. Snowflake führt diese Richtlinien täglich automatisch unter Verwendung von freigegebenen Computeressourcen aus.

Funktionsweise von Speicherlebenszyklusrichtlinien

Übersicht zum Workflow für Speicherlebenszyklusrichtlinien

Um mit der Verwendung von Speicherlebenszyklusrichtlinien zu beginnen, führen Sie die folgenden Schritte aus:

  1. Erstellen Sie eine Richtlinie mit einem Ausdruck, der die Zeilen identifiziert, die archiviert werden oder ablaufen sollen.

  2. Verknüpfen Sie die Richtlinie mit einer oder mehreren Tabellen.

Nachdem Sie einer Tabelle eine Speicherlebenszyklusrichtlinie zugeordnet haben, wartet Snowflake etwa 24 Stunden, bevor die Richtlinie zum ersten Mal ausgeführt wird. Nach dieser anfänglichen Verzögerung führt Snowflake die Richtlinie täglich automatisch aus und nutzt dabei freigegebene Computeressourcen, um Zeilen zu identifizieren und zu verarbeiten, die den von Ihnen definierten Bedingungen entsprechen.

Wenn die Richtlinie ausgeführt wird, prüft sie jede Zeile anhand Ihres Ausdrucks und archiviert die Daten entweder im COOL oder COLD Storage oder lässt sie ablaufen (löscht die Daten dauerhaft). Sie können archivierte Daten mit dem Befehl CREATE TABLE … FROM ARCHIVE OF vor deren Ablaufen abrufen. Snowflake wartet, bis der angegebene Archivierungszeitraum abgelaufen ist, bevor die Daten aus dem Archivspeicher verfallen.

Übersicht des Flows der Speicherlebenszyklusrichtlinie von der Archivierung bis zum Ablauf

Wichtige Funktionen

Speicherlebenszyklusrichtlinien bieten bei der Verwaltung Ihrer Snowflake-Daten die folgenden Vorteile.

Reduzierte Speicherkosten

Speicherlebenszyklusrichtlinien helfen bei der Kostenoptimierung, da ältere Daten automatisch in kostengünstigere Archivierungsebenen verschoben werden. Bei Daten, die langfristig aufbewahrt werden müssen, auf die aber nur selten zugegriffen werden muss, kann der Archivspeicher die Speicherkosten im Vergleich zu Standardspeichertarifen erheblich senken.

Einhaltung von gesetzlicher Vorschriften

Erfüllen Sie automatisch Compliance-Anforderungen, indem Sie Richtlinien konfigurieren, um Daten gemäß den Regulierungsstandards zu archivieren oder ablaufen zu lassen. Sie können Daten für einen bestimmten Zeitraum vor deren Ablauf archivieren oder sie direkt ohne Archivierung verfallen lassen. So wird sichergestellt, dass Ihre Datenverwaltung den Governance-Standards Ihrer Organisation entspricht.

Einfache Datenverwaltung

Durch Speicherlebenszyklusrichtlinien entfallen manuelle Datenverwaltungsaufgaben, da automatisch Archivierungs- und Ablaufregeln ausgeführt werden. Weitere Informationen dazu finden Sie unter Monitor storage lifecycle policies.

Flexibler Datenabruf

Das Abrufen archivierter Daten erfolgt mit hoher Genauigkeit, da eine neue Tabelle erstellt wird, die nur die Zeilen enthält, die Sie benötigen. Verwenden Sie einen einfachen Befehl mit einer WHERE-Klausel, um genau anzugeben, welche archivierten Daten wiederhergestellt werden sollen.

Archivspeicher-Ebenen

Snowflake unterstützt die Archivierung von Daten der folgenden Storage Tiers:

Archivierungsebene

Beschreibung

COOL

Bietet schnelle Abrufzeiten, sodass die Daten sofort verfügbar sind. Die Mindestarchivierungsfrist beträgt 90 Tage.

COLD

Bietet größere Kosteneinsparungen als der COOL Storage Tier (ist viermal günstiger). Die Mindestarchivierungsfrist beträgt 180 Tage. Im Vergleich zum COOL Storage Tier, hat der COLD Storage Tier eine längere Datenabrufzeit (bis zu 48 Stunden). Datenabrufvorgänge vom COLD Storage Tier unterstützen maximal 1 Millionen Dateien pro Wiederherstellungsvorgang.

Auswahl einer Archivierungsebene

Beachten Sie bei der Auswahl eines Archivlevels die folgenden Faktoren:

  • Archivierungskosten: Die einmaligen Kosten für die Archivierung von Daten sind bei beiden Ebenen gleich.

  • Speicherkosten: COLD Tier Storage ist kostengünstiger als COOL Tier Storage.

  • Abrufkosten: Der Datenabruf vom COLD Tier Storage ist kostengünstiger als vom COOL Tier Storage.

  • Abrufzeit: Der COOL Tier Storage ermöglicht einen sofortigen Datenabruf, während der Abruf vom COLD Tier Storage bis zu 48 Stunden dauern kann.

Wichtig

Wenn Sie einer Tabelle eine Archivspeicherrichtlinie hinzufügen, wird die Tabelle während ihrer Lebensdauer dauerhaft der angegebenen Archivebene zugeordnet. Sie können die Archivebene nicht ändern, indem Sie eine neue Richtlinie anwenden. Sie können zum Beispiel keine Richtlinie angeben, die mit einer COOL-Archivebene in ALTER TABLE…DROP STORAGE LIFECYCLE POLICY erstellt wurde, und anschließend die Tabelle ändern, um eine mit einer COLD-Archivebene erstellte Richtlinie hinzuzufügen. Um die Archivebene für eine Tabelle zu ändern, wenden Sie sich an den Snowflake-Support, damit Sie das Löschen der aktuell archivierten Daten anfordern können. Weitere Hinweise finden Sie unter Archivierungsspeicherrichtlinien.

Ausführliche Preisinformationen finden Sie in den Tabellen 3(e) und 4(f) unter Snowflake Service Consumption Table.

Weitere Informationen zum Archivieren von Daten finden Sie unter Erstellen einer Speicherlebenszyklusrichtlinie und Hinweise zum Archivspeicher.

Hinweise

Beachten Sie die folgenden Informationen, wenn Sie mit Speicherlebenszyklusrichtlinien arbeiten.

Unterstützung von Cloudanbietern

  • Ablaufrichtlinien: Unterstützt für Konten, die bei allen Cloudanbietern wie Amazon Web Services (AWS), Microsoft Azure und Google Cloud gehostet werden.

  • Archivierungsrichtlinien:

    • COOL Tier: Verfügbar für Konten, die auf AWS und Microsoft Azure gehostet werden.

    • COLD Tier: Nur verfügbar für Konten, die auf AWS gehostet werden.

Unterstützte Tabellen und Features

  • Unterstützte Tabellen: Speicherlebenszyklusrichtlinien werden für Standard-Snowflake-Tabellen und für interaktive Tabellen unterstützt, die nicht automatisch aktualisiert werden. Um Ausdrücke von Speicherlebenszyklusrichtlinien auszuwerten und anzuwenden, umgeht Snowflake intern und vorübergehend alle Governance-Richtlinien einer Tabelle.

  • Replikation:

    • Snowflake repliziert Speicherlebenszyklusrichtlinien und deren Zuordnungen zu Tabellen in Zielkonten, führt die Richtlinien jedoch nicht aus.

    • Snowflake repliziert keine archivierten Daten in den Ebenen COOL oder COLD Tier. Nach dem Failover sind archivierte Daten aus Ihrem Quellkonto im Zielkonto nicht verfügbar.

    • Nach einem Failover auf ein Zielkonto hält Snowflake die Ausführung der Speicherlebenszyklusrichtlinie im ursprünglichen Primärkonto an. Nach dem Failback auf das ursprüngliche Primärkonto setzt Snowflake die Ausführung der Richtlinien fort.

    • Snowflake führt Speicherlebenszyklusrichtlinien niemals automatisch auf sekundären Tabellen aus, auch nicht nach einem Failover. Sie können jedoch sekundäre Richtlinien in einem Zielkonto verwenden, indem Sie sie an neue Tabellen anhängen. Für diese neuen Tabellen führt Snowflake die Richtlinien aus.

  • Klonen: Speicherlebenszyklusrichtlinien werden von Snowflake nicht automatisch auf geklonte Tabellen angewendet. Wenn Sie auf eine Tabelle in einer Klongruppe eine Speicherlebenszyklusrichtlinie anwenden, archiviert Snowflake nur Zeilen aus dieser spezifischen Tabelle. Die Richtlinie wirkt sich nicht auf Klone aus. So werden Kopien der Daten sowohl auf Standard- als auch auf Archivspeicherebenen erstellt, und Sie zahlen für die Speicherung auf jeder Ebene. Informationen zu den Kosten finden Sie unter Abrechnung für Speicherlebenszyklusrichtlinien.

  • Nicht unterstützte Features

    Speicherlebenszyklusrichtlinien werden für folgende Features nicht unterstützt:

    • Alle Objekttypen mit Ausnahme von regulären Snowflake-Tabellen, dynamischen Tabellen und interaktiven Tabellen, die nicht automatisch aktualisiert werden.

    • WORM-Snapshots (Write Once Read Many), die unveränderliche Snapshots sind, die nach der Erstellung nicht mehr geändert werden können

    • Tabellen, die über die Snowflake-Datenfreigabe freigegeben wurden (sowohl Anbieter- als auch Verbrauchertabellen)

    • Native Apps.

    • Benutzerdefinierte Funktionen (UDFs) mit externem Zugriff und externen Funktionen

    • Python-, Java- oder Scala-UDFs

Verhalten und Ausführung von Richtlinien

Speicherlebenszyklusrichtlinien verwenden Leistungsrichtlinien, die den Richtlinien für Zugriffsrichtlinien auf Zeilenebene ähneln und werden automatisch mit den folgenden Eigenschaften ausgeführt:

  • Wenn Sie einer Tabelle eine Speicherlebenszyklusrichtlinie hinzufügen, wartet Snowflake etwa 24 Stunden, bevor sie sie zum ersten Mal ausführt.

  • Snowflake führt Speicherlebenszyklusrichtlinien täglich unter Verwendung von freigegebenen Computeressourcen aus. Informationen zu den Kosten für Speicherlebenszyklusrichtlinien finden Sie unter Abrechnung für Speicherlebenszyklusrichtlinien.

  • Um übermäßig lange Archivierungs- oder Ablaufzeiten zu vermeiden, verarbeitet Snowflake große Datenoperationen schrittweise in kleineren Blöcken. Eine große Operation wird möglicherweise nicht in einer einzigen täglichen Ausführung abgeschlossen, sondern über mehrere tägliche Ausführungen hinweg.

  • Wenn eine Speicherlebenszyklusrichtlinie für eine Tabelle ausgeführt wird, werden UPDATE-, DELETE- und MERGE-Vorgänge von Snowflake gesperrt. Die Vorgänge INSERT und COPY können während dieser Zeit trotzdem ausgeführt werden. Weitere Informationen dazu finden Sie unter Ressourcensperrung.

Archivierungsspeicherrichtlinien

Beachten Sie die folgenden Informationen, wenn Sie Tabellen verwenden, mit denen eine Lebenszyklusrichtlinie für den Archivspeicher verknüpft ist:

  • Zugriff auf archivierte Daten: Nachdem Snowflake Zeilen archiviert hat, können Sie diese nicht direkt abfragen. Wenn Sie auf diese Zeilen zugreifen müssen, verwenden Sie den Befehl CREATE TABLE … FROM ARCHIVE OF, um eine neue Tabelle mit einer Kopie der archivierten Daten zu erstellen. Weitere Informationen dazu finden Sie unter Archivierte Daten abrufen.

  • Sicherheit: Sie können Tri-Secret Secure (TSS) verwenden, um archivierte Daten mit regelmäßiger Schlüsselrotation zu schützen.

  • Wiederverschlüsselung: Snowflake verschlüsselt archivierte Daten nicht erneut. Wenn Sie eine Kompromittierung des Schlüssels vermuten, führen Sie die folgenden Schritte aus:

    1. Rufen Sie die archivierten Daten mit dem Befehl CREATE TABLE … FROM ARCHIVE OF in eine neue Tabelle ab.

    2. Archivieren Sie die Daten bei Bedarf in der neuen Tabelle.

      Jede Tabelle hat ihren eigenen Verschlüsselungsschlüssel, sodass die neue Tabelle effektiv einen neuen Schlüssel verwendet.

    3. Löschen Sie das Archiv der ursprünglichen Tabelle, in der die Schlüssel kompromittiert wurden.

  • Beschränkungen für Archivierungsebenen:

    • Sie können die Archivierungsebene für eine Richtlinie nicht von COOL in COLD (oder von COLD in COOL) ändern. Erstellen Sie stattdessen eine neue Richtlinie. Eine Anweisung dazu finden Sie unter Neuerstellung einer Speicherlebenszyklusrichtlinie.

    • Eine Tabelle kann nur genau eine Archivebene für ihre Lebensdauer verwenden. Sie können zum Beispiel keine Richtlinie, die eine COLD-Archivebene verwendet, an eine Tabelle anfügen, die bereits eine COOL-Archivebene verwendet oder umgekehrt. Darüber hinaus können Sie eine Tabelle nicht ändern, um eine Richtlinie zu löschen und dann anschließend eine Richtlinie anzuhängen, die eine andere Archivebene angibt.

  • Entfernen von Richtlinien: Wenn Sie eine Richtlinie aus einer Tabelle entfernen, bleiben die archivierten Daten im Archivspeicher und können weiterhin abgerufen werden.

  • Löschen oder Kürzen einer Tabelle:

    • Das Kürzen einer Tabelle hat keine Auswirkungen auf die archivierten Daten dieser Tabelle. Nach dem Kürzen der Tabelle können Sie weiterhin Daten aus dem Archivspeicher abrufen.

    • Wenn Sie UNDROP TABLE verwenden, um eine Tabelle innerhalb einer gültigen Time Travel-Datenaufbewahrungsfrist wiederherzustellen, stellt Snowflake auch alle Daten im Archivspeicher wieder her.

    • Wenn sich eine Tabelle innerhalb des Fail-safe-Zeitraums befindet, können die Daten im Archivspeicher möglicherweise mit Fail-safe-Datenwiederherstellungsschritten über den Snowflake-Support wiederhergestellt werden.

    • Für Tabellendaten im Archivspeicher, die Sie vor Ablauf des ARCHIVE_FOR_DAYS-Zeitraums löschen, fallen Speicherkosten an. Weitere Informationen dazu finden Sie unter Gebühren für die Mindestspeicherdauer.