Agile育成ブログ
未来を変える喜びを
未分類

snowflakeの本気:クラウドサービスレイヤー

1. クラウドサービスレイヤーの立ち位置

Snowflakeの全体像の中で、このレイヤーは常に最前面で動作しています。

  1. クラウドサービスレイヤー(脳):リクエストの受付・管理・最適化
  2. クエリ処理レイヤー(筋肉):仮想ウェアハウスによる実際の計算
  3. データベースストレージ(胃袋):データの保管

2. 主な役割(何をしているのか?)

このレイヤーが担当している仕事は多岐にわたります。主なものは以下の5つです。

  • 認証とアクセス制御: 「誰がログインしてきたか」「その人はこのテーブルを見る権限があるか」をチェックします。
  • クエリの解析と最適化(オプティマイザ): 投げられたSQLを解析し、「どうすれば一番速くデータを取れるか」という実行計画を立てます。
  • メタデータ管理: ここが最も重要です。 どのマイクロパーティションにどんなデータが入っているか(最小値・最大値など)の統計情報を管理しています。
  • インフラ管理: 仮想ウェアハウスの起動・停止や、リソースの割り当てを自動で調整します。
  • セキュリティ: データの暗号化キーの管理や、通信の保護を行います。

3. なぜ「脳」が重要なのか?(メリット)

① クエリ・プルーニング(読み飛ばし)の実現

以前説明した「マイクロパーティション」の統計情報をこのレイヤーが持っているおかげで、**「このクエリなら、ストレージにある100万個のファイルのうち、この3個だけ読めばいい」**という判断を、実際にウェアハウスを動かす前に行えます。これにより、無駄な計算コスト(お金)を大幅に削減できます。

② 「メンテナンスフリー」の正体

バックアップ、暗号化、統計情報の更新、古いデータの整理(Time Travel)などは、すべてこのレイヤーが裏側で自動的に行っています。ユーザーが ANALYZE TABLE などのコマンドを打つ必要がないのは、このレイヤーが常に働いているからです。

4. コストの仕組み

クラウドサービスレイヤーの利用料金は、仮想ウェアハウス(計算リソース)の利用料金に少しだけ含まれる形になっています。

  • 原則: クラウドサービス自体の利用料は、1日のウェアハウス利用料の10%までなら無料です。
  • 注意: 非常に大量のメタデータ操作(何万回もの小さなインサートなど)を行うと、10%を超えて追加課金されることがありますが、一般的な利用ではほとんど意識する必要はありません。

5. 仮想ウェアハウスとの違い(比較表)

特徴クラウドサービスレイヤー仮想ウェアハウス
役割管理・命令(脳)実行・計算(筋肉)
実体Snowflakeが管理する共有リソースユーザーがサイズを選ぶ計算リソース
起動24時間365日常に稼働必要な時だけ起動(自動停止可能)
主な仕事権限チェック、実行計画作成JOIN、集計、ソートの実行