🙆‍♀️

SnowflakeのAUTO_SUSPENDは60で良いというお話

2022/06/15に公開

前置き

こんにちは。株式会社GENDAのこみぃです。

今日のお話は以前書いた以下の記事の続きになります。
https://zenn.dev/kommy339/articles/6e7f3ecedfb7c5

COMPUTEという概念

Snowflakeではユーザーからアクセスがあるとクエリを処理するためにCOMPUTEが起動します。

このCOMPUTEの起動時間がsnowflakeの主な料金になります

なので、COMPUTEの概念を理解して仕様を把握しておくことが費用の節約に繋がります。

AUTO_SUSPEND

ユーザーからのアクセスが一定時間ないと、COMPUTEは自動で停止されます。
これにより起動しっぱなしで費用を浪費するという自体を防いでくれるわけですね。

この一定時間の部分を設定するのが AUTO_SUSPEND という設定値です。

AUTO_SUSPENDは60でOK

さて、このAUTO_SUSPENDですが、デフォルトは600秒、つまり10分に設定されています。
当然疑問が湧いてきます。 はたして10分も必要なのか?

前回の記事では120秒にしていて、徐々に短くしていって様子を見ていると書きました。

結論としては60秒に縮めた現在で特に問題が起きていません。
仕様上60以下にすることには意味がないので、ミニマムの値ということになります。

今から設定する方は60に設定することをおすすめします。

alter_compute
alter warehouse {compute_warehouse_name} set AUTO_SUSPEND=60;

snowflakeのCOMPUTEはAWSのTokyoリージョンだと最小サイズでも1時間2.85ドル(2022年6月現在)かかります。
円安が大変な昨今(2022年6月現在)だからこそ、しっかり費用を抑えていきたいですね。

結びの言葉

こちらも前回の記事で書きましたが、データ基盤は何かと金食い虫扱いされがちですので、余計な費用を抑えるためのTipsはしっかり把握しておきましょう。

さらに詳細が聞きたいという方は、私がわかる範囲であればお答えしますので、Twitterあたりでお気軽にお声がけください。
@kommy_jp

なお、株式会社GENDAでは、一緒に働くデータ関連の人材を絶賛募集中です。
興味がある方は是非お声がけください。
https://genda.jp/

本日はこのあたりで。
それじゃあ、バイバイ!

Discussion