Snowflake / リリースノート / 2026/07/22 / 重要
複数の動的テーブルを一つのALTER文で同時更新
公式リリースノート
Snowflakeは、複数の動的テーブルを一つのALTER DYNAMIC TABLE ... REFRESH文で手動更新できるようにしました。
要点
- テーブル名をカンマ区切りで指定し、複数の動的テーブルを一度に更新できます。
- 指定したテーブルの上流依存は一つのパイプラインへ統合され、同じデータ時点で処理されます。
- 複数テーブルが共有する上流処理は一度だけ実行されるため、別々に更新する場合との差を理解して使う必要があります。
今回の更新で変わること
これまで個別に実行していた動的テーブルの手動更新を、カンマ区切りのテーブル一覧を指定する一つのALTER DYNAMIC TABLE ... REFRESH文へまとめられるようになりました。関連する複数の出力を同じタイミングで更新したい場合に、SQL文を順番に実行する必要がありません。日次報告の複数集計や、同じ上流データから作られる部門別テーブルなどを、一つの操作単位として扱いやすくなります。
Snowflakeは、指定された各動的テーブルの上流依存を一つの更新パイプラインへ統合します。すべての対象は同じデータ時点で更新されるため、一つ目のテーブルと最後のテーブルで参照時点がずれる問題を避けられます。更新完了後に複数の結果を並べて使うレポートやエクスポートでは、この一貫したデータ時点が重要です。個別更新を単に一つのSQLへ短縮するだけでなく、複数出力の整合性をそろえる機能として読む必要があります。
共有する上流依存は一度だけ更新されます。たとえば二つの集計テーブルが同じ中間動的テーブルを参照している場合、それぞれを別々に手動更新すると上流処理が重なる可能性がありますが、複数テーブル更新では統合されたパイプライン内で一度だけ処理されます。重複処理を減らせる一方、個別実行時の所要時間や失敗の切り分けとは挙動が変わります。更新対象の依存グラフ、ウェアハウス負荷、完了時間を代表的な組み合わせで測ります。
運用へ導入する際は、一覧内の一部が失敗した場合の状態、権限不足のテーブルが含まれる場合、同時更新中に別の手動更新やスケジュール更新が走る場合を確認します。複数テーブルを一つの業務単位へまとめるほど、障害時の影響範囲も広がります。重要度や完了期限が異なるテーブルを無理に同じ一覧へ入れず、同じデータ時点が必要な組み合わせを選びます。更新後の監視では、SQL全体の成功だけでなく、各動的テーブルの最終更新時刻と状態を確認できるようにします。
関係しそうなチーム
動的テーブルを使うデータエンジニア、複数集計の整合した更新時点を必要とする分析担当、ウェアハウス負荷と更新失敗を監視する基盤担当に関係します。
実務で確認したいポイント
- 同じデータ時点が必要な動的テーブルの組み合わせを整理します。
- 共有上流が一度だけ処理されることと、更新時間・負荷の変化を確認します。
- 一部失敗、権限不足、同時実行時の状態と再実行手順を試します。
結局、この更新をどう読むべきか
複数の動的テーブルを整合した時点で更新し、共有上流の重複処理を避ける機能です。関連性の薄いテーブルまで一括化せず、同じ更新単位として扱うべき出力へ絞って使いたいです。