注:本記事は(2022年3月3日)に公開された(Accelerate Legacy EDW Migrations with Snowflake Scripting, Now in Public Preview)を翻訳して公開したものです。

新たな手続き型言語であるSnowflakeスクリプトが、パブリックプレビューで利用開始となることを発表いたします。Snowflakeスクリプトは、SQL言語を条件ステートメントやループステートメントといった構造や制御ステートメントで拡張するため、ユーザーは既存のSQLベースのスクリプトをSQLにあるストアドプロシージャを用いて変換することができます。

ここ数年、多くの組織がデータ中心のワークロードをオンプレミスからクラウドへと移行するようになってきています。このような移行には、新しいテクノロジー、運用方法、精度の必要性など多くの課題があります。レガシーエンタープライズデータウェアハウスは長年の間に成文化され、特に手続き型コードの変換を難しいものとしています。このようなデータベース内にある複雑なアプリケーションコードを移行するために必要な時間やコストは、組織によるクラウド導入の遅延につながり、組織は、資源の制約を受けてデータの本来の価値を活用しきれないということになります。

Snowflakeスクリプトを使用することで、顧客はSQLストアドプロシージャをJavaScriptに変換する必要がなくなります。そのため、組織や各自の選んだ言語への新たなプラットフォームの移行や管理を任された人々がクラウドへの移行をはるかに簡単に実行できるようになります。

888 HoldingsのBIおよびデータプロジェクト担当ヘッドであるOfer Reuveni氏は次のように語っています。「SQLの使用により、アプリケーションがストアドプロシージャからの結果セットを必要とするSnowflakeへの移行において、阻害要因を取り除いてくれます。このソリューションは、私たちにとって必要不可欠なものでした。」

Snowflakeスクリプトにより、ユーザーはSQLステートメントや式を以下と統合できます。

  • IF/ELSE | CASE、およびLOOPS | WHILE | FOR | REPEATを介したフロー制御ステートメント、分岐やループ 
  • 例外処理
  • ローカル変数/ステータスコード変数
  • カーソル
  • ダイナミックSQL 
  • コーラーおよびオーナー(呼び出し元/定義元)のストアドプロシージャに対する権利
  • 安全なストアドプロシージャ

888 HoldingsのBIおよびデータ担当ディレクターであるRoi Assa氏は次のように語っています。「Snowflakeスクリプトの提供開始は、当社にとって大きな意味を持っています。既存のプラットフォームをSnowflakeに移行するために、利用開始されるのを待っていました。アナリストやキャンペーンマネージャーといった当社クライアントの一部は、フローやレポートに従来のSQLプロシージャを使用していたため、こういったSQLプロシージャをSnowflakeスクリプトに変換することで、今まで通りクライアントを維持でき、膨大な時間を節約することができます。さらに当社のユーザーにとっても、JavaScriptで行うよりも簡単に新たなSQLベースプロシージャを作成できるようになりました。」

主な新機能の1つが、Snowflakeスクリプトを使用してテーブルを返すことができる点です。このように、SnowflakeユーザーがSnowflakeスクリプトを使用してETLやデータ処理タスクを開発できるだけでなく、レポートプロシージャの開発や移行も簡素化されます。SnowflakeスクリプトはSnowflakeのSQLと密に統合されており、データシェアリングやマーケットプレイスアプリケーションの構築における使用や共有が可能です。

また当社では、新たなログ機能にも取り組んでいます。将来に向け、今後も当社ユーザーがリッチアプリケーションを開発し共有できるよう、デベロッパーエクスペリエンスやエンタープライズグレードSQLプログラマビリティへの投資を続けていきます。

Snowflakeスクリプトの詳細は、当社のドキュメンテーションサイトをご覧いただき、Snowflakeデータクラウドの提唱者であるFelipe Hoffaが提供する、基本的なSQLスクリプトのサンプルをお試しください

こちらのウェビナーシリーズに申し込むと、レガシーデータウェアハウスの移行に関する詳細をご確認いただけます。