複製コストについて¶
複製に基づく料金は、データ転送と計算リソースの2つのカテゴリに分類されます。両方のカテゴリが、ターゲットアカウント(つまり、更新されるセカンダリデータベースまたはセカンダリ複製/フェールオーバーグループを格納するアカウント)で請求されます。
- データ転送
最初の複製と後続の同期操作では、リージョン間でデータを転送します。クラウドプロバイダーは、独自のネットワーク内である地域から別の地域に転送されるデータに課金します。
データ転送速度は、ソースアカウント(つまり、プライマリ複製またはフェールオーバーグループを保存するアカウント)の場所によって決まります。データ転送の価格については、 価格ガイド (Snowflakeウェブサイト上)をご参照ください。
データ転送請求の詳細については、 データ転送のコストについて をご参照ください。
- コンピューティングリソース
複製操作では、Snowflakeが提供する計算リソースを使用して、異なる地域のアカウント間でデータをコピーします。
注釈
ターゲットアカウントには、アカウント内の各セカンダリデータベースのデータの標準ストレージコストもかかります。
ターゲットアカウントには、 マテリアライズドビュー と 検索の最適化 を提供する自動バックグラウンドプロセスのコストも発生します。セカンダリオブジェクトのメンテナンスコストは、プライマリオブジェクトよりも低くなります。詳細については、コンピューティング時間あたりのコストに関する Snowflakeサービス利用テーブル の「サーバーレス機能クレジットテーブル」をご参照ください。
最初の複製または後続の更新操作に失敗した場合、次の試行(14日以内に実行された場合)は、すでにコピーされたデータを再利用できます。つまり、次の試行中にデータが再度コピーされることはありません。このため、最初の複製または後続の更新操作に失敗した場合でも、複製料金が適用されます。
このトピックの内容:
コストの見積もりと管理¶
一般に、複製の毎月の請求は、以下に比例します。
データの読み込みまたは DML 操作の結果として変化する、プライマリデータベースまたは複製/フェールオーバーグループにある、データベース内のテーブルデータの量。
セカンダリデータベース、または複製/フェールオーバーグループの頻度は、プライマリデータベースまたは複製/フェールオーバーグループから更新されます。
複製するデータベースまたはオブジェクトとその更新頻度を慎重に選択することにより、複製のコストを制御できます。更新操作を中止すると、複製コストは発生しなくなります。
実際のコストの表示¶
ACCOUNTADMIN ロールを持つユーザーは、 SQL を使用して、指定された日付範囲内のSnowflakeアカウントの複製データ転送量(バイト単位)を表示できます。
アカウントのデータ転送量を表示するには、
- SQL
次のいずれかをクエリします。
REPLICATION_GROUP_USAGE_HISTORY テーブル関数( Snowflake Information Schema 内)。この関数は、過去14日以内の複製使用状況のアクティビティを返します。
REPLICATION_GROUP_USAGE_HISTORY ビュー (Account Usage 内)。このビューは、過去365日(1年)内の複製使用状況のアクティビティを返します。
例については、 複製コストをモニターする をご参照ください。
データベース複製のコスト¶
データベース複製 を使用して個別のデータベースを複製する場合、 ACCOUNTADMIN ロールを持つユーザーは、 Snowsight、 Classic Console、または SQL を使用して、指定された日付範囲内のSnowflakeアカウントの複製データ転送量(バイト単位)を表示できます。
アカウントのデータ転送量を表示するには、
- Snowsight
Select Admin » Usage
- Classic Console
Account
» Billing & Usage をクリックします。
複製の使用率は、特別なSnowflake提供の
REPLICATION という名前のウェアハウスとして表示されます。 Data Transfer ボタンをクリックして、データ転送コストを表示します。ウェブインターフェイスは、複製のデータ転送コストを分割しないことに注意してください。
- SQL
次のいずれかをクエリします。
DATABASE_REPLICATION_USAGE_HISTORY テーブル関数(Snowflake Information Schema 内)。この関数は、過去14日以内におけるデータ複製の使用状況のアクティビティを返します。
DATABASE_REPLICATION_USAGE_HISTORY ビュー ビュー( Account Usage 内)。このビューは、過去365日(1年)内におけるデータベース複製の使用状況のアクティビティを返します。
DATABASE_REPLICATION_USAGE_HISTORY ビューに対して次のクエリを実行できます。
クエリ: 複製のコスト履歴(日別、オブジェクト別)
このクエリは、複製されたデータベースの包括的リストと、過去30日間に複製サービスを介して消費したクレジット量を日別に表示します。クレジットの消費に不規則性があるか、一貫して消費量が多い場合は、さらに調査する必要があることを表します。
SELECT TO_DATE(start_time) AS date, database_name, SUM(credits_used) AS credits_used FROM snowflake.account_usage.database_replication_usage_history WHERE start_time >= DATEADD(month,-1,CURRENT_TIMESTAMP()) GROUP BY 1,2 ORDER BY 3 DESC;クエリ: 複製履歴およびm日平均
このクエリは、複製によって消費された1日の平均クレジットを、前年の週ごとにグループ化して表示します。これは、日次平均の異常を特定して、消費量の急増や変化を調査するために役立ちます。
WITH credits_by_day AS ( SELECT TO_DATE(start_time) AS date, SUM(credits_used) AS credits_used FROM snowflake.account_usage.database_replication_usage_history WHERE start_time >= DATEADD(year,-1,CURRENT_TIMESTAMP()) GROUP BY 1 ORDER BY 2 DESC ) SELECT DATE_TRUNC('week',date), AVG(credits_used) AS avg_daily_credits FROM credits_by_day GROUP BY 1 ORDER BY 1;