Snowflake / リリースノート / 2026/06/09 / 通常
SnowflakeのIceberg設定非推奨で確認したいこと
公式リリースノート
Snowflake release notesでは、ENABLE_ICEBERG_MERGE_ON_READの非推奨が案内されています。Icebergテーブルのmerge-on-read挙動に関わる設定変更なので、Icebergを運用しているチームは、既存設定、代替パラメータ、移行タイミングを早めに確認したい内容です。
要点
ENABLE_ICEBERG_MERGE_ON_READの廃止予定が案内されています- Iceberg テーブルやmerge-on-read挙動を利用している環境では、設定、互換性、移行方針の確認が必要です
- 将来の効力発生日や実際の挙動変更は、公式release notesの該当項目で継続確認するべきです
実務上の読みどころ
SnowflakeでIcebergを使うチームにとって、廃止予定は新機能追加よりも重要な場合があります。既存設定が使えなくなる、既定挙動が変わる、または代替設定への移行が必要になると、読み取り性能、整合性、更新処理、運用手順に影響する可能性があります。
まずは、自社アカウントやTerraform、SQL スクリプト、運用ドキュメントでENABLE_ICEBERG_MERGE_ON_READを参照していないか確認してください。該当する場合は、代替挙動、検証環境での再現、移行タイミング、利用者への案内を整理しておく必要があります。
今回の更新で何が変わるのか
今回のSnowflake 10.20リリースでは、Apache Icebergテーブルの行単位DMLで使うmerge-on-read制御が、従来の真偽値パラメータから、より明示的な文字列パラメータへ移ります。新しいICEBERG_MERGE_ON_READ_BEHAVIORは、AUTO、ENABLED、DISABLEDを取り、アカウント、データベース、スキーマ、テーブルの各レベルで設定できます。最も具体的な設定が優先されるため、従来よりも「どの範囲でmerge-on-readを使うか」を運用単位に合わせて切り分けやすくなります。
重要なのは、古いENABLE_ICEBERG_MERGE_ON_READがすぐ無効になるわけではない点です。新しいパラメータが既定値のAUTOのままであれば、既存のレガシーパラメータ設定は引き続き尊重されます。一方で、新しいパラメータをENABLEDまたはDISABLEDに明示設定すると、古い真偽値パラメータは無視されます。将来のリリースでは、古いパラメータを設定しようとするとユーザーエラーになる予定なので、既存のSQL、Terraform、運用手順、社内ドキュメントでレガシーパラメータを使っている場合は、段階的に置き換える必要があります。
実務では、ENABLE_ICEBERG_MERGE_ON_READ = TRUEをICEBERG_MERGE_ON_READ_BEHAVIOR = 'ENABLED'へ、FALSEを'DISABLED'へ置き換えるのが基本です。明示設定していない環境ではAUTOのままにする選択肢もあります。ただし、Snowflake-managed v3テーブル、Snowflake-managed v2テーブル、外部管理Icebergテーブルで自動判定の意味が変わるため、対象テーブルの管理方式とIceberg形式バージョンを確認してから移行するのが安全です。外部エンジンからの書き込みについては、SnowflakeのオブジェクトパラメータではなくIceberg側の標準テーブルプロパティで制御する必要がある点も、運用チームが混同しやすいポイントです。