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 をご参照ください。
永続テーブルから遷移テーブルへのデータの移行¶
永続テーブルから遷移テーブルへのデータの移行には、次のタスクの実行が含まれます。
CREATE TABLE ... AS SELECT を使用して、遷移テーブルを作成し、元の永続テーブルのデータを入力します。
元のテーブルに付与されたすべてのアクセス制御権限を新しいテーブルに適用します。アクセス制御の詳細については、 アクセス制御の概要 をご参照ください。
DROP TABLE を使用して、元のテーブルを削除します。
必要に応じて、 ALTER TABLE を使用して、新しいテーブル名と元のテーブル名が一致するように変更します。