Time TravelおよびFail-safeのストレージコスト

Time Travelの期間とFail-safeの期間の両方で履歴データを維持するために、ストレージ料金が発生します。

このトピックの内容:

ストレージの使用量と料金

料金は、データが変更された時点から24時間(つまり、1日)ごとに計算されます。履歴データが保持される日数は、テーブルタイプとテーブルのTime Travel保持期間に基づきます。

また、Snowflakeは、更新または削除された個々のテーブル行の復元に必要な情報のみを維持することにより、履歴データに必要なストレージの量を最小限に抑えます。その結果、ストレージ使用量は、変更されたテーブルの割合として計算されます。テーブルの完全なコピーは、テーブルがドロップまたは切り詰められた場合にのみ維持されます。

一時テーブルと遷移テーブル

Time TravelとFail-safeに関連するストレージコストの管理を支援するために、Snowflakeでは、標準(つまり、永続)テーブルとは料金が異なる、一時テーブルと遷移テーブルの2つのテーブルタイプを提供します。

  • 遷移テーブルでは、0または1日のTime Travel保持期間を設定できます。

  • 一時テーブルでも、0または1日のTime Travel保持期間を設定できます。ただし、この保持期間は、テーブルがドロップされるか、テーブルが作成されたセッションが終了するとすぐに終了します。

  • 一時テーブルと仮テーブルには、Fail-safe期間はありません。

その結果、これらのタイプのテーブルによってTime TravelおよびFail-safeで発生する最大追加料金は1日に制限されます。次のテーブルは、テーブルタイプに基づいたさまざまなシナリオを示しています。

テーブルタイプ

Time Travel保持期間(日数)

Fail-safe期間(日数)

維持される最小、最大履歴データ(日数)

永続

0 または1(Snowflake Standard Editionの場合)

7

7 , 8

0 から 90(Snowflake Enterprise Editionの場合)

7

7 , 97

一時的

0 または 1

0

0 , 1

0 または 1

0

0 , 1

一時テーブルと遷移テーブルを使用してストレージコストを管理する際の考慮事項

データを永続テーブル、一時テーブル、または遷移テーブルのいずれに保存するかを選択するときは、次の点を考慮します。

  • 一時テーブルは、作成されたセッションが終了するとドロップされます。一時テーブルに保存されたデータは、テーブルがドロップされた後は回復 できません

  • 遷移テーブルの履歴データは、Time Travel保持期間が終了した後、Snowflakeでは回復 できません 。Snowflakeから独立してリプリケートまたは再現できるデータには、遷移テーブル のみ を使用します。

  • ファクトテーブルなどの長期間有効なテーブルでは、Fail-safeによって完全に保護されるよう、 常に 永続として定義する必要があります。

  • ETL 作業テーブルなどの短期間有効なテーブル(つまり、1日未満)は、Fail-safeのコストを排除するために遷移的なものとして定義できます。

  • ダウンタイムと失われたデータを再ロードするのに必要な時間が要因である場合、永続テーブルは、Fail-safeコストが追加されても、遷移的なテーブルよりも優れた全体的なソリューションを提供します。

注釈

テーブルのデフォルトのタイプは永続です。テーブルを一時または遷移として定義するには、テーブルの作成中にタイプを明示的に指定する必要があります。

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

詳細については、 CREATE TABLE をご参照ください。

永続テーブルから遷移テーブルへのデータの移行

永続テーブルから遷移テーブルへのデータの移行には、次のタスクの実行が含まれます。

  1. CREATE TABLE ... AS SELECT を使用して、遷移テーブルを作成し、元の永続テーブルのデータを入力します。

  2. 元のテーブルに付与されたすべてのアクセス制御権限を新しいテーブルに適用します。アクセス制御の詳細については、 アクセス制御の概要 をご参照ください。

  3. DROP TABLE を使用して、元のテーブルを削除します。

  4. 必要に応じて、 ALTER TABLE を使用して、新しいテーブル名と元のテーブル名が一致するように変更します。