注:本記事は(2021年9月16日)に公開された(Taking Serverless to Task)を翻訳して公開したものです。

Snowflakeでサーバーレスタスク機能のパブリックプレビュー版が提供されることになりました。

Snowflakeのタスク機能を利用すると、ユーザーはSQL文の実行をスケジュール設定できます。過去2年以上にわたり、Snowflakeのタスク機能は多大な成長を遂げてきました。Snowflakeのカスタマーベースや使用量の増大に伴う有機的成長に加え、採用の増加も見られました。これらはすべて、2年間で日々のタスク実行が増えたことの結果です。その理由は、ストアドプロシージャを含むどのSQL文でも簡単にタスクに変換できるところにあります。

しかし、新しいパイプラインを構築する際には必ず、データエンジニアがパイプラインタスクを手動で構成、管理して、ウェアハウスのサイズ、待機ポリシー、待機時間を計算する必要があります。これは時間がかかる難しい作業であり、特に頻繁に実行される短いパイプラインの場合、最適な結果が得られない場合があります。

Snowflakeは、使いやすいプラットフォームを目指して努力しています。この事例の場合、ウェアハウスをオプションにすることで、さらなるシンプル化が可能でした。この作業では、ウェアハウスのサイズを決めてから、次にタスク実行インフラストラクチャによる対応が可能な最大利用率/効率(バッチウィンドウで確認可能)、実行されたクエリの並列実行の程度、および実行の最適化に必要なヒストリカルデータに合わせてサイズを最適化します。これがまさに、サーバーレスタスクの機能です。Snowpipe、テーブル自動クラスタリング、およびデータベースレプリケーション、ウェアハウスの詳細(規模、停止、再開)など、他のサーバーレス機能はすべてSnowflakeが管理するため、ユーザーは実行に関して細部に気を配るのではなく、データを最大限に活用することに集中できます。

新しいタスクの場合、簡単にサーバーレス機能を利用することができます。ただウェアハウスを省いて、オプションで開始サイズを指定します。また、必要に応じて、既存のタスクをサーバーレスモードで実行するよう変更することもできます。さらにタスクを追加する際に、手持ちのウェアハウスでどれだけ多くを実行できるか、またはより大きなウェアハウスを待機させておくかを心配する必要がありません。皆さんもこの新機能を試して、当社のコミュニティサイトで感想をお聞かせください。ハウツーに関する質問や問題については、Stack Overflowで取り上げられている場合がありますのでご確認ください。