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

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

データを置く場所と計算する力が分かれているので、同じデータを、別々のウェアハウスで同時に使っても取り合いになりません。使わなければ計算の費用はほとんどかからないので、「止めても解約せずに残す」という使い方もできます(→ 使わなくなった Snowflake を、解約せずに残す判断)。
操作はすべて SQL でできます。画面(Snowsight)からも、プログラムからも、AI からも、同じ SQL で動かせます。
データの置き方
データは、次の入れ子で置きます。
- アカウント:会社ごとの Snowflake の入れ物
- データベース → スキーマ:フォルダのような区切り。用途ごとに分ける
- 表・ビュー・その他:表やビューのほか、自動で作り直す表、画面(Streamlit)、AI のエージェントなども、同じスキーマの中に並ぶ

上の画面は、今回の試験用に作ったスキーマです。表やビューと同じ並びに、動的テーブル(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 の中の Python | LightGBM などを 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 の機能を使うときは、まず集計の決まり(セマンティックビュー)と、入る役(ロール)を決めておく

