【第0回】 Snowflake とは

こちらの記事は、Azure BLOBのデータをSnowflakeに連携しPower BIで可視化するまでの手順を解説する、計4記事に渡るシリーズものの1記事です。

  • 【第0回】 Snowflake とは ★本記事
  • 【第1回】 データベース・スキーマ・テーブル作成
  • 【第2回】 Azure~Snowflake間のデータ連携
  • 【第3回】 テーブルの可視化

Snowflakeとは

SnowflakeはSaaS型のクラウドデータプラットフォームです。サイロ化されているデータの一元管理・統合や分析等、様々なワークロードを単一のプラットフォームで実現可能です。

また、社内外でのデータ共有も可能です。グループ企業・社外パートナーのデータやオープンデータを活用し、データ分析を促進できます。

Snowflakeには以下のような特長があります。

  • AWS・Azure・GCPなどのクラウドサービス上で動作する
  • 独自のSQLデータベースエンジンにより高速なデータ処理を実現
  • クエリに必要なリソースに応じて、ウェアハウス(計算リソース)が自動でスケーリングされるため、複数のユーザーが同時にクエリを実行しても遅延が発生しない
  • データは自動的にマイクロパーティションに分割され、列指向の状態に編成されるため、複雑なチューニングをすることなく、一定のクエリ処理性能を実現
  • フルマネージドサービスのため、運用負荷が軽減される
  • Secure Data Sharing機能によるSnowflakeアカウント間でのデータ共有が可能

Snowflake アーキテクチャ

Snowflakeはストレージ、コンピュート、クラウドサービスの3層のアーキテクチャになっています。

それぞれの層は物理的には分離されていますが、論理的には統合されています。

出典:Snowflake Documentation

ストレージ層

Snowflakeにロードされたデータが保存される層です。

Snowflakeにロードされたデータは自動で圧縮されるため、ストレージコストが最適化されます。

Snowflakeテーブル内のすべてのデータは、連続したストレージ単位であるマイクロパーティションに自動的に分割されます。テーブル内の行のグループは個々のマイクロパーティションにマップされ、列指向の状態に編成されます。この構造により、非常に大きなテーブルに対してもきめ細かなプルーニングが可能になっています。

顧客はSnowflakeに保存されたデータに直接アクセスすることはできず、SQL操作でのみアクセスすることができます。

データのロード/アンロードが可能なクラウドストレージは以下です。

    • Amazon S3
    • Azure Blob
    • Google Cloud Storage

コンピュート層

SQLクエリの実行はコンピュート層で行われます。

Snowflakeでは、仮想ウェアハウスという計算リソースを使用し、クエリを処理します。

各仮想ウェアハウスはクラウドパロバイダーからSnowflakeによって割り当てられたMPPコンピュートクラスタです。

各仮想ウェアハウスは他の仮想ウェアハウスと独立しているため、各仮想ウェアハウスは他の仮想ウェアハウスのパフォーマンスに影響を与えません。

クラウドサービス層

クラウドサービス層は、Snowflake全体のアクティビティを調整するサービスのコレクションになっています。

クラウドサービス層で管理されるサービスは以下です。

  • 認証
  • インフラストラクチャ管理
  • メタデータ管理
  • クエリの解析および最適化
  • アクセス制御

これらのサービスが、ログインからクエリディスパッチまでのユーザーリクエストを処理するために、Snowflakeのさまざまなコンポーネントをすべて結び付けています。

連携できるサードパーティツール

Snowflakeは以下のカテゴリに分類される様々なサービスと連携することができます。

  • SQL 開発および管理
    • DBeaver、SQL Workbench等
  • セキュリティ、ガバナンス、および可観測性
    • Informatica、Datadog等
  • データ統合
    • Talend、Fivetran等
  • ビジネスインテリジェンス(BI)
    • Microsoft Power BI、Tableau等
  • ネイティブプログラムインターフェイス
    • Apache Spark、Python等
  • 機械学習およびデータサイエンス
    • Databricks、DataRobot等

その他連携可能なツールに関しましては、「https://docs.snowflake.com/ja/user-guide/ecosystem-all.html#all-partners-technologies-alphabetical」のサイトから確認することができます。

コスト試算

コスト試算は「https://www.snowflake.com/pricing/?lang=ja」のサイトから確認することができます。

クラウドサービスをAWS、リージョンをAsia Pacific(Tokyo)、USD支払いの場合、下図のように試算されます。試算額は2023/03/17時点のものです。

出典:料金体系 | Snowflake 【スノーフレイク】

1クレジットは最小サイズの仮想ウェアハウスを1時間起動した場合の料金に当たります。

ストレージにはオンデマンド(従量課金)とキャパシティ(事前購入)のオプションがあります。

仮想ウェアハウスの利用コストについては予測が難しいです。

無料トライアル「https://signup.snowflake.com/?_l=ja」でリソース感を把握できれば、より詳細なコスト試算が可能です。

おわりに

本記事ではSnowflakeの概要を紹介させていただきました。

次回はSnowflake上でのデータベース・スキーマ・テーブルの作成方法について紹介させていただきます。

執筆担当者プロフィール
平木 伊織

平木 伊織(日本ビジネスシステムズ株式会社)

ハイブリッドクラウド本部ハイブリッドクラウド5部4グループ。Snowflake、AWS、Azureなどを扱っています。

担当記事一覧