Speicherkosten für Time Travel und Fail-safe

Für die Wartung historischer Daten fallen sowohl für Time Travel-Frist als auch Fail-safe-Fristen Speichergebühren an.

Unter diesem Thema:

Speichernutzung und Gebühren

Die Gebühren werden für jeden 24-Stunden-Zeitraum (d. h. 1 Tag) ab dem Zeitpunkt der Datenänderung berechnet. Die Anzahl der Tage, in denen historische Daten gepflegt werden, richtet sich nach dem Tabellentyp und der Aufbewahrungsfrist der Tabelle für die Time Travel.

Außerdem minimiert Snowflake den Speicherbedarf für historische Daten, indem es nur die Informationen pflegt, die zur Wiederherstellung der einzelnen Tabellenzeilen erforderlich sind, die aktualisiert oder gelöscht wurden. Dadurch wird die Speichernutzung als Prozentsatz der geänderten Tabelle berechnet. Vollständige Kopien von Tabellen werden nur dann gepflegt, wenn Tabellen gelöscht oder gekürzt werden.

Temporäre und transiente Tabellen

Um die Speicherkosten im Zusammenhang mit Time Travel und Fail-safe zu senken, bietet Snowflake zwei Tabellentypen an, temporäre und transiente, die nicht die gleichen Gebühren wie Standardtabellen (d. h. permanente Tabellen) verursachen:

  • Transiente Tabellen können eine Aufbewahrungsfrist für Time Travel von entweder 0 oder 1 Tag haben.

  • Temporäre Tabellen können auch eine Time Travel-Aufbewahrungsfrist von 0 oder 1 Tag haben. Diese endet jedoch, sobald die Tabelle gelöscht wird oder die Sitzung, in der die Tabelle angelegt wurde, endet.

  • Transiente und temporäre Tabellen haben keine Fail-safe-Frist.

Infolgedessen sind die maximalen Zusatzkosten für Time Travel und Fail-safe bei diesen Tabellentypen auf einen Tag begrenzt. Die folgende Tabelle veranschaulicht die verschiedenen Szenarien, basierend auf dem Tabellentyp:

Tabellentyp

Aufbewahrungsfrist für Time Travel (Tage)

Fail-safe-Frist (Tage)

Pflege historischer Daten, min./max. (Tage)

Permanent

0 oder 1 (für Snowflake Standard Edition)

7

7 , 8

0 bis 90 (für Snowflake Enterprise Edition)

7

7 , 97

Transient

0 oder 1

0

0 , 1

Vorübergehend

0 oder 1

0

0 , 1

Hinweise zur Verwendung von temporären und transienten Tabellen zur Verwaltung der Speicherkosten

Wenn Sie wählen, ob Sie Daten in permanenten, temporären oder transienten Tabellen speichern möchten, beachten Sie Folgendes:

  • Temporäre Tabellen werden gelöscht, wenn die Sitzung, in der sie erstellt wurden, endet. In temporären Tabellen gespeicherte Daten sind nicht wiederherstellbar, nachdem die Tabelle gelöscht wurde.

  • Historische Daten in transienten Tabellen können von Snowflake nach Ende der Aufbewahrungsfrist für Time Travel nicht wiederherstellt werden. Verwenden Sie transiente Tabellen nur für Daten, die Sie unabhängig von Snowflake replizieren oder reproduzieren können.

  • Langlebige Tabellen, wie z. B. Faktentabellen, sollten immer als dauerhaft definiert werden, um sicherzustellen, dass sie durch Fail-safe vollständig geschützt sind.

  • Kurzlebige Tabellen (d. h. <1 Tag), wie z. B. ETL-Arbeitstabellen, können als transient definiert werden, um Kosten für Fail-safe zu vermeiden.

  • Wenn Ausfallzeiten und die Zeit, die zum Zurückladen verlorener Daten benötigt wird, Faktoren sind, können permanente Tabellen, selbst mit ihren zusätzlichen Fail-safe-Kosten, eine bessere Gesamtlösung bieten als transiente Tabellen.

Bemerkung

Der Standardtyp für Tabellen ist permanent. Um eine Tabelle als temporär oder transient zu definieren, müssen Sie den Typ bei der Tabellenerstellung explizit angeben:

CREATE [ OR REPLACE ] [ TEMPORARY | TRANSIENT ] TABLE <Name> ...

Weitere Informationen dazu finden Sie unter CREATE TABLE.

Migration von Daten aus permanenten Tabellen in transiente Tabellen

Um Daten aus permanenten Tabellen in transiente Tabellen zu migrieren, müssen folgende Aufgaben ausgeführt werden:

  1. Verwenden Sie CREATE TABLE … AS SELECT, um die transienten Tabellen mit den Daten aus den ursprünglichen, permanenten Tabellen zu erstellen und zu füllen.

  2. Wenden Sie alle Zugriffssteuerungsrechte, die in den ursprünglichen Tabellen vergeben wurden, auf die neuen Tabellen an. Weitere Informationen zur Zugriffssteuerung finden Sie unter Zugriffssteuerung in Snowflake.

  3. Verwenden Sie DROP TABLE, um die Originaltabellen zu löschen.

  4. Verwenden Sie optional ALTER TABLE, um die neuen Tabellen umzubenennen, damit sie mit den ursprünglichen Tabellen übereinstimmen.