Snowflake

Snowflake の全体像と、うちのデータで試した機能の地図

Ryosuke Ishii

Snowflake は、データをためて、整えて、分析し、AI にも使わせるためのクラウドのサービスです。自社の環境で、一番飯店の注文やインスタのデータを使って、いろいろな機能を試してきました。この記事では、Snowflake がどんな考え方で作られていて、どんな機能があるのかを1枚の地図にまとめます。詳しく知りたい機能は、それぞれの記事へ進んでください。

Snowflake でできること。目的ごとの6つの機能と、試した記事
Snowflake でできること。目的ごとの6つの機能と、試した記事

Snowflake の考え方

Snowflake の考え方で一番大事なのは、「データを置く場所」と「計算する力」を分けていることです。

  • データを置く場所(ストレージ):データは1か所にまとめて置く。AWS・Azure・Google Cloud のどれかの上で動く
  • 計算する力(ウェアハウス):SQL を流すときだけ動かす計算の固まり。大きさを選べて、使わないときは自動で止まる
  • 使った分だけ払う:費用は主に、ウェアハウスが動いた時間と、置いているデータの量で決まる
Snowflake のしくみ。データを置く場所は1つ、計算する力は用途ごとに分けて使うときだけ動かす
Snowflake のしくみ。データを置く場所は1つ、計算する力は用途ごとに分けて使うときだけ動かす

データを置く場所と計算する力が分かれているので、同じデータを、別々のウェアハウスで同時に使っても取り合いになりません。使わなければ計算の費用はほとんどかからないので、「止めても解約せずに残す」という使い方もできます(→ 使わなくなった Snowflake を、解約せずに残す判断)。

操作はすべて SQL でできます。画面(Snowsight)からも、プログラムからも、AI からも、同じ SQL で動かせます。

データの置き方

データは、次の入れ子で置きます。

  • アカウント:会社ごとの Snowflake の入れ物
  • データベース → スキーマ:フォルダのような区切り。用途ごとに分ける
  • 表・ビュー・その他:表やビューのほか、自動で作り直す表、画面(Streamlit)、AI のエージェントなども、同じスキーマの中に並ぶ
Snowsight のカタログ。1つのスキーマの中に、表・ビュー・動的テーブル・エージェント・検索サービスが並ぶ
Snowsight のカタログ。1つのスキーマの中に、表・ビュー・動的テーブル・エージェント・検索サービスが並ぶ

上の画面は、今回の試験用に作ったスキーマです。表やビューと同じ並びに、動的テーブル(Dynamic Table)、エージェント、Cortex 検索サービスが入っています。Snowflake では、AI の機能も「スキーマの中のもの」として、同じ権限の仕組みで管理します。

誰が何をできるかは、ロール(役) で決めます。利用者にロールを渡し、ロールに「このスキーマを読める」「この表を作れる」といった権限を渡します(→ Claude に Snowflake を触らせるとき、守りは設定ファイルではなくロールで決める)。

機能の地図

試した機能を、目的ごとに分けました。止めたあとの確かめ方と残し方は、上の「考え方」と下の「動かすときの考え方」に入れています。

1. 集計の決まりを持たせる

機能できること試した記事
セマンティックビュー指標の計算式・月の区切り・目標の判定を、表の上に1か所で書いておくSnowflake のセマンティックビューで、集計の決まりを AI に渡す

AI や BI がその場で集計を書くと、人や道具によって数字が変わります。決まりをセマンティックビューに書いておけば、どこから聞いても同じ式で計算されます。ここから先の AI の機能は、この決まりを使います。

2. 日本語で聞く・探す

機能できること試した記事
Cortex Analyst日本語の質問から SQL を作って答える。セマンティックビューの決まりに従うCortex Analyst に日本語で聞くと、セマンティックビューの有無で答えが変わる
Cortex Search文章を、言葉の一致ではなく意味で探すインスタの数字と投稿文の両方に、Cortex Agent で答える
Cortex Agent質問に合わせて、数字の道具と文章の道具を使い分ける同上

3. 予測する

機能できること試した記事
予測の関数(FORECAST)SQL だけで、時系列の予測モデルを作って予測する。天気などの説明の列も足せるSnowflake の予測機能で売上を予測したら、自前のモデルより当たった
Snowflake の中の PythonLightGBM などを Snowflake の中で動かす。手元に何も入れなくてよい同上
Marketplace祝日などの外のデータを、取得してそのまま表として使う同上

4. 画面を作る・自動で回す

機能できること試した記事
Streamlit in Snowflakeデータを外に出さずに、Python で画面を作るStreamlit in Snowflake で、セマンティックビューから月次画面を作る
Dynamic Table集計を決めた間隔で自動で作り直すインスタの数字と投稿文の両方に、Cortex Agent で答える
タスク決まった時刻に SQL を動かすSnowflake への書き込みを止めたことを、どう確かめるか

5. AI に触らせる・守る

機能できること試した記事
ロールと利用者読むだけの役で入る利用者を作り、AI の接続に使うClaude に Snowflake を触らせるとき、守りは設定ファイルではなくロールで決める
MCP サーバーSnowflake の中に AI 向けの入口を作る。SQL 実行は読むだけAI から Snowflake を触る3つの道を比べる
クエリ履歴誰が何を流したかを、あとから画面で追う同上

動かすときの考え方

試してきて、どの機能にも共通して大事だと感じたことが3つあります。

  • 決まりは1か所に書く:集計の決まりはセマンティックビューに書き、画面も AI もそこを読む。画面と AI の答えが食い違わない
  • 権限はロールで絞る:AI の接続は読むだけの役で入る。作る・消す権限は、人が画面で渡す
  • 止めたこと・試したことを記録する:止めたあとも、試験をすると最終更新の時刻や使用量が動く。何をしたかを書いておくと、あとで取り違えない

まとめ

  • Snowflake は、データを置く場所と計算する力を分けたクラウドのサービス。使った分だけ払い、操作はすべて SQL でできる
  • 表やビューと同じ並びで、AI のエージェントや検索、画面、自動で作り直す表まで、1つのスキーマの中で同じ権限の仕組みで扱える
  • AI の機能を使うときは、まず集計の決まり(セマンティックビュー)と、入る役(ロール)を決めておく
ABOUT ME
石井 亮介(りょうさん)
石井 亮介(りょうさん)
データパレード 代表取締役
㈱データパレードの代表取締役で、高田馬場の町中華「一番飯店」のChief Data Officerも務めています。BIツールのセールスエンジニア・システムエンジニア・カスタマーサクセス歴15年。大学のデータサイエンス教育で講師も担当してきました。現在は自社業務のほとんどをAIに移管し、AI10部署と50を超える自動処理が24時間動く「AI経営」を実践中。その実践知をこのブログで発信しています。
記事URLをコピーしました