🏃

SnowPro Core資格への道 ~Part7:Snowflakeリリースサイクル~

に公開

はじめに

9月のSnowflake World Tour TokyoまでにSnowPro Coreをとります!

試験を8月28日(木)に受けようと思います。今日からあと53日。
テストセンターでの受験を申し込みました。もう後には引けませんw頑張ります!
(その前に練習で、Associate受ける可能性ありますが)

今日のお題はリリースサイクルです。
https://docs.snowflake.com/ja/user-guide/intro-releases

1. 継続的な週次リリース

  • Snowflakeは、新機能・修正・機能強化を週次で継続的にリリースします。
  • これにより、ユーザーは常に最新の安定版を利用できます。
  • リリースは一度に全環境へ適用されるのではなく、数週間かけて段階的に展開(ロールアウト)されます。

2. 機能のライフサイクル

新機能は、2つの段階を経て提供されます。

プレビュー (Preview)

  • 評価やテスト目的で早期に提供される機能。
  • 本番利用は非推奨で、仕様が変更される可能性があります。
  • 多くの場合、利用には明示的な有効化(オプトイン)が必要です。

一般提供 (GA - General Availability)

  • プレビュー期間が終了し、全ユーザーが利用できる安定版。
  • 本番環境での利用が公式にサポートされます。

3. 動作の変更管理 (Behavior Change Management)

既存のシステムに影響を与える可能性がある変更は、特に慎重に管理されます。

  • 動作変更バンドル: 互換性に影響する変更は「バンドル」(例: 2023_08)として提供されます。
  • ユーザーによる制御: バンドルの有効化/無効化はユーザーが管理できます。これにより、準備が整ったタイミングで新機能を適用でき、予期せぬ影響を防ぎます。
    • SYSTEM$BEHAVIOR_CHANGE_BUNDLE_STATUS() 関数で適用状況を確認できます。

4. 情報の入手とバージョン確認

  • リリースノート: 全ての変更内容が記載される最も重要な情報源です。
  • バージョン確認: CURRENT_VERSION() 関数で現在のバージョンを確認できます。

リリース予定について

Snowflakeリリースタイミングの要点

Snowflakeのリリースは、全アカウントに一度に適用されるのではなく、以下のような順序で段階的に行われます。

リリースの流れ(時系列)

フェーズ タイミングの目安 対象アカウント/エディション 内容
内部テスト 開始〜 Snowflake社内 新リリースの品質テスト。
プレビュー 1週目〜 一部のプレビューアカウント 限定された環境での動作確認。
★早期アクセス★ 2週目の初日 Enterprise Edition 以上 ユーザーが任意で最新リリースを有効化できる24時間の期間。
一般公開 (グループ1) 2週目の2日目〜 Standard Editionを含む一部のアカウント Snowflakeによって自動的にリリースが適用される最初のグループ。
一般公開 (グループ2) 3週目〜 残りのアカウント 全アカウントへの展開が完了するグループ。
一般公開 (VPS) 最終段階 VPS利用アカウント 特別なネットワーク環境への最終展開。

早期アクセスの詳細

  • 誰が対象か?

    • Enterprise Edition または Business Critical Edition のアカウントが対象です。
    • Standard Edition のアカウントは対象外です。
  • いつリリースされるか?

    • 一般のアカウント(Standard Editionなど)にリリースが自動適用される24時間前に、任意で有効化するチャンスが与えられます。
    • 上の表で言えば、「グループ1」より1日早く最新のリリースを試せることになります。
  • 何が良いのか?

    • 本番環境でいち早く最新リリースの動作を確認し、新機能のテストや既存システムへの影響評価を事前に行うことができます。これにより、万が一の不具合にも余裕を持って対応できます。

結論

  • 1日目(早期アクセス日): Enterprise Edition以上 のユーザーは、新リリースを任意で有効化できる。
  • 2日目以降(一般公開日): Standard Edition のユーザーは、このタイミングから順次リリースが自動適用されるのを待つことになる。

一般公開のグループ分けとVPS

一般公開は、リスクを分散させるためにいくつかのグループに分けて行われます。

「グループ1」「グループ2」とは何か?

  • 目的:

    • 万が一リリースに問題があった場合でも、影響を全アカウントに及ぼすのではなく、一部のグループに限定するためです。問題が発見されれば、後続のグループへの展開を停止して修正できます。
  • グループ分けの基準:

    • クラウドプラットフォーム(AWS/Azure/GCP)、リージョンなどを組み合わせて、Snowflakeが自動的にグループを決定します。
  • ユーザー側でできること:

    • 何もできません。自分のアカウントがどのグループに属するかを事前に知ったり、変更したりすることはできません。

VPS環境への展開

  • VPSとは?

    • Virtual Private Snowflakeの略で、最高レベルのセキュリティを求める企業向けのサービスです。AWS PrivateLinkなどを使用し、パブリックインターネットを介さずにSnowflakeへ直接接続します。
  • なぜリリースが最後なのか?

    • VPSは標準環境とは異なる特別なネットワーク構成を持つため、リリースの最終段階で、最も慎重に適用されます。これにより、一般環境での安定性が十分に確認された後に、セキュリティ重視の環境へ展開されます。

ためしてみた

Trial環境のSnowflakeのバージョンが調べられるかこのSQLを実行してみました。

SELECT SYSTEM$ENABLE_BEHAVIOR_CHANGE_BUNDLE('SNOWFLAKE_RELEASE_VERSION');


このように無効な変更バンドルというエラーが出てきました。
どうやら、今は早期アクセス期間ではないそうで、実際に早期アクセス期間になっている時じゃないと動かないようです。

というわけで、Trial環境の現在のバージョンだけ調べてみることにしました。
2025年7月6日現在、9.18.0だそうです。

SELECT CURRENT_VERSION();

https://docs.snowflake.com/release-notes/new-features
こちらのページによると、2025年6月30日現在のバージョンがTrial環境に適用されているようですね。

Discussion