SNOWFLAKE NEW FEATURE
DCM Projects (General availability)
2026-08-07機能アップデートGeneral availability
概要
DCM Projects が一般提供 (GA) になりました。データベース、テーブル、タスクといった Snowflake オブジェクトの「あるべき状態」を定義ファイルに宣言的に記述しておくと、現状との差分を Snowflake 側が判断して必要な変更だけを適用してくれる、いわゆる Infrastructure as Code の仕組みです。適用前に変更内容をプレビューする plan-then-deploy のワークフローを備えているため、意図しない変更をそのまま流してしまう事故を防げます。なお GA になったのは DCM Projects 本体で、一部の高度な機能は引き続きプレビュー段階です。
ユースケース
- データベースやテーブルの定義をコードで管理し、Git でレビュー・バージョン管理する
- 開発・ステージング・本番の各環境を、同一の定義ファイルと変数の差し替えだけで構築する
- 動的テーブル、タスク、データ品質エクスペクテーションを組み合わせたデータパイプラインを、まとめて定義・デプロイする
- ガバナンス関連のオブジェクトをコード化し、設定内容を監査可能にする
- 手作業の DDL 実行をなくし、CI/CD パイプラインからのデプロイに統一する
使い方
SQL ファイルの中で DEFINE ステートメントを使い、望ましい状態を記述します。Jinja テンプレートに対応しているため、変数・ループ・条件分岐・マクロを使って定義の重複を減らせます。
実行は plan と deploy の2段階です。まず plan で「何がどう変わるか」を確認し、内容に納得してから deploy で実際に適用します。
操作経路は Snowsight、Snowflake CLI、SQL、Cortex Code CLI の4通りです。定義ファイルの置き場所は Snowflake Workspace、リモートの Git リポジトリ、ローカルディレクトリから選べます。
個別の構文はリリースノート本文には記載がないため、DCM Projects のドキュメントを参照してください。
手順
- 定義ファイルの置き場所を決める(Snowflake Workspace / Git リポジトリ / ローカルディレクトリ)
- SQL ファイルに DEFINE ステートメントで対象オブジェクトのあるべき状態を記述する
- 環境ごとに変わる値は Jinja の変数として切り出す
- plan を実行し、適用される変更内容をプレビューして確認する
- 内容に問題がなければ deploy を実行して変更を適用する
- 以後は定義ファイルを更新して plan → deploy を繰り返す
注意すること
- GA になったのは DCM Projects 本体であり、一部の高度な機能はプレビュー段階のままです。本番導入前に、使いたい機能がどちらに該当するかを確認してください。
- 宣言的な仕組みなので、定義ファイルから削除したオブジェクトは適用時に削除対象になり得ます。plan の結果を必ず確認してから deploy してください。
- 対応するオブジェクト種別には範囲があります。管理したいオブジェクトがすべて対象になっているかを事前に確認する必要があります。
- 定義ファイルの外で手作業の DDL を実行すると、実際の状態と定義がずれます。運用経路は DCM Projects に一本化するのが安全です。
制約事項
- 管理できるのは DCM Projects が対応している Snowflake オブジェクト種別に限られます。対応一覧はドキュメントを参照してください。
- 一部の高度な機能は GA ではなくプレビュー段階です。
- 定義ファイルの配置先は Snowflake Workspace、リモート Git リポジトリ、ローカルディレクトリのいずれかです。
- 対応リージョンやエディション要件については、リリースノートに記載なし。