
2025年2月にリリースされたSnowflakeの新機能・変更点のまとめ #SnowflakeDB
2025年2月にリリースされたSnowflakeの新機能・変更点のまとめ記事になります。
※注意事項:本記事ではすべての情報についての記述はせず、特筆すべきだと感じた情報だけピックしております。基本的には以下の情報を参考にしておりますので、全ての最新情報を確認したい場合は下記のURLからご確認ください。
February 24-March 01, 2025 — 9.4 Release Notes
イベント テーブルのデータベースへの関連付け — 一般提供
イベント テーブルをデータベースに関連付ける機能が一般提供となりました。
これまでイベント テーブルの関連付けはアカウントレベルのみでしたが、今回のアップデートで特定のデータベースに関連付けることができるようになりました。
これにより、指定されたデータベース内のプロシージャと UDF に関するイベントを収集するように構成できます。
注意点として、本機能は Enterprise Edition 以上で使用できます。詳細は以下をご参照ください。
ダイナミックテーブルの更新とタスクの実行イベントをログに記録できるように
ダイナミックテーブルの更新とタスク実行のイベントをログに記録するように構成できるようになりました。
アカウントやデータベース、タスクレベルでLOG_LEVEL
を設定することで、設定したレベル以上のイベントが記録されます。これらのイベントは、ダイナミックテーブルまたはタスクに関連付けられたアクティブなイベント テーブルに保存されます。
詳細は以下をご参照ください。
February 28, 2025 — マルチクラスター ウェアハウスの max_cluster_count 制限が増加
仮想ウェアハウスをマルチクラスター ウェアハウスとして構成する際の MAX_CLUSTER_COUNT プロパティの上限が、これまでの 10 から増加しました。
上限は仮想ウェアハウスのサイズごとに異なりますが、XS サイズであれば最大300まで設定可能となりました。詳細は以下をご参照ください。
February 26, 2025 — 外部ツール向けの接続設定を表示できるように
Snowsight 上でドライバで使用する接続文字列など外部ツールで使用する接続設定を生成できるようになりました。
本機能については以下でも紹介されていますので、あわせてご参照ください。
February 18-21, 2025 — 9.3 Release Notes
タスクでより短い実行間隔を指定可能に — 一般提供
タスクを定期的にスケジュール実行する際に指定するSCHEDULE
パラメータで秒数を指定する際に、最短で10秒間隔でタスクを起動するように設定できるようになりました(これまでの最短は1分間隔)。
詳細は以下をご参照ください。
Data lineage — General availability
Snowflake におけるデータ リネージが一般提供となりました。
アカウントレベルの VIEW LINEAGE 権限を付与することで、対象のロールはリネージグラフを Snowsight で閲覧できます。また、この機能は既存の RBAC と統合されているので、権限のあるテーブルやビューのみ表示されます。
オブジェクト、データベース、またはスキーマに対する権限がない場合でも、系統内のすべてのオブジェクトを表示するような構成も可能です。
Snowsight 上でのテーブル・ビューなどオブジェクト間のデータ リネージの確認については、以下でも紹介されていますので、こちらもご参照ください。
ネットワークルールの VALUE_LIST でドメインを指定する際のワイルドカード文字の使用が一般提供
外部ネットワークアクセスなどで Snowflake アカウントからのアウトバウンド接続を構成する際、ネットワークルールの VALUE_LIST でドメインを指定することが可能です。
今回のアップデートで、ネットワーク識別子としてドメインを指定する際に、アスタリスクをワイルドカード文字として使用できる機能が一般提供となりました。
詳細は以下をご参照ください。
テレメトリのメトリクスとカスタムスパンのサポート、および Snowsight での可視化 — 一般提供
Java や Python による UDFs やストアドプロシージャにおけるメトリック データの収集、カスタム スパンの実装、Snowsight 上でのログ、トレース、メトリック データの表示が一般提供となりました。
これらの機能により Snowflake 上で実行される処理のパフォーマンスやリソース使用状況の監視が容易になります。モニタリング結果は、Snowsight の「Monitoring」タブで確認できます。
詳細は以下をご参照してください。
Adding custom spans to a trace|Snowflake DOCUMENTATION
Collecting metrics data|Snowflake DOCUMENTATION
Viewing log messages|Snowflake DOCUMENTATION
Viewing trace data|Snowflake DOCUMENTATION
Dynamic tables の機能強化:UNION ALL 使用時の増分更新をサポート
ダイナミックテーブルのソーステーブルで以下のUNION [ ALL ]使用時は、これまで完全更新となっていましたが、今回のアップデートで増分更新にも対応しました。
- 対象のテーブル同士または、そのクローンとの UNION ALL
- GROUP BY または DISTINCT と別の GROUP BY または DISTINCT 間の UNION ALL
Snowflake 管理の Iceberg テーブルがクローンをサポート — 一般提供
Snowflake 管理の Iceberg テーブルに対するクローンのサポートが一般提供となりました。
クローンされた Iceberg テーブルの特徴は以下の通りです。
- ストレージ:他のクローンと同様にソース テーブルと共有
- メタデータ ファイル:ソース テーブルと異なる Iceberg メタデータ ファイルとして生成される
詳細は以下をご参照ください。
Cortex Agents がパブリックプレビュー
Snowflake では「Snowflake Cortex」として、すでに以下の機能を提供しています。
- Cortex Search
- RAG を構成するためのテキストのベクトル化と検索(ハイブリッド検索)ができる機能
- ユーザーからの問い合わせに対して、キーワード検索とベクトル検索を組み合わせることで、単語の一致の他、文脈や意味を考慮した検索行い、より精度の高い検索結果を期待できる
- Cortex Analyst
- Snowflake 内の構造化データに対して自然言語で問い合わせができる機能
- 問い合わせに対する SQL クエリを生成できる
今回パブリックプレビューとなった Cortex Agents はステートレス REST API エンドポイントとして提供され、Cortex Search のハイブリッド検索機能と Cortex Analyst の SQL 生成機能を組み合わせることができます。
前提として、各機能を構成できている必要がありますが、これによりユーザーからの自然言語ベースの問い合わせに対して、構造化データ分析と非構造化データ分析を組み合わせ分析が可能となります。
- 例(※以下のクイックスタートより)
- 売上実績データから売上トップのクライアントを抽出(Cortex Analyst)
- 抽出されたクライアントに関する情報をドキュメントから抽出(Cortex Search)
2025/3/4 時点ではこちらの一部のリージョンで使用可能です。また、本機能に関するクイックスタートも公開されています。詳細は以下をご参照ください。
February 14, 2025 — st.file_uploader がサポート — パブリックプレビュー
Streamlit in Snowflake で st.file_uploader のサポートがパブリックプレビューとなりました。
デフォルトでは最大200MBまでのファイルをアップデートすることができます。アップデートしたファイルはテーブルとしてデータを保存したりステージへの配置も可能です。
本機能については、例とあわせて以下でわかりやすく解説されています。
February 11, 2025 — Snowflake Cortex COMPLETE 関数のStructured Outputs — パブリックプレビュー
Snowflake Cortex COMPLETE 関数の出力を指定の JSON スキーマに準拠させる機能がパブリックプレビューとなりました。
目的の出力とその形式を定義すると、この内容に準拠するため、後工程の処理を軽減できます。
例として以下のテキストがあるとします。
INSERT INTO travel_reviews (review_text) VALUES
('秋葉原でショッピングを楽しみました。日本の文化が素晴らしい!'),
('出張でロンドンに行きました。会議の合間にビッグベンを見に行きましたが、とても素晴らしかったです。'),
('ビジネスカンファレンスに参加するためにシンガポールに行きました。夜はマリーナ・ベイ・サンズの景色を楽しみました。');
このカラムに対して、ここでは以下のように出力フォーマットを定義します。(国と目的をJSON形式で抽出したいという設定)
SELECT review_text,
SNOWFLAKE.CORTEX.COMPLETE('mistral-large2', [
{
'role': 'user',
'content': '次の旅行レビューから国名と旅行の目的を抽出してください: ' || review_text
}
],
{
'response_format': {
'type': 'json',
'schema': {
'type': 'object',
'properties': {
'country': {'type': 'string', 'maxLength': 50},
'purpose': {'type': 'string', 'maxLength': 50}
},
'required': ['country']
}
}
}
) AS extracted_info
FROM travel_reviews;
出力は以下のようになり、指定のJSONスキーマを取得できます。
実行結果
+------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------+
| REVIEW_TEXT | EXTRACTED_INFO |
|------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------|
| 秋葉原でショッピングを楽しみました。日本の文化が素晴らしい! | { |
| | "created": 1741053127, |
| | "model": "mistral-large2", |
| | "structured_output": [ |
| | { |
| | "raw_message": { |
| | "country": "日本", |
| | "purpose": "ショッピング" |
| | }, |
| | "type": "json" |
| | } |
| | ], |
| | "usage": { |
| | "completion_tokens": 27, |
| | "prompt_tokens": 67, |
| | "total_tokens": 94 |
| | } |
| | } |
| 出張でロンドンに行きました。会議の合間にビッグベンを見に行きましたが、とても素晴らしかったです。 | { |
| | "created": 1741053127, |
| | "model": "mistral-large2", |
| | "structured_output": [ |
| | { |
| | "raw_message": { |
| | "country": "ロンドン", |
| | "purpose": "出張" |
| | }, |
| | "type": "json" |
| | } |
| | ], |
| | "usage": { |
| | "completion_tokens": 25, |
| | "prompt_tokens": 87, |
| | "total_tokens": 112 |
| | } |
| | } |
| ビジネスカンファレンスに参加するためにシンガポールに行きました。夜はマリーナ・ベイ・サンズの景色を楽しみました。 | { |
| | "created": 1741053127, |
| | "model": "mistral-large2", |
| | "structured_output": [ |
| | { |
| | "raw_message": { |
| | "country": "シンガポール", |
| | "purpose": "ビジネスカンファレンスに参加するため" |
| | }, |
| | "type": "json" |
| | } |
| | ], |
| | "usage": { |
| | "completion_tokens": 43, |
| | "prompt_tokens": 91, |
| | "total_tokens": 134 |
| | } |
| | } |
+------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------+
こちらの機能についても以下の記事でより詳細に紹介されています。
February 7, 2025 — Snowflake Cortex Fine-tuning が一般提供
大規模言語モデル(LLM)を微調整できる Cortex Fine-tuning が一般提供となりました。
こちらは現在以下のアカウントで利用できます。
- AWS US West 2 (Oregon)
- AWS US East 1 (N. Virginia)
- AWS Europe Central 1 (Frankfurt)
- Azure East US 2 (Virginia)
詳細は以下をご参照ください。
January 22-February 13, 2025 — 9.2 Release Notes (with behavior changes)
トリガータスクでサーバレス コンピューティングリソースを使用できるように — 一般提供
Snowflake では、これまで通常のタスクに加えて以下のタスクを定義できました。
- トリガータスク
- 指定のストリームにデータがある場合に、自動的に実行できるタスク
- ストリームにデータがある場合にのみ、タスクで定義した仮想ウェアハウスが使用される
- サーバレスタスク
- タスクで使用する仮想ウェアハウスとして Snowflake 管理のウェアハウスを使用
これまではトリガータスクの定義にはユーザー管理の仮想ウェアハウスが必要でしたが、今回のアップデートで、トリガータスクでもサーバレス コンピューティングリソースを使用できるようになりました。
具体的には、タスクのWAREHOUSE
パラメータを削除して、TARGET_COMPLETION_INTERVAL
パラメータを追加することで、この構成が可能なようです。
詳細は以下をご参照ください。
CREATE OR ALTER コマンドのサポートが追加:パブリックプレビュー
現在パブリックプレビュー中の CREATE OR ALTER コマンドでサポートされるオブジェクトに以下が追加されました。
- 認証ポリシー(CREATE OR ALTER AUTHENTICATION POLICY)
- ファイル フォーマット(CREATE OR ALTER FILE FORMAT)
- タグ(CREATE OR ALTER TAG)
対応するオブジェクトは以下から確認できます。
Behavior Change Log
2025_01 バンドルが提供開始 ※デフォルトは無効化
9.2 (2025/1/22 - 2025/2/13 リリース)で、2025_01 バンドルが提供開始となりました。先に挙動を確かめたい場合には手動でバンドルを有効化してテスト可能です。
このバンドルは、2025年3月のリリースでデフォルトで有効化される予定となっています。
2024_08 バンドルがデフォルトで有効化
9.2 (2025/1/22 - 2025/2/13 リリース)で、2024_08 バンドルがデフォルトで有効化されました。このバンドルは、2025年3月のリリースで一般的に有効化される予定となっています。
おまけ:Modern Data Stack全般の最新情報
Snowflakeも含め、Modern Data Stack 全般の最新情報についても、定期的にブログにまとめて投稿されています!こちらもぜひご覧ください。