snowflakeを一言でいうと、「これまで私達が当たり前にやってきたデータに纏わる煩わしい業務を、やらなくて良くなる製品」です。
snowflakeを使うと、これまでIT部やデジタル部署、データマネジメント部隊が当たり前にやってきたことが、「やらないことが当たり前」に変わります。当たり前の次元が変わることで、データ活用がこれまでより一つ上のステージに上がるでしょう。従来では思いつかなかったデータ活用のアイデアやインスピレーションも浮かびやすくなるはずです。
当社でもsnowflake他データウェアハウスの導入・構築支援を行っており、これまでの「当たり前」を変えてくれるデータウェアハウス”snowflake”(スノーフレーク)について詳しく解説します。
目次
1. snowflakeとはデータ活用のプロセスをワンストップで行えるデータウェアハウス
snowflake(スノーフレーク)とは、snowflake社が提供するクラウド型のデータウェアハウスサービスです。
参考:データマネジメントとは?実践前に知っておくべき最低限の基礎知識
通常、データ活用の裏側では、下図のようにデータソースからデータ使用者に渡るまでに様々なプロセスがあります。
Snowflake社公式HPより拝借
しかし、これらのプロセスはsnowflakeを使えばワンストップで行える(下図参照)ため、データ分析環境の構築や運用効率を爆発的に上げることができます。
snowflake社公式HPより拝借
効率を上げるポイントとしては、下記のような柔軟性の高い機能があるためです。
- データを簡単に他者へ共有できる
- 他クラウド製品と連携することができる
- データメンテナンスにかかる時間を最小限にできる
- データウェアハウスの作成/停止が秒レベルで行える
- データの移行が簡単に行える
- パフォーマンス改善に割く時間を最小限にできる
以降、Snowflakeの特徴を詳しく解説します。
2.snowflakeをsnowflakeたらしめる10個の特徴
2-1. データシェアリング|データを他の人にかんたんに共有できる
snowflakeは、データの置き場所(ストレージ)とデータを処理するパワー(コンピュートリソース)を分けたアーキテクチャを採用しているため、自分が保管しているデータに、他者が管理しているリソースを使ってアクセスさせることができます。この機能はデータシェアリングと呼ばれています。
これまでデータを共有しようと思った時、データを複製して相手に送っていました。データを複製して転送するとなると、データを外に出すことになるため、以下の点を考える必要がありました。
- 複製されたデータのセキュリティ
- 転送するネットワークに対してのセキュリティ
- データが更新された場合の対応
データシェアリングは、自分のデータを直接見せることでそういった煩わしさから解消してくれるものです。
2-2. マルチクラウド|他クラウド製品と連携することができる
snowflakeはAWS、Azure、GCPのどの環境でも同じように動作するマルチクラウド環境です。
参考:BigQueryを使い始める時に知っておきたい基礎知識
通常、GCPやAWSなどのデータウェアハウスの場合、他社のデータウェアハウスと連携することはできません。しかし、snowflakeはマルチクラウドで動作する環境を採用しているため、クラウド間をまたいでデータを連携させることができます。
そのため、GCPやAWSのシステムで問題が生じてシステムやサーバーが停止してしまっても、別の環境に切り替え動作するような環境を構築することが可能になります。
2-3. ニアゼロメンテナンス|データメンテナンスにかかる時間を最小限にできる
snowflakeは、ニアゼロメンテナンスを目指しており、データ分析基盤の運用を革命的に楽にしています。
ニアゼロメンテナンスを実現するための主な機能としては以下があります。
- タイムトラベル機能
- ゼロコピークローン機能
タイムトラベル機能
こちらの機能は、一言で言うと「データを元に戻す」ことができるものです。データを誤って削除してしまった場合や更新を押したあとでも戻すことができます。
参考:タイムトラベル機能
ゼロコピークローン機能
データウェアハウス、テーブルなど現在の環境のコピーを数秒で作成することができるものです。60GBを2秒でクローンすることができ、従来は時間がかかっていた開発環境も数秒で作成することが可能になります。
2-4. ウェアハウスの作成/停止が秒でできる
snowflakeは、ウェアハウスの作成/停止をミリ秒で行うことができます。ウェアハウスというのは、データを処理するコンピュートリソース、言い換えるとサーバーのことです。
他の製品でデータウェアハウスを作成する(クラウドでサーバーを構築する)場合は、5分ほどかかるのが一般的です。しかし、snowflakeはウェアハウス作成のボタンを押してからミリ秒〜数秒で完了します。(下記が実際にウェアハウスを作成している画面です)
例えば、新しい製品を世の中にリリースした際、今までにはない新しいデータが増えて、実現したい処理も増えます。この場合、既存のデータを処理するワークロードに影響を与えず、どのリソースに格納していくかなど考える必要がありました。しかし、独立したコンピュートリソースを一瞬で作成できることで運用面で確実に楽になります。
また、停止もミリ秒で行うことができます。後に触れますが、データウェアハウス(サーバー/コンピュートリソース)の稼働時間で課金されるsnowflakeにとって、ミリ秒単位で停止できることは無駄なコストがかからないというメリットもあります。
2-5. データの移行が簡単にできる
マルチクラウド環境を採用していることにより、データの移行も簡単に行なえます。
AWSを使われている方が、データをGCPに移行したいとなった場合、移行するのには莫大なコストがかかります。しかし、snowflakeであれば、同じAWSの東京リージョンで作成することによりデータ転送量がかからず、簡単に移行できます。
2-6. 処理が高速である
現在もデータベースエンジニアはパフォーマンスを上げることに悩んでいる方が多いのではないでしょうか。
サーバー増強をするか、クエリチューニングをするかなど、パフォーマンスを改善するために数週間から1ヶ月かけていた方もいらっしゃると思います。
しかし、Snowflakeでは現在の環境を止めることなく、リソースの割当をGUI上で(もちろんSQL上でも)増やすことができるため、数秒でパフォーマンスを改善することができます。この点は、データベースエンジニアにとっては重要となるポイントでしょう。
多少の差はありますが、他データウェアハウス製品と比べ、最も高速です。詳細はこちらのベンチーマークテストを参照してください。
2-7. snowflakeはウェアハウス(サーバー)を動かした分だけ課金される
例えばBigQueryはスキャン量課金であり、snowflakeはウェアハウス(サーバー)を動かした分だけ課金されます。
どんなに巨大なデータセットでも、ウェアハウスで1秒だけ動かしたら1秒だけ課金されます(最低課金は1分である点に注意)。この場合、ウェアハウス自体が高いとBigQueryなどと比べコストに差はでないかもしれません。
しかし、似たような処理や複雑な処理を実行する場合、BigQueryですとその処理の回数分スキャンが行われますが、snowflakeの場合、一つのウェアハウスのリソース内で全ての処理を実行することができます。そのため、他の製品と比べてコストが安くなる場合もあります。
2-8. ユーザーインターフェースが分かりやすい
GUIでのデータベースやウェアハウス作成など、ユーザーインターフェースが分かりやすく、迷いの少ない操作が行えます。
私個人としては、GCPと比べ、特に実行履歴の画面が分かりやすいと感じました。実行履歴の全体俯瞰から、特定の実行履歴の詳細までを迷うことなく追うことができるのは運用面でより効果を発揮するものと思います。
2-9. 進化のスピードが早い
snowflakeは、進化が早い製品です。
その背景として、snowflakeは時代とともにビジョンを変えているのがあると思います。コンセプトを世の中に合わせて柔軟に変えていけるからこそ、世の中に求められている機能を素早くリリースできているのではないかと思います。
年に2回、Data Cloud Summitを開催しており、その場で大きな新機能の発表を行っています。直近開催されたSummitでは、非構造化データ(音声)などの対応も発表されました。
今後、音声やテキストなどの非構造化データは増えていくため、この点においても世の中の状況に合わせたアップデートと言えるでしょう。
2-10. メンテナンスなどでサービスが止まることがない
snowflakeは、バージョンアップとしては、週に1回マイナーバージョンアップ、月に1回メジャーバージョンアップを行っています。
しかし、バージョンアップ時にサービスが止まることがありません。つまり、定期メンテナンスがないと考えていただいて良いでしょう。これは、snowflakeはサービスを動かす仕組みを他の場所にも確保し(アベイラビリティゾーン)、アップデート中には別の場所で動かすようにすることが実現できているためです。
3. snowflake導入時に意識すべき2つのこと
snowflakeの導入を考える時に、以下の観点は導入検討時に理解しておくと良いです。当社では現在のデータアーキテクチャー全体像やビジネスモデル、扱うデータを評価した上で最適な設計をご提案しています。
3-1. クラウド導入が問題なく行えるか確認する
そもそもの話になりますが、組織としてクラウドが問題ないか確認するのがまず重要です。これは当たり前すぎるのですが、ここでつまずく企業はとても多いからです。ここでつまずく場合、そもそも検討する時間も無駄になってしまいます。
3-2. 従来のやり方ではなくsnowflakeを使った最適解を考える
今までは、1台のデータウェアハウスで全てを運用するなど、サーバーの台数ををあまり増やさない考え方で進めていた企業は多くあるでしょう。
しかし、snowflakeを使えば、行いたい分析(機械学習、ダッシュボード構築など)ごとにウェアハウスを分けるなど、新しい考え方が出来ます。
Snowflakeの場合、前述の通りウェアハウスを秒で作成することができるため、従来のように開発環境を常時用意しておく必要もありません。“柔軟性を活かした上での運用”を考えるとsnowflakeの良さを最大限発揮してデータ活用が出来るでしょう。
4. snowflakeは無料で分析を始めることが出来る
snowflakeをこれから組織や部門で導入を検討する際には、無料でトライアルが可能です。
トライアル時に意識してほしい点としては下記3点です。
- 様々な製品のトライアルを行い操作感を比較する
- 実際に現場の人に使ってもらう(導入後にsnowflakeを扱う実務者の意見を取り入れる)
- 現場のデータを使った検証を行う(一つ一つの処理の容易さを実データを使ってツール間比較する)
snowflakeの性能や使用感を無料で把握出来るでしょう。無料トライアルに関する詳細は以下です。
4-1. 30日間の無料トライアルが可能
1つ目は、snowflakeを初めて使用する場合、$400分の無料クレジットを含む30日間の無料トライアルを出来ることです。
snowflakeに関しては上限の範囲内であれば無料で使用できます。
ですので、自社組織で本格導入を検討する前に試しに使ってみたいという時に使わない手はないでしょう。実際に無料トライアルを始める方法については、公式のこちらのページを参照してください。
なお、無料トライアルについては「30日かつ$400分まで」という上限がありそれを超えると料金が発生するのでご注意下さい。
4-2. 一般に公開されているデータで動作を確認できる
2つ目は、snowflakeには一般に公開されている豊富なデータで挙動を確認出来ることです。
試しにsnowflakeを使うにも「セキュリティ的に会社のデータを使うわけにはいかない」という場合でも、データシェアリング機能を活用して用意されたデータマーケットプレイスを通じて、一般公開されているデータを使えるので安心してsnowflakeを操作できます。新型コロナウイルスに関する情報などもリアルタイムにデータ共有されています。
5. snowflakeを使う時に参考になるコンテンツ
snowflakeはGCPやAWSと比べると、日本での認知度はまだ低いものの、導入前の参考となるコンテンツは多数存在します。ここでは、日本語で発信されているsnowflakeの理解に有用なコンテンツをご紹介します。
5-1.日本語化された公式ドキュメント
外資系ソフトウェアベンダーの場合、公式ドキュメントが日本語化されていないこともあるものの、snowflakeではこちらに日本語化されているものがあります。
5-2. Zero to snowflake – ライブデモ編
こちらから参照することができます。再生前にユーザー登録が必要です。
5-3. 日経産業新聞フォーラム バーチャル版『企業のデジタルトランスフォーメーション』
snowflake社KTさんの『企業のデジタルトランスフォーメーション』コンテンツです。
6. まとめ
snowflakeで出来ることを具体的な機能とともにご紹介しました。
snowflake社の強力なインフラを使用したsnowflakeはビックデータを処理する上で非常に便利です。エクセルやローカルPCでは到底出来ないような、大容量なデータが高速で処理が可能です。また非常にシンプルで使いやすいのも大きな特徴で、これから扱う場合でもスムーズに扱えると思います。
無料トライアルも用意されており導入に向けて試しに利用することも用意ですので、一度試してそのパワーを実感されるのがおすすめです。
snowflakeや他データウェアハウスの導入・構築支援をご検討中であればぜひ一度データビズラボへお問い合わせください。
状況やニーズに合わせたご提案をさせていただきます。