2025年8月にリリースされたSnowflakeの新機能・変更点のまとめ #SnowflakeDB

2025年8月にリリースされたSnowflakeの新機能・変更点のまとめ #SnowflakeDB

2025.09.04

2025年8月にリリースされたSnowflakeの新機能・変更点のまとめ記事になります。

※注意事項:本記事ではすべての情報についての記述はせず、特筆すべきだと感じた情報だけピックしております。基本的には以下の情報を参考にしておりますので、全ての最新情報を確認したい場合は下記のURLからご確認ください。

Aug 28, 2025: Model Registry model deployment UI (パブリックプレビュー)

https://docs.snowflake.com/en/release-notes/2025/other/2025-08-28-model-deployment-ui

モデルレジストリ UI から SPCS Model Serving に直接モデルをデプロイできる機能がパブリックプレビューとなりました。

トレーニング済みのモデルを Snowflake モデルレジストリに登録すると、モデルのバージョン管理が可能となり、UI でも確認できます。登録されたモデルは SPCS のサービスとしてデプロイできますが、今回のアップデートで、UI からもデプロイできるようになりました。

image

デプロイされた推論サービスの詳細を確認したり、モデルレジストリUIから直接サービスを一時停止することも可能です。

詳細は以下をご参照ください。

https://docs.snowflake.com/en/developer-guide/snowflake-ml/model-registry/snowsight-ui#label-model-deployment

Model Serving については公式のクイックスタートが提供されています。

https://quickstarts.snowflake.com/guide/snowpark-container-services-model-serving-guide/index.html?index=..%2F..index#4

Aug 26, 2025: データベース オブジェクト エクスプローラーを使用した Semantic view の作成と管理がパブリックプレビュー

https://docs.snowflake.com/en/release-notes/2025/other/2025-08-26-semantic-views-in-snowsight

Snowsight 上のデータベース オブジェクト エクスプローラーからセマンティック ビューを作成および管理できるようになりました。

image 1

詳細は以下をご参照ください。

https://docs.snowflake.com/en/user-guide/views-semantic/ui

9.25 Release notes: Aug 25, 2025-Aug 28, 2025

https://docs.snowflake.com/en/release-notes/2025/9_25

データベースレベルの機密データの自動分類が一般提供

分類プロファイルを定義しデータベースに関連付けることで、自動的に内部のテーブルを監視し、機密データへの分類やタグ付けを自動化できる機能が一般提供となりました。

タグベースのマスキングポリシーと組み合わせることで、新規追加も含む定期的なデータテーブルの再分類、タグ付け、タグが付与された場合の自動的なポリシーの適用が可能となります。

詳細は以下をご参照ください。

https://docs.snowflake.com/en/user-guide/classify-auto#label-classify-auto-set-profile

Semantic view のクエリが一般提供

SQL でスキーマレベルのオブジェクトとして定義できるセマンティックビューを SELECT 文でクエリできる機能が一般提供となりました。

詳細は以下をご参照ください。

https://dev.classmethod.jp/articles/snowflake-try-semantic-view/

Semantic view: SHOW SEMANTIC FACTS が追加

通常のオブジェクトのように、セマンティックビューで定義された FACT を一覧表示できる SHOW SEMANTIC FACTS コマンドが追加されました。

https://docs.snowflake.com/en/sql-reference/sql/show-semantic-facts

公式ドキュメントからの引用ですが、アカウントで以下のセマンティックビューを定義しているとします。

セマンティックビューを定義
CREATE SEMANTIC VIEW tpch_rev_analysis

  TABLES (
    orders AS SNOWFLAKE_SAMPLE_DATA.TPCH_SF1.ORDERS
      PRIMARY KEY (o_orderkey)
      WITH SYNONYMS ('sales orders')
      COMMENT = 'All orders table for the sales domain',
    customers AS SNOWFLAKE_SAMPLE_DATA.TPCH_SF1.CUSTOMER
      PRIMARY KEY (c_custkey)
      COMMENT = 'Main table for customer data',
    line_items AS SNOWFLAKE_SAMPLE_DATA.TPCH_SF1.LINEITEM
      PRIMARY KEY (l_orderkey, l_linenumber)
      COMMENT = 'Line items in orders'
  )

  RELATIONSHIPS (
    orders_to_customers AS
      orders (o_custkey) REFERENCES customers,
    line_item_to_orders AS
      line_items (l_orderkey) REFERENCES orders
  )

  FACTS (
    line_items.line_item_id AS CONCAT(l_orderkey, '-', l_linenumber),
    orders.count_line_items AS COUNT(line_items.line_item_id),
    line_items.discounted_price AS l_extendedprice * (1 - l_discount)
      COMMENT = 'Extended price after discount'
  )

  DIMENSIONS (
    customers.customer_name AS customers.c_name
      WITH SYNONYMS = ('customer name')
      COMMENT = 'Name of the customer',
    orders.order_date AS o_orderdate
      COMMENT = 'Date when the order was placed',
    orders.order_year AS YEAR(o_orderdate)
      COMMENT = 'Year when the order was placed'
  )

  METRICS (
    customers.customer_count AS COUNT(c_custkey)
      COMMENT = 'Count of number of customers',
    orders.order_average_value AS AVG(orders.o_totalprice)
      COMMENT = 'Average order value across all orders',
    orders.average_line_items_per_order AS AVG(orders.count_line_items)
      COMMENT = 'Average number of line items per order'
  )

  COMMENT = 'Semantic view for revenue analysis';

以下のコマンドを使用することで、セマンティックビューで定義したファクトを表示できます。

>SHOW SEMANTIC FACTS IN tpch_rev_analysis;
+---------------+-------------+--------------------+------------+------------------+--------------------+----------+-------------------------------+
| database_name | schema_name | semantic_view_name | table_name | name             | data_type          | synonyms | comment                       |
|---------------+-------------+--------------------+------------+------------------+--------------------+----------+-------------------------------|
| TEST_DB       | PUBLIC      | TPCH_REV_ANALYSIS  | LINE_ITEMS | DISCOUNTED_PRICE | NUMBER(25,4)       | NULL     | Extended price after discount |
| TEST_DB       | PUBLIC      | TPCH_REV_ANALYSIS  | LINE_ITEMS | LINE_ITEM_ID     | VARCHAR(134217728) | NULL     | NULL                          |
| TEST_DB       | PUBLIC      | TPCH_REV_ANALYSIS  | ORDERS     | COUNT_LINE_ITEMS | NUMBER(18,0)       | NULL     | NULL                          |
+---------------+-------------+--------------------+------------+------------------+--------------------+----------+-------------------------------+

Apache Iceberg テーブル: 外部管理の Iceberg テーブルに対する行レベルの削除のサポートが一般提供

外部管理の Iceberg テーブルに対する、Position delete による行レベルの削除のサポートが一般提供となりました。
Snowflake では、Apache Iceberg が行レベルの操作(更新、削除、マージ)を処理するための各モード(Copy-on-write , Merge-on-read)をサポートしています。
削除方式には、Position delete のみのサポートです。

詳細は以下をご参照ください。

https://docs.snowflake.com/en/user-guide/tables-iceberg-manage#label-tables-iceberg-row-level-deletes

データ品質:テーブル所有者以外でも DMF をテーブルに関連付けられるように

DMF をテーブルに関連付けるには、テーブルの所有者権限が必要でしたが、所有者権限はなくとも、参照権限のあるユーザーで DMF をテーブルに関連付けられるようになりました。
具体的には、基本的な権限のあるユーザーで関連付け時にEXECUTE AS ROLE を指定することでこの操作が可能となります。

--テーブルの所有権以外に「EXECUTE DATA METRIC FUNCTION」や各オブジェクトへのUSAGEは必要
>SHOW GRANTS TO ROLE ANALYST;
+-------------------------------+------------------------------+---------------+----------------------------------+------------+--------------+--------------+--------------+
| created_on                    | privilege                    | granted_on    | name                             | granted_to | grantee_name | grant_option | granted_by   |
|-------------------------------+------------------------------+---------------+----------------------------------+------------+--------------+--------------+--------------|
| 2025-09-02 22:04:31.958 +0900 | EXECUTE DATA METRIC FUNCTION | ACCOUNT       | XX36374                          | ROLE       | ANALYST      | false        | ACCOUNTADMIN |
| 2025-09-02 21:50:22.921 +0900 | USAGE                        | DATABASE      | TEST_DB                          | ROLE       | ANALYST      | false        | ACCOUNTADMIN |
| 2025-09-02 21:58:01.394 +0900 | USAGE                        | DATABASE_ROLE | SNOWFLAKE.DATA_METRIC_USER       | ROLE       | ANALYST      | false        |              |
| 2025-09-02 21:50:33.831 +0900 | USAGE                        | SCHEMA        | TEST_DB.PUBLIC                   | ROLE       | ANALYST      | false        | ACCOUNTADMIN |
| 2025-09-02 21:50:45.630 +0900 | SELECT                       | TABLE         | TEST_DB.PUBLIC.SAMPLE_DATA_TABLE | ROLE       | ANALYST      | false        | ACCOUNTADMIN |
| 2025-09-02 21:51:01.975 +0900 | USAGE                        | WAREHOUSE     | COMPUTE_WH                       | ROLE       | ANALYST      | false        | ACCOUNTADMIN |
+-------------------------------+------------------------------+---------------+----------------------------------+------------+--------------+--------------+--------------+
--所有者権限がなくてもDMFを関連付けられる
ALTER TABLE sample_data_table
ADD DATA METRIC FUNCTION SNOWFLAKE.CORE.FRESHNESS
    ON (last_updated)
EXECUTE AS ROLE analyst;

詳細は以下をご参照ください。

https://docs.snowflake.com/en/user-guide/data-quality-access-control#label-data-quality-access-control-object-privilege

タグで許可される値の上限が増加

あるタグに設定可能な文字列値(タグ値)の最大数が、これまでの 300 から 5,000 に増加しました。詳細は以下をご参照ください。

https://docs.snowflake.com/en/user-guide/object-tagging/work#label-object-tagging-specify-tag-values

Aug 25, 2025: Snowflake Connectors for Microsoft Power Apps が一般提供

https://docs.snowflake.com/en/release-notes/2025/other/2025-08-25-mspowerapps

Microsoft Power Platform 用の Snowflake コネクタが一般提供となりました。
これにより Power Apps やPower Automate などの Microsoft 製品から Snowflake のデータを直接利用できます。
Power Apps に関して、公式によるクイックスタートも提供されています。

https://quickstarts.snowflake.com/guide/power_apps_snowflake/index.html?index=..%2F..index#0

詳細は以下をご参照ください。

https://docs.snowflake.com/en/connectors/microsoft/powerapps/about

Aug 22, 2025: 組織プロファイルに関するアップデート

https://docs.snowflake.com/en/release-notes/2025/other/2025-08-22-org-profiles

組織アカウントで作成できる組織プロファイルに関して以下の機能が追加されました。

  • Snowsight での組織プロファイル作成がサポート
    • これまでは SQL のみで作成可能
  • アカウント内の特定のロールにプロファイルへのアクセス許可

詳細は以下をご参照ください。

https://docs.snowflake.com/en/user-guide/collaboration/organization-profiles/org-profiles-create-manage

Aug 22, 2025: AI_EXTRACT function がパブリックプレビュー

https://docs.snowflake.com/en/release-notes/2025/other/2025-08-22-ai-extract

テキスト、画像、ドキュメントなどの非構造化データ ソースから情報を抽出できる AI_EXTRACT がパブリックプレビューとなりました。

responseFormatで抽出したい要素を指定することで、各要素の情報が抽出されます。
日本語にも対応しており、通常のテキストの他、PDF、PNG、PPTX、HTML や DOC/DOCX などのファイルもサポートされています。

AI_PARSE_DOCUMENT との違いなど、詳細は以下の記事で詳しく解説されています。

https://zenn.dev/tf_takada/articles/9d391febbb7448

Aug 21 2025: AI Parse Document のレイアウトモードが一般提供

https://docs.snowflake.com/en/release-notes/2025/other/2025-08-21-aisql-ai-parse-document-layout-ga

以前は PARSE_DOCUMENT として提供されており、現在は AI_PARSE_DOCUMENT の名称に変更された AI_PARSE_DOCUMENT 関数の LAYOUT モードが一般提供となりました。
AI_PARSE_DOCUMENT は以下のモードをサポートしています。

  • OCR モード
    • ドキュメントからのテキスト抽出時の利用が推奨されている(すでに一般提供)
  • LAYOUT モード
    • テキストや表などのレイアウト要素を抽出し、Markdown 形式で返す

詳細は以下をご参照ください。

https://docs.snowflake.com/en/user-guide/snowflake-cortex/parse-document#ai-parse-document

Aug 20, 2025: Snowflake ML における分散処理

https://docs.snowflake.com/en/release-notes/2025/other/2025-08-20-snowflake-ml-distributed-processing

Snowflake ML で、複数のモデルの学習やデータ処理を分散して行うための機能が追加されました。具体的には、以下の機能が追加されています。

  • Many Model Training(MMT)
    • データを指定した列でパーティション分割し、各パーティションで個別の機械学習でモデルを並列でトレーニングできる
  • Distributed Partition Function(DPF)
    • データを指定した列でパーティション分割し、各パーティションで Python 関数を並列で実行できる

いずれもコンテナランタイム環境が必要です。これにより、複雑な分散処理のロジックを意識することなく、並列処理を構築できます。

Many Model Training については、以下の記事で詳しく紹介されています。

https://zenn.dev/takikomi/articles/f0e86ce4017c23

Aug 20, 2025: New stage volume implementation in Snowpark Container Services (パブリックプレビュー)

https://docs.snowflake.com/en/release-notes/2025/other/2025-08-20-spcs-stage-volume-new

Snowpark Container Services で実行されるアプリケーションが、Snowflake の内部ステージに直接アクセスできるように構成できるようになりました。

これにより、コンテナ内のアプリケーションは、SQL コマンドを使わずに、一般的なファイルシステム API を通じてデータを読み書きできるようになります。
詳細は以下をご参照ください。

https://docs.snowflake.com/en/developer-guide/snowpark-container-services/snowflake-stage-volume

Aug 19, 2025: Trust Center のメール通知が一般提供

https://docs.snowflake.com/en/release-notes/2025/other/2025-08-19-trust-center-email-notifications-ga

Snowflake アカウントのセキュリティモニタリングを行う Trust Center のメール通知を構成できるようになりました。

有効化済みのスキャナーパッケージの設定タブよりメール通知を受信するユーザーを指定できます。具体的には、以下のいずれかを指定できます。

  • 確認済みのメールアドレスを持つ管理者ユーザー
  • カスタム

image 2

詳細は以下をご参照ください。

https://docs.snowflake.com/en/user-guide/trust-center/notifications-trust-center

Aug 18, 2025: Snapshot がパブリックプレビュー

https://docs.snowflake.com/en/release-notes/2025/other/2025-08-18-worm-snapshots

指定のデータベース、スキーマ、またはテーブルの変更不可能なバックアップを取得できるスナップショット機能が、パブリックプレビューとなりました。

関連する以下のオブジェクトを操作します。

  • スナップショット
    • テーブル、スキーマ、データベースといった特定のオブジェクトのポイントインタイムバックアップ。作成後は変更できない
  • スナップショットセット
    • 特定のオブジェクトに対する一連のスナップショットを格納するコンテナ
    • スキーマレベルのオブジェクト
  • スナップショットポリシー
    • スキーマレベルのオブジェクト
    • スナップショットセットに関連付けることで、スナップショットのライフサイクルを管理できる
    • ポリシーでは、スナップショットを作成する間隔(分単位またはcron式) や、スナップショットの有効期限を設定できる
    • 有効期限が切れると、そのスナップショットにリーガルホールドが適用されていない限り、自動的にスナップショットは削除される

詳細は以下をご参照ください。

https://dev.classmethod.jp/articles/snowflake-try-snapshot/

9.24 Release notes: Aug 18, 2025-Aug 20, 2025

https://docs.snowflake.com/en/release-notes/2025/9_24

Tri-Secret Secure のセルフサービス アクティベーションが一般提供

Snowflake が管理するキー、カスタマー管理キー(CMK)、ユーザー認証を組み合わせることで、ストレージデータの暗号化にを多層的に保護できる Tri-Secret Secure の対応は、これまで Snowflake サポートへの問い合わせが必要でした。今回のアップデートで、ユーザー側で対応できるようになりました。

前提として、本機能の使用には、Business Critical Edition 以上のエディションが必要です。

詳細は以下をご参照ください。

https://docs.snowflake.com/en/user-guide/security-encryption-tss-self-serve

Cortex Knowledge Extensions

https://t.co/X3i88eL5Cu

Snowflake Cortex Search サービスを Snowflake Marketplaceで共有できる Cortex Knowledge Extensions が一般提供となりました。

Snoflake Intelligence などのツールとして指定することで、顧客自身のデータを外部の市場トレンド、業界リサーチなどの専門知識ベースで強化することが可能となります。
執筆時点で Snowflake Documentation、ワシントン・ポスト、APビズネスニュースなどのサービスが提供されています。

詳細は以下をご参照ください。

https://dev.classmethod.jp/articles/snowflake-try-cortex-knowledge-extensions-with-snowflake-intelligence/

Aug 14, 2025: Using SQL for Cortex Powered Object Descriptions (パブリックプレビュー)

https://docs.snowflake.com/en/release-notes/2025/other/2025-08-14-sql-object-descriptions

生成 AI によるテーブルまたはビューの説明を生成して返す AI_GENERATE_TABLE_DESC がパブリックプレビューとなりました。
これにより、SQL から生成 AI を用いた Description を生成できます。オプションを指定することで、カラムの説明も生成できます。
詳細は以下をご参照ください。

https://dev.classmethod.jp/articles/snowflake-try-generate-table-desc/

https://docs.snowflake.com/en/user-guide/sql-cortex-descriptions

Aug 14, 2025: Workload identity federation が一般提供

https://docs.snowflake.com/en/release-notes/2025/other/2025-08-14-wif

AWS、Azure、GitHub Actions などのプラットフォームから、Snowflake への認証をより安全かつシンプルに行える Workload identity federation が一般提供となりました。
アプリケーション、サービスなどのワークロードが、AWS であれば IAM ロールなど、クラウドサービス側のシステムを使用して Snowflake に接続できます。
これにより、パスワードやキーペアなどの長期的な認証情報を保管・管理する必要がなくなります。

詳細は以下をご参照ください。

https://docs.snowflake.com/en/user-guide/workload-identity-federation

https://dev.classmethod.jp/articles/workload-identity-federation-ec2-odbc-snowflake/

Aug 14, 2025: データリネージでのストアドプロシージャのサポートがパブリックプレビュー

https://docs.snowflake.com/en/release-notes/2025/other/2025-08-14-lineage

リネージグラフ内で下流オブジェクトがストアドプロシージャによって作成された場合、オブジェクト間の矢印をクリックすると、下流オブジェクトを生成したストアドプロシージャの詳細を取得できるようになりました。

image 3

詳細は以下をご参照ください。

https://docs.snowflake.com/en/user-guide/ui-snowsight-lineage#label-ui-lineage-stored-procedure

9.23 Release notes: Aug 11, 2025-Aug 15, 2025

https://docs.snowflake.com/en/release-notes/2025/9_23

Snowflake Scripting user-defined functions (UDFs)

Snowflake スクリプトによる手続き型ロジックを含む SQL UDF を定義できるようになりました。

詳細は以下をご参照ください。

https://dev.classmethod.jp/articles/snowflake-scripting-udf-try-snowflakedb/

Private facts and metrics in semantic views

セマンティック ビューでの計算にのみ使用するファクトまたはメトリクス定義時に、そのファクトやメトリクスをクエリで返さないようにできる、PRIVATE 句がサポートされました。

プライベートとしてマークされると、クエリを実行したり、クエリ条件で使用したりすることはできません。ディメンションをプライベートとしてマークすることはできません。
以下のようなファクトとメトリクスを含むセマンティックビューを定義したとします。

  FACTS (
    PRIVATE line_items.line_item_id AS CONCAT(l_orderkey, '-', l_linenumber),
    orders.count_line_items AS COUNT(line_items.line_item_id),
    line_items.discounted_price AS l_extendedprice * (1 - l_discount)
      COMMENT = 'Extended price after discount'
  )
  ・
  ・
  METRICS (
    PRIVATE customers.customer_count AS COUNT(c_custkey)
      COMMENT = 'Count of number of customers',
    orders.order_average_value AS AVG(orders.o_totalprice)
      COMMENT = 'Average order value across all orders',
  )

セマンティックビューをクエリしたり表示するとプライベートと指定したファクトは表示されません。

--対象のセマンティックビューのメトリクスをクエリ
>SELECT * FROM SEMANTIC_VIEW
	 (
	  tpch_rev_analysis
	     METRICS
	         customers.customer_count
	 );
000904 (42000): SQL compilation error: error line 5 at position 8
invalid identifier 'CUSTOMERS.CUSTOMER_COUNT'

--PRIVATEでないメトリクスはクエリ可能
>SELECT * FROM SEMANTIC_VIEW
	( 
	 tpch_rev_analysis
	    METRICS 
	        orders.order_average_value
	) ;
+---------------------+
| ORDER_AVERAGE_VALUE |
|---------------------|
|     151219.53763164 |
+---------------------+

--対象のセマンティックビューのファクトを表示
>SHOW SEMANTIC FACTS IN tpch_rev_analysis;
+---------------+-------------+--------------------+------------+------------------+--------------+----------+-------------------------------+
| database_name | schema_name | semantic_view_name | table_name | name             | data_type    | synonyms | comment                       |
|---------------+-------------+--------------------+------------+------------------+--------------+----------+-------------------------------|
| TEST_DB       | PUBLIC      | TPCH_REV_ANALYSIS  | LINE_ITEMS | DISCOUNTED_PRICE | NUMBER(25,4) | NULL     | Extended price after discount |
| TEST_DB       | PUBLIC      | TPCH_REV_ANALYSIS  | ORDERS     | COUNT_LINE_ITEMS | NUMBER(18,0) | NULL     | NULL                          |
+---------------+-------------+--------------------+------------+------------------+--------------+----------+-------------------------------+

詳細は以下をご参照ください。

https://docs.snowflake.com/en/user-guide/views-semantic/sql#label-semantic-views-private

Dynamic tables:UNION 時の増分同期がサポート

UNION 句を使用する動的テーブルの更新時に、増分同期がサポートされるようになりました。
UNION や UNION ALL 時も増分同期がサポートされます。
増分同期がサポートされるクエリは以下に記載があります。

https://docs.snowflake.com/en/user-guide/dynamic-tables-supported-queries#label-dynamic-tables-intro-refresh-queries

Aug 11, 2025: Snowpark Container Services でクロスオリジンリクエストを許可する構成のサポートが一般提供

https://docs.snowflake.com/en/release-notes/2025/other/2025-08-11-spcs-cors-ga

Snowpark Container Services で、クロスオリジン(異なるドメイン間)のリクエストを安全に許可できるようになりました。
これにより、Snowpark Container Services の外部でホストされている Web アプリと、Snowpark Container Services 上のバックエンドサービスを連携させることが可能となります。

詳細は以下をご参照ください。

https://docs.snowflake.com/en/developer-guide/snowpark-container-services/additional-considerations-services-jobs#label-additional-considerations-ingress-and-web-app-security

9.22 Release notes (with behavior changes): Aug 04, 2025-Aug 08, 2025

https://docs.snowflake.com/en/release-notes/2025/9_22

データ品質:DMF の違反条件を設定できる Expectation が一般提供

DMF をオブジェクトに割り当てる際に Expectations(期待値)として、違反となる条件を設定できる機能が一般提供となりました。
これにより、DMF の実行結果がこの期待値に合致するかどうかをブール値(TRUE/FALSE)で判定できます。期待値違反の判定式や結果は、専用のビューから直接確認可能です。
詳細は以下をご参照ください。

https://dev.classmethod.jp/articles/dmf-expectations-snowflakedb-ga/

ハンドラーコード内で実行される SQL テキストをイベントテーブルのトレースデータに含める機能が一般提供

Snowflake のストアドプロシージャやユーザー定義関数(UDF)のハンドラーコード内で実行される SQL ステートメントのトレース情報を取得する機能が一般提供となりました。

詳細は以下をご参照ください。

https://dev.classmethod.jp/articles/tracing-sql-statements-run-from-handler-code-try/

Dynamic tables: immutability constraints をサポート

Dynamic Table の一部を意図的に固定し、変更されないようにする機能が追加されました。

これにより、テーブル全体が常に最新のクエリ結果を反映するのではなく、テーブルの一部を静的な状態に保つことができます。

この制約を設定する際は、テーブル定義、または変更時にIMMUTABLE WHEREパラメータを指定します。このパラメータに指定された条件に一致するレコードは不変となり、以降のリフレッシュ処理から除外されます。現在の各レコードが不変かどうかは、非表示のメタデータ列METADATA$IS_IMMUTABLEで確認できます。

--Dynamic Tableを定義
CREATE OR REPLACE DYNAMIC TABLE joined_data
  TARGET_LAG = '1 minute'
  WAREHOUSE = compute_wh
  --IMMUTABLE WHEREで制約を追加:過去1日より古いデータを不変として定義
  IMMUTABLE WHERE (timestamp_col < CURRENT_TIMESTAMP() - INTERVAL '1 day') 
  AS
    SELECT F.primary_key, F.timestamp_col, D.dim_value
    FROM fact_table F
    LEFT OUTER JOIN dimension_table D USING (primary_key);

--DynamicTableのメタデータ列を確認:Trueのレコードは変更されない
>SELECT *,METADATA$IS_IMMUTABLE FROM joined_data;
+-------------+-------------------------------+-----------+-----------------------+
| PRIMARY_KEY | TIMESTAMP_COL                 | DIM_VALUE | METADATA$IS_IMMUTABLE |
|-------------+-------------------------------+-----------+-----------------------|
|           1 | 2025-09-01 11:45:50.537 +0900 | dim_A     | True                  |
|           2 | 2025-09-03 01:45:50.537 +0900 | dim_B     | False                 |
|           3 | 2025-09-03 10:45:50.537 +0900 | dim_C     | False                 |
+-------------+-------------------------------+-----------+-----------------------+

詳細は以下をご参照ください。

https://docs.snowflake.com/en/user-guide/dynamic-tables-create#label-create-dt-immutability-constraints

Dynamic tables:backfill をサポート

通常のテーブルから初期データをバックフィルした動的テーブルを作成できるようになりました。

過去の静的なデータをバックフィルし、最新のデータを自動更新するテーブルを定義できます。
以下のように使用できます。

-- バックフィル元となる通常テーブル(過去のデータ)
CREATE OR REPLACE TABLE my_backfill_source (
  day DATE,
  sales NUMBER
);

INSERT INTO my_backfill_source VALUES
('2024-01-01', 100),
('2024-01-02', 150),
('2024-01-03', 200);

-- 新規データが流入するベースとなるテーブル
CREATE OR REPLACE TABLE my_base_table (
  day DATE,
  sales NUMBER
);

INSERT INTO my_base_table VALUES
('2024-01-04', 300),
('2024-01-05', 350);

-- 動的テーブルを作成
-- 2024-01-03以前のデータは変更不可(IMMUTABLE)、それ以降はmy_base_tableから更新
CREATE OR REPLACE DYNAMIC TABLE my_dynamic_table (
  day DATE,
  sales NUMBER
)
IMMUTABLE WHERE (day <= '2024-01-03')
BACKFILL FROM my_backfill_source
TARGET_LAG = '1 minute'
WAREHOUSE = compute_wh
AS
  SELECT day, sales FROM my_base_table;

詳細は以下をご参照ください。

https://docs.snowflake.com/en/user-guide/dynamic-tables-create#label-create-dt-using-backfill

Aug 08, 2025: Contacts が一般提供

https://docs.snowflake.com/en/release-notes/2025/other/2025-08-08-contacts

オブジェクトの問い合わせ先を目的別に管理できる Contact が一般提供となりました。

詳細は以下をご参照ください。

https://dev.classmethod.jp/articles/contact-pupr-try-snowflakedb/

Aug 07, 2025: Cortex AISQL:AI_TRANSCRIBE がパブリックプレビュー

https://docs.snowflake.com/en/release-notes/2025/other/2025-08-07-cortex-aisql-ai-transcribe

音声ファイルからテキストを文字起こしできる AI_TRANSCRIBE がパブリックプレビューとなりました。

日本語にも対応しており、最大 700 MB までのオーディオ ファイルサイズに対応しています。現在は国内のクラウドリージョンでは未提供ですが、クロスリージョン推論を有効化することで使用できます。

https://docs.snowflake.com/en/sql-reference/functions/ai_transcribe

以下の記事では本機能について詳しく解説されています。

https://zenn.dev/tsubasa_tech/articles/65e96e2bd257ec

Aug 07, 2025: Directed join がパブリックプレビュー

https://docs.snowflake.com/en/release-notes/2025/other/2025-08-07-directed-join

SQL クエリの JOIN 句に DIRECTED キーワードを追加することで、テーブルの結合順序を強制することができるようになりました。

DIRECTED JOIN を使うと、最初のテーブル(左側のテーブル)が、2番目のテーブル(右側のテーブル)よりも 先にスキャンされます。移行元のクエリの動作維持や、結合テーブルを特定の順序でスキャンすることによるパフォーマンスの向上が期待できます。

https://docs.snowflake.com/en/sql-reference/constructs/join#parameters

Aug 01, 2025: Snowflake Intelligence がパブリックプレビュー

https://docs.snowflake.com/en/release-notes/2025/other/2025-08-01-snowflake-intelligence

Snowsight から自然言語で AI エージェントに問い合わせを行える Snowflake Intelligence がパブリックプレビューとなりました。
UI も含めて提供される機能で、現時点では、ツールとして以下を使用できます。

  • Cortex Analyst
  • Cortex Search
  • カスタム
    • UDF とストアドプロシージャ

Snowflake Intelligence ではこちらに記載のモデルがサポートされています。そのため、Snowflake のご利用クラウドリージョンでこれらのモデルを使用できる必要があるか、クロスリージョン推論」を有効化することで使用できます。

詳細は以下をご参照ください。

https://docs.snowflake.com/en/user-guide/snowflake-cortex/snowflake-intelligence

公式のクイックスタートも提供されています。ここではカスタムツールとしてメールを送信するストアドプロシージャを使用し、生成AIによる分析サマリをメールを送信する例が紹介されています。

https://quickstarts.snowflake.com/guide/getting-started-with-snowflake-intelligence/index.html?index=..%2F..index#0

9.21 Release notes: Jul 29, 2025-Aug 01, 2025

https://docs.snowflake.com/en/release-notes/2025/9_21

Account Usage: TABLE_QUERY_PRUNING_HISTORY と COLUMN_QUERY_PRUNING_HISTORY ビューが一般提供

テーブルやカラムレベルで、クエリ実行時間とプルーニングの内訳を確認できる以下のビューが一般提供となりました。

  • TABLE_QUERY_PRUNING_HISTORY
    • テーブル、クエリハッシュ、ウェアハウス別のクエリ実行時間とプルーニングの内訳を確認できます
  • COLUMN_QUERY_PRUNING_HISTORY
    • カラム、クエリハッシュ、ウェアハウス別のプルーニングの内訳を返します

TABLE_QUERY_PRUNING_HISTORY の例ですが、下図のような情報を確認できます。

image 4

SEARCH_IP 関数が IPv6 addresses をサポート

全文検索に使用できる SEARCH_IP 関数で有効な IPv6 形式の IP アドレスがサポートされました。

詳細は以下をご参照ください。

https://docs.snowflake.com/en/sql-reference/functions/search_ip

Snowpipe の価格設定が変更

2025年8月1日より、Business Critical アカウントと VPS アカウントを対象に、新しい Snowpipe の料金モデルが導入されました。

これまでは、秒単位/コア単位のコンピューティング料金と Snowpipe で処理したファイルに対して、1,000ファイル単位で料金が請求されました。
変更後は、取り込んだデータ1 GBごとに固定のクレジット(0.0037 クレジット/GB)が課金されます。

この際、各ファイル形式について以下の点にご注意ください。

  • テキスト ファイル(CSV、JSON など)は、圧縮されていないサイズに基づいて課金される
  • バイナリ ファイル(例:Parquet、Avro)は、測定されたサイズに基づいて課金される

Enterprise および Standard エディションについても、今後この価格体系が適用される予定です。詳細は以下をご参照ください。

https://docs.snowflake.com/en/user-guide/data-load-snowpipe-billing

Snowflake CLI release notes

Snowflake CLI Version 3.11.0 がリリース(Aug 25, 2025)

https://docs.snowflake.com/en/release-notes/clients-drivers/snowflake-cli-2025#version-3-11-0-aug-25-2025

Snowflake CLI Version 3.11.0 がリリースされました。特徴的な新機能やアップデートとして以下があります。

  • snow connection removeコマンドが追加
    • 構成ファイル(config.toml)から接続を削除できます

https://docs.snowflake.com/en/developer-guide/snowflake-cli/command-reference/connection-commands/remove-connection

  • snow auth oidc コマンドが追加
    • Workload identity federation の管理用にsnow auth oidc read-token コマンドが使用できるようになりました
    • プロバイダーとして GitHub Actions がサポートされており、CI/CD 環境から OpenID Connect(OIDC)トークンを活用したパスワードレス認証が可能となります

https://docs.snowflake.com/en/developer-guide/snowflake-cli/command-reference/auth-commands/overview

Streamlit in Snowflake release notes

July 15, 2025: Streamlit 1.46 のサポートが一般提供

https://docs.snowflake.com/en/release-notes/streamlit-in-snowflake#aug-12-2025-support-for-streamlit-1-46-general-availability

Streamlit in Snowflake で Streamlit の Version 1.46 のサポートが一般提供となりました。
サポートされているバージョンは以下に記載があります。

https://docs.snowflake.com/en/developer-guide/streamlit/getting-started#supported-versions-of-the-streamlit-library

Aug 06, 2025: Streamlit in Snowflake でカスタムコンポーネントのサポートがパブリックプレビュー

Streamlit in Snowflake でカスタムコンポーネントが使えるようになりました。
現在は、外部のウェブサイトや API などのサービスに接続しないカスタムコンポーネントがサポートされています。

https://docs.snowflake.com/en/release-notes/streamlit-in-snowflake#aug-06-2025-support-for-custom-components-in-sis-preview

Behavior Change Log

単一要素パスワードサインインの廃止に向けた計画

セキュリティ体制を強化するため、Snowflake でパスワードを使用するすべてのユーザーに対して多要素認証(MFA)が必須となります。これらの変更は、複数の動作変更リリース(BCR)を通じて展開されます。

単一要素パスワード サインインの廃止のタイムラインと対応する BCR については以下のページにまとめられています。

https://docs.snowflake.com/en/user-guide/security-mfa-rollout

直近導入(デフォルトで無効化)予定の 2025_06 バンドルにて、すべての Snowsight ユーザー(新規および既存)に対する MFA が必須となります。新規ユーザーの場合、BI ツールなどから Snowflake サービスへのアクセス時にも適用されます。(バンドルの有効化前に存在していた人間のユーザーは BI ツールなどからの接続時はこの影響を受けません)

※この変更は当初、2025_04 バンドルでの導入が予定されていましたが、延期されました。

https://docs.snowflake.com/en/release-notes/bcr-bundles/2025_04/bcr-1972

2025_04 バンドルがデフォルトで有効化

9.22 (2025/8/4 - 2025/8/8 リリース)で、2025_04 バンドルがデフォルトで有効化されました。このバンドルは、2025年9月のリリースで一般的に有効化される予定となっています。

https://docs.snowflake.com/en/release-notes/bcr-bundles/2025_04_bundle

2025_03 バンドルが一般的に有効化

9.22 (2025/8/4 - 2025/8/8 リリース)で、2025_03 バンドルが一般的に有効化されました。

https://docs.snowflake.com/en/release-notes/bcr-bundles/2025_03_bundle

おまけ:Modern Data Stack全般の最新情報

Snowflakeも含め、Modern Data Stack 全般の最新情報についても、定期的にブログにまとめて投稿されています!こちらもぜひご覧ください。

https://dev.classmethod.jp/articles/modern-data-stack-info-summary-20250820/

https://dev.classmethod.jp/articles/modern-data-stack-info-summary-20250806/

この記事をシェアする

facebookのロゴhatenaのロゴtwitterのロゴ

© Classmethod, Inc. All rights reserved.