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

2024.06.04

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

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

Snowflake Notebooks がパブリックプレビュー

こちらはまだリリースノートには載っていませんが、Snowflake Notebooks と呼ばれる、開発用のインターフェイスが Snowsight 上で利用可能となっています。
Snowflake Notebooks では Python と SQL ユーザーのためにインタラクティブでセルベースのプログラミング環境が提供されます。

Notebook では、セルごとに SQL と Python を使用でき、相互に一部の結果を参照することが可能となっています。また Git と連携して管理可能な機能も提供されています。
詳しくは以下の記事で紹介されていますので、ぜひご覧ください。

May 31, 2024 — Snowflake ML Classification Update –— Preview

Snowflake Cortex ML ベース関数 Classification のアップデート

Snowflake Cortex ML ベースの関数における分類について以下の機能がサポートされました。

  • タイムスタンプに関する機能
    • モデルがタイムスタンプから曜日や月などの特徴を自動的に導出する機能が追加されました。これにより、分類は時間に基づくサイクルを検出し、新しいデータの分類に役立てることができます
  • カーディナリティの高い(100以上)ラベルのサポート

May 28, 2024 — ML Functions Release Notes

ML 関数の結果保持をシンプルな SQL で記述可能に

SQL の FROM 句で、予測および 異常検出 のML 関数を直接呼び出すことができるようになりました。ドキュメントからの引用ですが、具体的には以下のようなコマンドを記述できるようになり、モデルの結果をテーブルに保存するための SQL 文を簡略化できるようになりました。

CREATE TABLE my_forecasts AS
  SELECT * FROM TABLE(model!forecast(forecasting_periods => 7));

May 28, 2024 — Snowflake Data Clean Rooms Release Notes

追加のサポート対象地域

ドキュメントからの引用ですが、以下の地域でも Snowflake Data Clean Rooms が利用できるようになりました。

May 28-30, 2024 — 8.21 Release Notes

Triggered tasks がパブリックプレビュー

Triggered task がパブリックプレビューとなりました。これまで、タスクの実行はスケジュールベースで、例えばストリームと組み合わせて使用し、イベント駆動に近い動作をさせようとする場合、タスク定義時にSCHEDULE = '1 minute' として最短間隔で実行されるように作成する必要がありました。
Triggered task によって、定義されたストリームに新しいデータがある場合にのみタスクを実行できるようになります。また Triggered task はストリームにデータがあり、タスクの実行をトリガーするまでコンピューティング リソースを使用しないため、コストも抑えられます。
詳細は以下をご参照ください。

UNPIVOT 句が NULL を含む行をサポート

UNPIVOT句でINCLUDE NULLS オプションによって NULL を含む行を出力できるようになりました。
例えば以下のようなデータがあったとします。

>SELECT * FROM monthly_sales;

| empid | dept       | jan | feb  | mar | april |
|-------|------------|-----|------|-----|-------|
| 1     | appliances | 100 | NULL | 100 | 50    |

デフォルトではEXCLUDE NULLS オプションが適用されることになっています。(EXCLUDE NULLS は省略可能)

SELECT *
  FROM monthly_sales
    UNPIVOT EXCLUDE NULLS(sales FOR month IN (jan, feb, mar, april))
  ORDER BY empid;

この場合、列リストに指定した値が NULL の場合、対象のレコードは表示されません。

| EMPID | DEPT       | MONTH | SALES |
|-------|------------|-------|-------|
| 1     | appliances | JAN   | 100   |
| 1     | appliances | MAR   | 100   |
| 1     | appliances | APRIL | 50    |

INCLUDE NULLS オプションを使用することで、NULL であっても出力に含むことができるようになりました。

SELECT *
  FROM monthly_sales
    UNPIVOT INCLUDE NULLS (sales FOR month IN (jan, feb, mar, april))
  ORDER BY empid;

出力

| EMPID | DEPT       | MONTH | SALES |
|-------|------------|-------|-------|
| 1     | appliances | JAN   | 100   |
| 1     | appliances | FEB   | null  |
| 1     | appliances | MAR   | 100   |
| 1     | appliances | APRIL | 50    |

Streamlit ライブラリの v1.29.0 および v1.31.1 のサポート

Streamlit in Snowflake の Streamlit ライブラリのバージョンとして 1.29.0 および 1.31.1 がサポートされました。サポートされるバージョンの一覧は以下をご参照ください。
Streamlitライブラリのサポートされているバージョン | Snowflake DOCUMENTATION

May 20-22, 2024 — 8.20 Release Notes

Trust Center がパブリックプレビュー

Snowflake アカウントのセキュリティリスクを評価、監視できる機能である Trust Center がパブリックプレビューとなりました。

現時点ではスキャナーとして「CIS ベンチマーク スキャナー パッケージ」が提供され、こちらに基づく評価指標を定期的に評価・モニタリングすることができます。詳細は以下の記事をご覧ください。

May 17, 2024 — Document AI Release Notes

Document AI がパブリックプレビュー

Snowflake 独自の大規模言語モデル (LLM) である Snowflake Arctic-TILT (Text Image Layout Transformer) が搭載された Document AI がプレビューとなりました。Document AI は、請求書や契約書などのドキュメントからの情報抽出に利用できます。この機能は以下を除く、AWS および Microsoft Azure 商用リージョンのアカウントで利用できます。

  • AWS アジアパシフィック (シンガポール)
  • AWS アジアパシフィック(大阪)
  • AWS EU(パリ)

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

May 16, 2024 — Vector data type and vector similarity functions — General Availability

このリリースでは、一部のリージョンでパブリックプレビューとなっていたベクトルデータの管理と操作が可能な以下の機能が一般提供になりました。この機能により Snowflake 上で RAG の構築を行えるようになります。

RAG については以下の記事でも解説されています。
Snowflake Cortexを使用した簡単かつ安全なRAGからLLMへの推論 | Snowflake BLOG

EMBED_TEXT_768 関数など上記の各機能を使用した RAG の実装はハンズオンも用意されています。

May 14, 2024 — Snowsight Release Notes

Snowsight でのタスクの編集がプレビュー

Snowsight 上で、既存のタスクに関する以下の項目を編集できるようになりました。

  • コメント
  • スケジュール
  • コンピューティングの種類とウェアハウス
  • タスクパラメータ
  • タスクグラフパラメータ

パラメータとしては下図の項目を編集できます。

May 14, 2024 — Streamlit in Snowflake Release Notes

Streamlit in Snowflake: Support for GCP

これまでプレビュー機能として提供されていた、Google Cloud Platform 上の Streamlit in Snowflake が一般提供となりました。

May 14, 2024 — Snowflake Data Clean Rooms Release Notes

Tracing user activity が一般提供

Snowflake Data Clean Room Web アプリで実行されたすべてのアクティビティは、クリーン ルーム環境に関連付けられた Snowflake アカウントのクエリ履歴に記録されます。この際、管理者はuser_emailクエリ タグを使用することで、どのクリーン ルーム ユーザーがアクションを実行したかを識別できるようになりました。

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

May 13-15, 2024 — 8.19 Release Notes

Serverless alerts がプレビュー

Serverless alerts として、サーバーレス コンピューティング モデルを使用するアラートを構成できるようになりました。具体的には、アラート作成時に WAREHOUSE パラメーターを省略することで、サーバレスアラートとして構成されます。他のサーバーレス機能 (サーバーレス タスクなど) と同様に、アラートに必要なコンピューティング リソースのサイズとスケールは、Snowflake 側で自動的に変更されます。詳細は以下をご参照ください。

Tri-Secret Secure のセルフ登録

Business Critical 以上のエディションで利用可能な Tri-Secret Secure の構成手順の一部をユーザー側で実施できるようになりました。セルフ登録の手順は以下に記載があります。Snowflake アカウントと CMK 間の接続を確認後、サポートに問い合わせることで、登録した CMK に基づく Tri-Secret Secure を使用できるようになります。

May 08, 2024 — Snowflake Notifications Release Notes

通知を送信する際に使用できる SYSTEM$SEND_SNOWFLAKE_NOTIFICATION ストアド プロシージャを利用できるようになりました。SYSTEM$SEND_SNOWFLAKE_NOTIFICATION では複数の通知統合を指定し、異なる複数の宛先にメッセージを送信できます。
Using SYSTEM$SEND_SNOWFLAKE_NOTIFICATION to send notifications to email addresses and cloud provider queues | Snowflake Documentation

SYSTEM$SEND_EMAIL との違いは以下の記事で紹介されていますので、あわせてご参照ください。

May 08, 2024 — New model for vector embedding — Preview

Snowflake Cortex LLM ベース関数の vector embedding 関数で使用できる新しいモデルとして Snowflake によりトレーニングされた snowflake-arctic-embed-m の提供が開始されました。
このモデルについては、以下の記事で詳しく紹介されています。
Snowflake Launches the World’s Best Practical Text-Embedding Model for Retrieval Use Cases | Snowflake BLOG

May 07, 2024 — Cortex LLM Functions — General Availability

すでにパブリックプレビューとして提供されていたリージョンにおいて、以下の Snowflake Cortex LLM ベースの関数が一般提供となりました。

  • COMPLETE
  • EXTRACT_ANSWER
  • SENTIMENT
  • SUMMARIZE
  • TRANSLATE

これらの LLM 関数を使用することで Snowflake が開発した Snowflake Arctic を含む、大規模言語モデル (LLM) に SQL ベースですぐにアクセスできます。
各 LLM 関数については以下の記事で詳細が紹介されていますので、ぜひご覧ください。

May 03, 2024 — Snowflake Model Registry – General Availability

Snowflake Model Registry は、Snowpark ML で使用できる API の一つで Snowflake 内のモデルとそのメタデータを管理する際に使用できます。

本機能の特徴については以下の記事で詳しく紹介されていますので、あわせてご覧ください。

May 03, 2024 — Aggregation and Projection Policies Release Notes

データ保護に関する集約ポリシーと投影ポリシーが一般提供となりました。集計ポリシーがテーブルに適用されると、そのテーブルに対するクエリは集計が必須となります。投影ポリシーでは、SQL クエリ結果の出力に列を表示できるかどうかを定義します。
それぞれ詳細は以下をご参照ください。

Behavior Change Log

2024_04 バンドルが提供開始 ※デフォルトは無効化

8.17(2024/4/30 - 2024/5/7 リリース)で、2024_04 バンドルが提供開始となりました。先に挙動を確かめたい場合には手動でバンドルを有効化してテスト可能です。
このバンドルは、2024年6月のリリースでデフォルトで有効化される予定となっています。

2024_03 バンドルがデフォルトで有効化

8.17(2024/4/30 - 2024/5/7 リリース)で、2024_03 バンドルがデフォルトで有効化されました。このバンドルは、2024年6月のリリースで一般的に有効化される予定となっています。

2024_02 バンドルが一般的に有効化

8.17(2024/4/30 - 2024/5/7 リリース)で、2024_02 バンドルが一般的に有効化されました。

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

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