2024年7月にリリースされたSnowflakeの新機能・変更点のまとめ #SnowflakeDB
2024年7月にリリースされたSnowflakeの新機能・変更点のまとめ記事になります。
※注意事項:本記事ではすべての情報についての記述はせず、特筆すべきだと感じた情報だけピックしております。基本的には以下の情報を参考にしておりますので、全ての最新情報を確認したい場合は下記のURLからご確認ください。
July 30, 2024 — Snowsight Release Notes
Cortex Fine-tuning –— Preview
Snowsight から大規模言語モデル(LLM)を微調整できる Cortex Fine-tuning が以下のリージョンでパブリックプレビューとなりました。
- AWS US West 2 (Oregon)
- AWS US East 1 (N. Virginia)
- AWS Europe Central 1 (Frankfurt)
ファインチューニングされたモデルは、COMPLETE 関数から呼び出すことが可能です。
詳細は以下をご参照ください。
July 29, 2024 — Snowsight Release Notes
Default warehouse for Notebooks workloads — Public Preview
SYSTEM$STREAMLIT_NOTEBOOK_WH という名称の Notebook を実行するための Snowflake 管理のウェアハウスが各アカウントにプロビジョニングされることが発表されました。このウェアハウスは、Notebook ジョブの実行にのみ使用されるため、リソースの断片化を減少させ、効率的なリソースの割り当ての実現が期待できます。
デフォルトでは、このウェアハウスに対する USAGE 権限は PUBLIC ロールに付与されます。
July 29-August 01, 2024 — 8.28 Release Notes
Data Quality and data metric functions (DMFs) — General Availability
Data Quality and data metric functions が一般提供となりました。これらの機能により、テーブルデータの品質調査やその定期的なチェックが可能となります。
DMF には、テーブルカラムのデータ鮮度、重複、NULL やユニーク数を返す事前定義済みの システムDMF や正規表現等を使用した独自のロジックを含む カスタムDMF を作成し使用できます。
Iceberg tables: Support for Polaris Catalog — Preview
Snowflake 管理の Iceberg Table で Polaris Catalog のサポートがパブリックプレビューとなりました。
Polaris Catalog は Snowflake Summit 2024 で発表された Apache Iceberg 向けのオープンソースカタログ実装です。
Iceberg 自体、オープンであるにもかかわらず Iceberg Catalog と Compute Engine との間で相互依存するために制約があることが課題となっていました。Polaris Catalog は Iceberg のオープンソースである REST プロトコルを使用することで、Apache Flink、Apache Spark、Dremio、Python、Trino などの Iceberg REST API をサポートする任意のエンジンからユーザーがデータにアクセスできるオープンスタンダードを提供し、ベンダーロックインに伴う潜在的なリスクの軽減が期待されます。
このリリースで Polaris カタログ統合を使用することができるようになり、Snowflake を使用して Polaris Catalog 内のテーブルにクエリしたり、Snowflake 管理の Iceberg テーブルを Polaris Catalog と同期することが可能となります。
詳細は以下をご参照ください。
July 25, 2024 — New AI21 model available in Snowflake Cortex AI
AI21 Labs の大規模言語モデルであるjamba-instruct
が Snowflake Cortex AI で利用可能になりました。利用可能な Cortex LLM 関数・リージョンは以下をご参照ください。
July 25, 2024 — Cortex Search — Preview
LLM を活用した検索拡張生成(RAG)を簡単に構築できる機能である Cortex Search がパブリックプレビューとなりました。
現時点では以下のリージョンで利用可能です。
- AWS US West 2 (Oregon)
- AWS US East 1 (N. Virginia)
- AWS Europe Central 1 (Frankfurt)
- Azure East US 2 (Virginia)
- Azure West Europe (Netherlands)
詳細は以下をご参照ください。
以下でも本機能について紹介されていますので、ぜひご覧ください。
July 24, 2024 — Cortex Guard for Snowflake Cortex AI — General Availability
COMPLETE 関数による出力がアプリケーションに返される前に言語モデルの応答を評価することで暴力犯罪、憎悪、性的コンテンツ、自傷行為などに関連する可能性のある言語モデルの応答が自動的にフィルタリングされる Cortex Guard が一般提供となりました。
Cortex Guard は現在、Meta の Llama Guard 2 を使用して構築されています。以下の記事でこの機能の動作が具体的な例とあわせて解説されていますので、あわせてご参照ください。
July 24, 2024 — Document AI release notes
Document AI model build から、トレーニングに使用されなかったドキュメントを削除できるようになりました。
詳細は以下をご参照ください。
July 23, 2024 — New Meta AI models available in Snowflake Cortex AI
Meta 社の LLM である Llama 3.1 コレクションファミリー(llama3.1–8b
,llama3.1–70b
,llama3.1–405b
)が Snowflake Cortex AI で利用可能になりました。モデルの概要については以下に詳しく記載があります。
こちらについても利用可能な Cortex LLM 関数・リージョンは以下をご参照ください。
July 22-25, 2024 — 8.27 Release Notes (with behavior changes)
Support for sending webhook notifications to Slack, Microsoft Teams, and PagerDuty
以下のシステムに対する Webhook 通知がサポートされました。
- Slack
- Microsoft Teams
- PagerDuty
通知統合作成時にTYPE = WEBHOOK
としWEBHOOK_URL
を指定することで Webhook 用の通知統合を作成することができます。
また SANITIZE_WEBHOOK_CONTENT 関数と SYSTEM$SEND_SNOWFLAKE_NOTIFICATION ストアド プロシージャを組み合わせることで、サニタイズされた通知の送信が可能となります。
詳細は以下をご参照ください。
Triggered tasks — General availability
定義されたストリームに新しいデータがある場合にのみタスクを実行できる Triggered task が一般提供となりました。ストリームにデータがあり、タスクの実行をトリガーするまでコンピューティング リソースを使用しないためコストも抑えられます。
詳細は以下をご参照ください。
GET_DDL function: Support for warehouses
指定されたオブジェクトを再作成するために使用できる DDL ステートメントを返す GET_DDL 関数がウェアハウスに対しても使用できるようになりました。
以下のように使用することで DDL 文を取得できます。
SELECT GET_DDL('WAREHOUSE', '<ウェアハウス名>');
出力は以下のようになり、作成時に指定していないパラメータがある場合でもデフォルト値が返されます。
create or replace warehouse CORTEX_WH
with
warehouse_type='STANDARD'
warehouse_size='Medium'
max_cluster_count=1
min_cluster_count=1
scaling_policy=STANDARD
auto_suspend=60
auto_resume=TRUE
initially_suspended=FALSE
enable_query_acceleration=FALSE
query_acceleration_max_scale_factor=8
max_concurrency_level=8
statement_queued_timeout_in_seconds=0
statement_timeout_in_seconds=172800
;
Custom Data Classification — General availability
ユーザー側でデータの値やカラム名のパターンに応じて正規表現での分類が可能なカスタム分類が一般提供となりました。
以下の記事では、カスタム分類の実際の手順がわかりやすく紹介されていますので、あわせてご参照ください。
Snowflake における分類機能については以下で詳しく紹介されていますので、こちらもご参照ください。
Data Classification of tables in a schema with Snowsight — General availability
Snowsight 上から分類を実行できる機能が一般提供となりました。
Snowsight 上から分類を行う際は「Data > Databases」から任意のスキーマを選択しメニューの「Classify and Tag Sensitive Data」をクリックします。
分類対象のテーブルと自動タグ付け、カスタム分類子を含めるかを選択可能です。
分類が完了するとテーブルカラムごとに推奨されるタグを確認できるので、必要に応じて修正を行い、分類を完了します。自動タグ付けを有効化していた場合、ここで分類されたタグが自動的に付与されます。
詳細は以下をご参照ください。
July 19, 2024 — CORTEX_FUNCTIONS_USAGE_HISTORY view — General Availability
COMPLETE や TRANSLATE などのCortex 関数 の使用履歴や履歴ごとに請求されるトークンやトークンクレジットを確認できる CORTEX_FUNCTIONS_USAGE_HISTORY ビュー が利用できるようになりました。このビューでは、過去 365 日間(1 年間)のアカウントの最新のクレジット使用状況を以下のように確認できます。
現時点の注意点として以下があります。
- 最近追加されたモデルを使用する関数の使用状況情報が含まれない場合があります
- 新しいモデルがこのビューに含まれるまでには、最大 2 週間かかる場合があります
July 17, 2024 — Snowsight Release Notes
Network rules and network policies –— Generally available
Snowsight 上からネットワークポリシーとネットワークルールを作成できる機能が一般提供となりました。Snowsight 上からネットワークポリシーを定義する場合は、ネットワークルールの使用が必須となります。
それぞれの Snowsight 上からの手順は以下をご参照ください。
July 15, 2024 — Snowflake Copilot — Generally available
LLM を利用したアシスタントである Snowflake Copilot が以下の一部リージョンで一般提供となりました。
- AWS us-east-1
- AWS us-west-2
- AWS eu-central-1
Snowflake Copilot の使用方法については以下をご参照ください。
July 15-17, 2024 — 8.26 Release Notes
Estimate the cost of Automatic Clustering — Preview
テーブルに対する自動クラスタリングのコストを見積もる新しいシステム関数として SYSTEM$ESTIMATE_AUTOMATIC_CLUSTERING_COSTS
の利用がパブリックプレビューとなりました。
以下は公式ドキュメント記載のコードを引用したものですが、テーブルとクラスタリングキーとして使用したいカラムを指定することでその有効化や維持にかかるコストを見積ることが可能です。
SELECT SYSTEM$ESTIMATE_AUTOMATIC_CLUSTERING_COSTS('myTable', '(tenantId)');
{
"reportTime": "Fri, 12 Jul 2024 01:06:18 GMT",
"clusteringKey": "LINEAR(tenantId)",
"initial": {
"unit": "Credits",
"value": 98.197987412,
"comment": "Total upper bound of one time cost"
},
"maintenance": {
"unit": "Credits",
"value": 10.0,
"comment": "Daily maintenance cost estimate provided based on DML history from the past 7 day(s)."
}
}
New TYPE property for USER —— General availability
ユーザーの新しいプロパティとしてTYPE
の指定が一般提供となりました。
これにより、通常のユーザーからの利用を想定したものやサービスアカウントとしての使用を想定するユーザーを区別することが可能となります。タイプとしてSERVICE
を設定するとそのユーザーに対するパスワード設定も不可となり、より安全性を高めることにつながります。
詳細は以下をご参照ください。
July 11, 2024 — Snowflake connectors
アカウント内で使用できる以下のコネクタがパブリックプレビューとなりました。
- Snowflake Connector for PostgreSQL
- Snowflake Connector for MySQL
コネクタは Snowflake ネイティブアプリとして提供されています。これによりそれぞれの RDBMS からのデータロードが可能となります。アカウントへのコネクタのインストール後は、構成のためにはエージェントを含む Docker コンテナの設定、実行が必要です。
チュートリアルやデモ動画も公開されているので、こちらもご覧ください。
July 03, 2024 — External network access in Streamlit in Snowflake –— General Availability
Streamlit in Snowflake からの外部ネットワークアクセスの使用が一般提供となりました。
以下のように Streamlit アプリが外部アクセス統合を使用できるようにEXTERNAL_ACCESS_INTEGRATIONS
プロパティに統合オブジェクトを指定することで、Streamlit アプリコードから、外部 API を呼び出せます。
--CREATE STREAMLITコマンド実行時の指定も可能
ALTER STREAMLIT streamlit_db.streamlit_schema.streamlit_app
SET EXTERNAL_ACCESS_INTEGRATIONS = (openai_access_int)
SECRETS = ('my_openai_key' = streamlit_db.streamlit_schema.openai_key);
詳細は以下をご参照ください。
July 03, 2024 — Data pipelines: Support for Iceberg tables with dynamic tables and streams –— Preview
Snowflake 管理の Iceberg Table を使用した Dynamic Table 向けの以下の 2 つの機能がパブリックプレビューとなりました。
- Snowflake 管理の Iceberg Table をソースとする Dynamic Table の作成
- 通常のように CREATE DYNAMIC TABLE で Iceberg Table をソースとして作成できます
- Dynamic Iceberg Table の作成
- CREATE DYNAMIC ICEBERG TABLE を使用することでクエリ結果を Snowflake 管理の Iceberg テーブルとして保存できます
詳細は以下をご参照ください。
July 02, 2024 — Snowsight Release Notes
Snowflake Notebooks external access —– Preview
Snowflake Notebook からの外部ネットワークアクセスの使用がパブリックプレビューとなりました。外部アクセス統合を作成後、Notebook の設定から統合オブジェクトを指定することで有効化可能です。
詳細は以下をご参照ください。
July 01-03, 2024 — 8.24 Release Notes
Trust Center: CIS Benchmarks scanner package — General availability
Snowflake Trust Center で使用できる CIS ベンチマーク スキャナー パッケージが一般提供となりました。Snowflake Trust Center とこのスキャナーパッケージについては以下をご参照ください。
Authentication policies: New multi-factor authentication parameters
認証ポリシーで MFA に関するパラメータを新たに指定できるようになりました。
- MFA_AUTHENTICATION_METHODS
SAML
とPASSWORD
のいずれかまたは両方を指定可能で、ここでリストされた認証方法でのログイン時に多要素認証 (MFA) を強制することができます
- MFA_ENROLLMENT
REQUIRED
またはOPTIONAL
を設定可能でREQUIRED
とした場合、認証ポリシーの適用対象となるユーザーは MFA への登録が強制されます
詳細は以下をご参照ください。
Hybrid tables: Changes to capacity quotas — Preview
Hybrid Table のストレージとリクエストに対するデフォルトの容量制限がデータベースレベルで適用されるようになり、同じアカウント内の異なるデータベースが個別に制限を受けるようになります。また、1つの Snowflake アカウント内で Hybrid Table を含むことができるデータベースの数にも新しい制限が導入されました。
詳細は以下をご確認ください。
July 01, 2024 — Snowsight Release Notes
New homepage for Snowsight —– Preview
Snowsight が以下の内容で更新されてました。
- 新しいナビゲーション メニュー
- 検索
- クイックアクション
- 最近表示したタブ
詳細は以下をご参照ください。
Behavior Change Log
2024_06 バンドルが提供開始 ※デフォルトは無効化
8.27(2024/7/22 - 2024/7/25 リリース)で、2024_06 バンドルが提供開始となりました。先に挙動を確かめたい場合には手動でバンドルを有効化してテスト可能です。
このバンドルは、2024年8月のリリースでデフォルトで有効化される予定となっています。
2024_05 バンドルがデフォルトで有効化
8.27(2024/7/22 - 2024/7/25 リリース)で、2024_05 バンドルがデフォルトで有効化されました。このバンドルは、2024年8月のリリースで一般的に有効化される予定となっています。
2024_04 バンドルが一般的に有効化
8.27(2024/7/22 - 2024/7/25 リリース)で、2024_04 バンドルが一般的に有効化されました。
おまけ:Modern Data Stack全般の最新情報
Snowflakeも含め、Modern Data Stack 全般の最新情報についても、定期的にブログにまとめて投稿されています!こちらもぜひご覧ください。