Snowflake 類似サービスと比較!一番の売りは○○での利用だった

Snowflakeは、クラウドベースのSaaSデータウェアハウスです。データの格納、処理、分析をすべてクラウド上で行うことができ、最近話題になっています。

しかし、そんなことは AWS や Google Cloud、Azure といった3大クラウドでもできます。では、なぜ人気なのでしょうか。

今回の記事は Snowflake の人気の理由と、利用する前に知っておきたいポイントをまとめました。

Snowflakeの類似サービスとして、3大クラウド内の DHW である Amazon Redshift、Google BigQuery、Azure Synapse Analytics と、クラウド DWH 特化の Databricks を挙げてみました。

これらのサービスとの比較において、Snowflake の差別化ポイントは以下のとおりです。

機能SnowflakeDatabricksAmazon RedshiftGoogle BigQueryAzure Synapse Analytics
ストレージと計算の分離ありありありありあり
列指向データストアありありありありあり
インメモリキャッシュありありなしありあり
データレイクとの統合ありありありありあり
AI/機械学習のサポートありありありありあり
マルチクラウドサポートありありなしありあり
コスト中間高め低め低め中間
パフォーマンス優秀優秀良好優秀優秀
機能性豊富豊富豊富豊富豊富
重点をおいている機能データ格納
データ共有
データ処理
データ分析
データ処理
データ分析
データ処理
データ分析
データ処理
データ分析
マーケットプレイスありありありありあり
シェアのしやすさ優秀優秀良好良好良好
扱えるデータ種構造化データ
半構造化データ
構造化データ
半構造化データ
非構造化データ
構造化データ
半構造化データ
非構造化データ
構造化データ
半構造化データ
非構造化データ
構造化データ
半構造化データ
非構造化データ

いずれのサービスでも、データの格納、共有、分析、処理は可能です。

ただ、やりやすさやコスパの違いがありました。

結論から書くと、Snowflake の最大の差別化ポイントは、企業間での安全なデータ共有のしやすさです。弱みは、データ共有の先にある分析やAI活用です。

扱えるデータ種に非構造化データ(テキスト、IoTセンサーのデータ、画像、音声など)が含まれていないのはAI活用の上では大きなデメリットですが、一方で、構造化データしか扱わないのであれば、Snowflake はうってつけだと思います。日本の企業の多くは非構造化データどころか構造化データをAIに活かす、というのも模索中な印象なので、その辺が Snowflake の人気の秘訣なのかなという気がします。

参照:https://docs.snowflake.com/en/user-guide/data-sharing-intro

もう少し差別化ポイントの「企業間での安全なデータ共有のしやすさ」について補足します。

3大クラウドの DWH は、セキュリティが堅牢な反面、管理は各アカウントに閉じた設計になっており、企業間(アカウント間)のデータのやりとりは煩雑で、手順も難しいと感じます。

その点、Snowflake はデータ共有が非常にシンプルです。

プロバイダ(データ提供者)がデータを共有すると、コンシューマー(データ受信者)側で読み取り専用データベースが作成されます。つまり、データはコピーや転送されることなく、Snowflake 上でクエリすることで参照可能になります。

コンシューマ側はデータを保持する必要がないためストレージ費用を抑えることができます。

手軽にデータ共有ができるとういうことで、次に気になるのは安全面ですが、

まず、こっそりクエリ結果をCSVダウンロードされちゃうのでは? という誰もが最初に思い至りそうな不安については、クエリ結果のCSVダウンロード(アンロード)は署名付きURLから行うよう制限がかかっているというのが一つの安心材料になりそうです。

また、プロバイダ側は使用状況メトリクスを確認できるし、いつでも簡単に共有停止にすることができます。

さらに、マスキングポリシーでデータベース内のオブジェクト(メールアドレスや個人情報など)を列単位や行単位でマスキングすることもできます。

ここまで聞くと、結構安心できますね。

①Snowflakeの利用には、AWS、Azure、Google Cloud Platformいずれかのクラウドアカウントが必要です。

②会社単体で使う場合は、いろんなパブリッククラウドプラットフォームに散らばったデータをまとめて分析したいときは使えそう。ただし、コスパが良いのは50GBまでらしく、それ以上のデータ量ならDatabricksを使った方が良さそう。

③Snowflake内部にデータをロードする方法のほかに、外部ストレージにおいたまま参照することもできるが、参照時にSnowflakeのコンピューティングリソースを利用する必要があり、頻繁に参照する場合はコピーした方が安い。

④本格的にAI活用、機械学習をやろうとすると、結局3大クラウドに戻るか、DataRobotのようなサードパーティのAIサービスを使うことになり、手間もコストも増える。

⑤データのロードや統合も、SnowSQLというのをローカルにインストールしてコマンドラインで操作しなければならず、利用には少なくともDB周りの知識とSQLが書けるくらいの知識が必要。

SnowSQLによるCSVアップロードの例↓

こんな感じでアップロードが完了すると、Snowflakeの画面↓(ブラウザ)でデータを確認できるようになります。アップロードさえできてしまえば、Snowflake上でクエリを書けばデータを検索することができるので、あまり人を選ばず使いやすいのかなという印象です。

  • Snowflakeの人気の秘訣は、グループ、提携先など企業間でのデータ共有のしやすさ
  • Snowflakeでできることは他の類似サービスでもできるが、やりやすさとコスパで差別化している
  • Snowflakeはデータの格納、共有に特化したDWH。その先の分析やAI活用、機械学習までやろうとすると逆にコスパが下がる可能性がある