久しぶりにワクワクする技術に出会った。

カリフォルニア州San Meteorに本拠を置くSnowflake Computing(http://snowflake.net/)の提供するクラウドサービス「Snowflake」だ。CEOのBob MugliaはWikipediaによればMicrosoftのCEO Steve Balmer直属の4人のpresidentの一人であった。MSのサーバー技術やクラウド技術を熟知したスペシャリストである彼が Azure SQL DatabaseやAmazonのRedshiftに真っ向勝負を挑むのが「Snowflake」サービスだ。

2015年半ばから本格的にサービスを開始しているが日本語の情報は少なく、「snowflake データウェアハウス」で検索してもデータモデルとしてのスノーフレークモデルしか出てこない。

snowflake

偶然見つけた 「あの Bob Muglia が率いる Snowflake が、Azure と AWS にガチンコ勝負を挑む」というブログくらいしか見当たらないので、英語のサイトを探してようやく満足できる記事”Snowflake Computing’s Elastic Data Warehouse Service”を見つけた。これを読み進む内にそのユニークな革新的技術に興奮してしまい、久々にブログ投稿するに至ったわけだ。以下の内容は上記の英文記事と本家サイトならびに直接コンタクトして得た情報を元にしたものだ。

1)性能
50GB、1億6千万行のCSVを4分以下でロード可能。
データは6.6GBに圧縮されており、インデックスは不要。
MS SQL Serverの10倍以上の性能を発揮するとのこと。
インフラはAWSを使用している。

2)コスト
CAL(クライアントユーザーライセンス)不要。
DBサイズとコンピュータリソースのみで従量課金。最低月額200ドル+1TBにつき月額100ドル(この価格は一般公開されていない)。想像だが100GBほどのデータベース(月額10ドル)でそれほどヘビーに使わなければ月額500ドル以下??
時間帯を決めて一時停止・再開させて料金節約も可能。
逆にピーク時間帯のみ多くのリソース割り当てしてレスポンス改善も可能。

3)柔軟性
”The First Elastic Data Warehouse Service”とうたっているだけあって非常に柔軟性がある。
・自動的に、ロード時にリソースをスケールアップしクエリー時には適切にスケールダウン。
・90日まで過去の任意の時点に復元可能な「Time Travel」機能。「60分前」とか「何月何日何時何分」とか自在にさかのぼれる。したがってバックアップ不要。
・バックアップというよりはテスト用に瞬時に任意の時点のテーブルのクローン作成も可能。おそらくクローン後の差分更新を管理。SQLはこんな感じ。

CREATE TABLE test_table01 CLONE table01;
CREATE TABLE five_min_ago_table01 CLONE table01 AT (OFFSET => -60*5);

・JSONやXMLもそのままぶち込めて、SQLで検索もジョインも可能。(MongoDBを移行して超高速検索できそう)

技術的にはとても興奮するソフトだが、欠点は簡単にお試しできないこと。ユーザ登録して担当者とメール交換して、電子契約書にサインしてようやくトライアル用の400ドル相当のクレジットがもらえる。
まだまだスタートアップの小さな会社なので日本で使用するには言葉の壁、時差の壁があることも心配だ。

今日契約書に署名したばかりなので、まだ触れていないのだが、これからが楽しみだ。

続報に、乞うご期待。