はじめに
以下の記事の続きです。
■Part 1
■Part 2
このシリーズの制約
執筆(記事のたたきを含む)やまとめに生成AIは利用しません。
ただし、筆者が内容を理解するために生成AIを用いることがあります。
(まぁ普段から執筆に生成AIを使っていませんが……)
免責事項
本記事は執筆時点での情報をもとにまとめています。
そのため、読者の方が閲覧されるタイミングでは内容が変更されている可能性があります。
記事の内容と公式ドキュメントの記載に差異がある場合、または解釈にずれがある場合は、公式ドキュメントの記載を正とします。
今回読むドキュメント
【対象】
Get started for users
- Snowsight tour
※Tutorial: Snowflake in 20 minutesは飛ばします
Snowsightのクイックツアー
Snowsightは様々な操作がWeb上で行えるUIです。
Snowsightを利用することで以下のタスクを実行することができます。
-
データの操作
- SQLやPythonなどの複数のファイルをワークスペースという作業領域で管理し、Snowflake環境の構築・データの操作に利用することができます。
- Snowpipe、コネクタ、タスク、およびストリームを使用して、データをインジェスト(取り込んで利用可能な状態にすること)および変換することができます。
- Snowflake Cortex関数、エージェント、およびMLモデルを使用してAIでデータを操作します。
- クエリ履歴、タスクグラフ、データロードなどのアクティビティをモニターすることができます。
- Snowflake Marketplaceでデータを発見し、使用することができます。
- SQLやPythonなどの複数のファイルをワークスペースという作業領域で管理し、Snowflake環境の構築・データの操作に利用することができます。
-
Horizon Catalogを詳しく見る
-
アカウントを管理する
- ウェアハウスやコンピューティングプールなどのコンピューティングリソースを最適化できます。
- ユーザー、ロール、およびアクセス制御を管理できます。
- 予算およびコスト管理ビューでコストを監視および制御することができます。
- Snowflake内のPostgresインスタンスを管理することができます。
上記以外にも、実行できるタスクもありますが、それはSnowsightのドキュメントを参照したときに解説します。
- ウェアハウスやコンピューティングプールなどのコンピューティングリソースを最適化できます。
データを扱う
ワークスペース
Snowsightではワークスペースという作業スペースを使ってSQLの実行などを行います。
ワークスペース内にはいろいろなファイルを格納することができます。


また、追加の設定が必要ですが、Gitと統合することも可能です。
ワークスペースのノートブック
ワークスペース上でノートブックを作成すると、Jupyterの互換性があるノートブックを利用することができます。
ノートブックでは、SQL、Python、Markdownをセルという単位で記載することができます。
以下の画像は1つのノートブック内に記載した例です。

Streamlit
SnowflakeではStream in Snowflake(SiS)といって、Snowflake内でStreamlitのアプリケーションをホストすることが可能です。
以下はアプリ作成後のサンプルコードで実行された状態ですが、Streamlitを使うことで簡単なアプリケーションやダッシュボードの作成などが簡単に行えます。

dbtプロジェクト
dbtプロジェクトはGitリポジトリに接続して同期できるdbtプロジェクト用にウェブベースの統合開発環境(IDE)を提供する機能です。
SQLベースのデータ変換パイプラインをSnowflake内で直接ビルド、テスト、実行ができます。
インジェスチョン
継続的なインジェスチョン用のSnowpipe、各種データソースコネクタ、およびUIによるファイルアップロードを利用して、Snowflakeにデータを取り込むことができます。
変換
データの変換には、前述したdbtを用いた変換や、継続的に更新されるマテリアライズドビュー、ダイナミックテーブル、変換ワークフローをスケジュールするタスクなどを使用することができます。
AI&ML
AI StudioでAI駆動型アプリケーションを構築したり、Snowflake Intelligenceを使ってデータを対話形式で操作したり、Cortex AI関数を利用してテキスト分析やLLM機能を利用することができます。

AIを活用した機能は様々な種類があります。
| 利用ケース | 機能名 |
|---|---|
| 自然言語でのやり取り | Cortex Agents |
| データ分析 | Cortex Alalyst |
| ベクトル類似性検索 | Cortex Search |
| AIコーディング支援 | Cortec Code |
モニタリング
Snowflakeではクエリのパフォーマンスや、実行結果など、アクティビティなどシステム全体に関わる部分の監視をサポートしています。
パフォーマンスエクスプローラーという画面で、簡単に失敗したクエリなどを追跡することができます。

クエリ履歴の画面では、失敗したクエリ以外にもクエリの実行結果や、パフォーマンスに関する情報が確認できます。

Marketplace
Marketplaceは、データ製品の共有場所です。
データ製品といっても、アプリケーションパッケージであったり、データそのものであったりと公開されている情報は多岐にわたります。

Horizon Catalogを詳しく見る
カタログ
前述したユニバーサル検索とHorizonカタログを用いることで、データ資産全体のオブジェクトを検出することができます。
Horizonカタログは、Snowsight上のデータベースエクスプローラーや、データ共有で共有されたオブジェクト、それ以外のオブジェクトなどを検出し、統合管理するデータカタログ機能です。
特に登録や、更新などの操作は必要ないので、ユーザーが運用を意識することは必要ありません。

データ共有
前述したMarketplaceとは違い、特定の組織やアカウントに対してデータやパッケージを公開する手法です。
内部共有を選択してリストを選択することで、データの共有リストを作成することができます。



作成されたリストにデータ製品を登録することで共有が作成できます。

外部共有では、指定したコンシューマーに共有というオプションと直接共有というオプションの2つが存在します。
それぞれ、特徴が違いますが、簡単に共有したい場合は直接共有を利用します。
直接共有の場合は、同一のクラウドサービスプロバイダーや同一のリージョンでないと共有できないといった制約が存在します。

ガバナンスとセキュリティ
Snowflakeにはデータガバナンスを保証する様々な機能があります。
機密情報を保護するために、行レベルマスキングポリシー、列レベルマスキングポリシー、タグベースのマスキングポリシーなど様々なマスキングポリシーを駆使してデータを保護することができます。
さらに、ユーザーとロールでRBAC(ロールベースのアクセスコントロール)やUBAC(ユーザーベースのアクセスコントール)など、様々なアクセス制御方式を採用しています。
柔軟なアクセスコントールのおかげで、使い方次第では、大規模から小規模まであらゆる規模のシステムでアクセスコントロールをしつつ、運用負荷も軽減することが可能です。
また、全体に関わるアカウントセキュリティはTrust Centerという機能で監視・評価をすることができ継続的な運用改善、セキュリティ保護につなげることができます。
アカウントを管理する
コンピュート
Snowflakeで利用する仮想ウェアハウスや、コンテナベースのコンピューティングプールは、Snowsight上で管理することができます。


各ウェアハウスで実行されたクエリなども確認することができます。

Postgres
Snowflakeは保管や分析用途、データ活用に用いられることが多いため、OLAP(オンライン分析処理)用のプラットフォームだと思う方も多いですが、OLTP(オンライントランザクション処理)用にPostgreSQLを使うことができます。
Snowsightでは、作成したインスタンスを管理することができます。
管理者
管理者画面では、コストに関する情報の確認や設定、請求情報の確認・設定が可能です。
他にもデータ共有や複製時に利用するアカウントの管理なども可能です。
また、統合(INTEGRATION)では、Snowflake内で作成したインテグレーション設定の管理も行えます。
他にもPartner Connectでは、Snowflakeのビジネスパートナーが展開しているサードパーティツールを利用することができます。
実際の利用の際は、ビジネスパートナーを選択して、トライアルアカウントを作成する必要があります。
ここでいうトライアルアカウントは、Snowflakeの利用を始める際に作成できるトライアルアカウントとは異なり、Snowflakeビジネスパートナー側の話になります。

ユーザーメニュー
ユーザーメニューはSnowsightの左下にあるユーザー名とロールが表示されている個所を選択すると確認できます。
ここでは、ロールの切り替えや、アカウント情報の確認、その他の設定など様々な操作ができます。

おわりに
今回はSnowsightツアーのドキュメントを確認しました。
SnowsightはSnowflakeを触る以上、常に確認するといっても過言ではないくらいコアの機能なので、何ができるのかは押さえておきたいと思います。



