Snowflake第2世代標準ウェアハウス

Generation 2 Standard Warehouse(Gen2)は、Snowflakeの現在の標準仮想ウェアハウスのアップデートバージョン(「次世代」)で、アナリティクスとデータエンジニアリングのワークロードのパフォーマンス向上に重点を置いています。Gen2は、より高速な基盤ハードウェアとインテリジェントなソフトウェア最適化(削除、更新、マージ操作、テーブルスキャン操作の強化など)の上に構築されています。Gen2では、大半のクエリがより速く終了し、より多くの作業を同時に行うことができます。正確な詳細は、構成や作業負荷によって異なります。この機能でどの程度コストやパフォーマンスが改善されるかについてはテストを実施して検証を行ってください。

CREATE WAREHOUSE または ALTER WAREHOUSE コマンドで RESOURCE_CONSTRAINT 句を指定すると、標準ウェアハウスの場合、以下の値のいずれかを使用できます:

  • STANDARD_GEN_1は、Snowflake独自の業界標準の仮想ウェアハウスです。

  • STANDARD_GEN_2は、Snowflakeの標準的な仮想ウェアハウスの次世代版です。

注釈

現在、 STANDARD_GEN_1と STANDARD_GEN_2の値は、 Snowsight で利用できません。SQL コマンドで指定する必要があります。

第 2世代標準ウェアハウスは、ウェアハウスサイズ X5LARGE および X6LARGE には可用性がありません。

この機能は標準的なウェアハウスに適用されます。Snowparkに最適化されたウェアハウスには適用されません。

MEMORY_1XがSnowparkに最適化されたウェアハウスに提供するのと同じように、 STANDARD_GEN_1は標準的なウェアハウスに同じメモリ容量を提供します。

標準ウェアハウスの RESOURCE_CONSTRAINT のデフォルト値

標準ウェアハウスの作成時に RESOURCE_CONSTRAINT 句を指定しなかった場合、Snowflake は第 1 世代の標準ウェアハウスを作成します。

ウェアハウスから第2世代ウェアハウスへの変更

標準ウェアハウスを変更し、異なる RESOURCE_CONSTRAINT 句を指定することで、第1世代から第2世代へ、または第2世代から第1世代へ変更することができます。その前にウェアハウスを一時停止する必要があります。

また、 WAREHOUSE_TYPE および RESOURCE_CONSTRAINT 句の値を変更することで、第 2 世代の標準ウェアハウスと Snowpark に最適化されたウェアハウスを切り替えることができます。この変更には、まずウェアハウスを一時停止する必要があります。

SHOW WAREHOUSES 出力の "resource_constraint" 列で、標準ウェアハウスのセットを見ることができます。

このセットは、ウェアハウスの INFORMATION_SCHEMA ビューには反映されていません。

リージョンの可用性

この機能は、Amazon Web Services (AWS) および Microsoft Azure クラウドサービスプロバイダーで可用性です。Google Cloud Platform (GCP) では現在利用できません。また、現在のところ、 VPS アカウントでは利用できません。

第2世代標準ウェアハウスは以下のリージョンで利用可能です。

  • AWS us-west-2(オレゴン)

  • AWS eu-central-1(フランクフルト)

  • Azure東 US 2(バージニア)

  • Azure西ヨーロッパ(オランダ)

重要

ウェアハウスにアカウント複製を使用し、第2世代のウェアハウスを作成する場合、セカンダリーリージョンも第2世代のウェアハウスをサポートする必要があります。そうしないと、第2世代のウェアハウスは、フェールオーバー後にセカンダリージョンで再開できない可能性があります。第2世代のウェアハウスがセカンダリージョンで再開できるかどうか、必ずテストしてください。

第2世代標準ウェアハウスのコストと請求

Snowflake 仮想ウェアハウスでのクレジットの使用状況に関する一般情報については、 仮想ウェアハウスのクレジット使用状況 をご参照ください。

第 2 世代標準ウェアハウスのクレジット消費に関する情報は、 Snowflake Service Consumption Table を参照してください。

以下の例では、新しいウェアハウスを作成したり、既存のウェアハウスを変更したりする際に、第2世代の標準ウェアハウスを指定する方法を示しています。ウェアハウスのサイズ、タイプ、メモリ容量を同時に変更するなどのバリエーションを示しています。

次の例では、他のすべてのプロパティをデフォルトのままにして、第2世代のウェアハウスを作成します。ウェアハウスのタイプは STANDARD で、サイズは XSMALL です。これらのデフォルトは、第1世代と第2世代の両方の標準ウェアハウスで同じです。

CREATE OR REPLACE WAREHOUSE next_generation_default_size
  RESOURCE_CONSTRAINT = STANDARD_GEN_2;
Copy

以下の例では、サイズ SMALL の第 2 世代標準ウェアハウスを作成しています。

CREATE OR REPLACE WAREHOUSE next_generation_size_small
  RESOURCE_CONSTRAINT = STANDARD_GEN_2
  WAREHOUSE_SIZE = SMALL;
Copy

次の例は、第1世代の標準ウェアハウスを第2世代に変換する方法を示しています。操作の間、ウェアハウスの大きさは終始変わらず、 XLARGE です。

CREATE OR REPLACE WAREHOUSE old_to_new_xlarge
  WAREHOUSE_SIZE = XLARGE;

ALTER WAREHOUSE old_to_new_xlarge SUSPEND;
ALTER WAREHOUSE old_to_new_xlarge
  SET RESOURCE_CONSTRAINT = STANDARD_GEN_2;
ALTER WAREHOUSE old_to_new_xlarge RESUME;
Copy

次の例は、第2世代の標準ウェアハウスをSnowparkに最適化する方法を示しています。Snowparkに最適化されたウェアハウスは、現在第2世代のウェアハウスとして可用性はありません。ウェアハウスは、タイプ STANDARD のときにサイズ XSMALL を持つので、 MEMORY_1Xの RESOURCE_CONSTRAINT 値を指定します。その RESOURCE_CONSTRAINT は XSMALL サイズのSnowparkに最適化されたウェアハウスと互換性のあるメモリサイズを生成します。

CREATE OR REPLACE WAREHOUSE gen2_to_snowpark_optimized
  RESOURCE_CONSTRAINT = STANDARD_GEN_2;

ALTER WAREHOUSE gen2_to_snowpark_optimized SUSPEND;
ALTER WAREHOUSE gen2_to_snowpark_optimized
  SET WAREHOUSE_TYPE = 'SNOWPARK-OPTIMIZED' RESOURCE_CONSTRAINT = MEMORY_1X;
ALTER WAREHOUSE gen2_to_snowpark_optimized RESUME;
Copy

次の例では、Snowparkに最適化されたウェアハウスを標準の第2世代ウェアハウスに変換する方法を示します。Snowparkに最適化されたウェアハウスは、サイズ MEDIUM、 MEMORY_16Xの RESOURCE_CONSTRAINT 値で表される比較的大容量のメモリで始まります。変更後のウェアハウスのタイプは STANDARD で、サイズは MEDIUM のままです。しかし、メモリ容量は小さいです。それは、 STANDARD_GEN_2の RESOURCE_CONSTRAINT 値は、 MEMORY_1Xのリソース制約を持つSnowpark最適化ウェアハウスと同じメモリ容量を持っているからです。

CREATE OR REPLACE WAREHOUSE snowpark_optimized_medium_to_gen2
  WAREHOUSE_TYPE = 'SNOWPARK-OPTIMIZED'
  WAREHOUSE_SIZE = MEDIUM
  RESOURCE_CONSTRAINT = MEMORY_16X;

ALTER WAREHOUSE snowpark_optimized_medium_to_gen2 SUSPEND;
ALTER WAREHOUSE snowpark_optimized_medium_to_gen2
  SET WAREHOUSE_TYPE = STANDARD RESOURCE_CONSTRAINT = STANDARD_GEN_2;
ALTER WAREHOUSE snowpark_optimized_medium_to_gen2 RESUME;
Copy