Snowflakeの「Snowflake」は、クラウドで利用できるSQLベースのDWH(データウエアハウス)である。AWS、Azure、Google Cloudの各クラウドサービス上で利用できる。AWSとAzureについては国内の東京リージョンを利用できる。

特徴

 クラウド型のDWH。AWS、Azure、Google Cloudの各クラウドサービス上で利用できる。AWSとAzureについては国内の東京リージョンを利用できる。

仕組み

 DWHのクエリーを実行するサーバー(仮想ウエアハウス)と、データを格納するストレージを、独立したリソースとして分離している。データをストレージで一元管理しながら、個々のアプリケーション単位でDWHを作成できる。負荷状況に合わせてサーバーとストレージを独立して拡張できる。

 課金体系にも特徴がある。仮想ウエアハウスとなるサーバーは、1時間あたりの単価を定めた専用のクレジット「Snowflakeクレジット」を支払って、必要なときだけ利用する。クレジットはサーバーの実行中など、ユーザーがリソースを使用している場合に限って消費する。1秒単位で計測し、最低1分で請求する。

 サーバーの性能は、最小構成の「XS」(1時間あたり1クレジット)から最大構成の「4XL」(1時間あたり128クレジット)まで、8段階用意した。AWSでは4XLを超えるDWHとして、5XL(256クレジット)と6XL(512クレジット)も利用できる。クレジットの時間単価が2倍になると、性能も2倍になる。単純に言うと、処理に時間がかかる処理は、サーバー性能を2倍にすることで、同じ値段で2分の1の時間で済む。

主な機能(実装予定を含む)

SQL API

 REST API(Web API)でSnowflakeにSQLリクエストを投げられる。データベースクライアントアプリケーション側には、データベース接続用のドライバが必要ない。

Java UDF

 Java言語でユーザー定義関数(UDF)を作成できる。データベース側で動作する業務ロジック(ストアドプロシージャなど)を記述できる。

Snowpark

 Snowflakeで使える開発環境。Snowflake上で動作するアプリケーションを、使い慣れた開発言語で開発できる。Java言語、Scala言語、Python言語を利用できる。

稼働環境

 AWS、Azure、Google Cloudの各クラウドサービス上で利用できる。AWSとAzureについては国内の東京リージョンを利用できる。

価格・料金(税別)

 AWS東京リージョンとAzure東京リージョンの場合、

  • サーバーは、最安価となるスタンダードプランの場合、1クレジットあたり2.85ドル。つまり、スタンダードプランで最小サイズのDWHを1時間使うと2.85ドルかかる計算になる。
  • ストレージは、実際に使用したデータ量に対して課金する「オンデマンドストレージ」が1Tバイトあたり月額46ドルで、あらかじめストレージのサイズを確保する「キャパシティストレージ」が1Tバイトあたり月額25ドル。