こんにちは。 データ基盤エンジニアの岡村です。
世界中のデータ流通量が莫大に増える昨今、皆さんはこんな言葉を耳にしたことはないでしょうか。
「データは 21 世紀の石油である」
この言葉は企業が自社の優位性を得るためにデータ活用がいかに重要であるか示すと共に、データが価値を生み出すためには石油と同じように適切な加工、管理が必要であることを示しています。
組織としてデータ活用をこれから進めようとする際、まさにこのデータの加工と管理が大きな課題となることがあります。データ加工の時点においては、データの統合や変換、セキュリティ、使うサービスの選定等考慮すべき事項が数多く、結果として構築・運用作業が複雑化する傾向があります。また管理フェーズにおいても、部署毎に収集されたデータが組織として活用できないという状況にしばしば陥ります。
このようなデータの加工・管理に関する問題を解決してくれるサービスとして、 近年 Snowflake が注目されています。 本記事では、 Snowflake とその導入時のメリットを紹介します。
【参考: Snowflake について】
https://docs.snowflake.com/ja/user-guide-intro.html
Snowflake とは 2012 年に創業された Snowflake 社により提供されるクラウドコンピューティングを元にしたデータウェアハウス (DWH) サービスです。 2020 年にソフトウェア業界では過去最高となる 38 億ドルの資金を調達しアメリカ市場に上場したことや、 2019 年には IT 業界の調査を専門とするガートナー社により、データ分析基盤市場のリーダーとして選定されたこともあり、 Snowflake は今世界中で注目を集めているサービスであると言えます。
【参考: Snowflake ガートナーによる認定】
https://www.snowflake.com/blog/snowflake-recognized-as-a-leader-by-gartner-third-consecutive-year-positioned-in-the-magic-quadrant-report/
Snowflake は既存のデータ基盤における高い管理コストや、データがサイロ化されてしまい企業内でのデータ活用が進まないといった課題を解消するべく、データを一元的に管理でき、組織のデータドリブンな意思決定を推進できるようなプラットフォームを提供しています。
本記事ではそんな組織のデータ活用を推進させる Snowflake の4つの具体的な特徴を紹介します。
Snowflake はトランザクションやメタデータを管理するクラウドサービスレイヤー、計算を実行するコンピュートレイヤー、データを保存するストレージレイヤーの3つの分離したレイヤーから構成されています。
1 つ目のクラウドサービスレイヤーでは、ユーザーが作成したクエリの解析および最適化を実行するとともに、データのメタ情報を管理しているため、データの統計量等であればコンピュートレイヤーを介さず高速で結果を返すことができます。
2 つ目のコンピュートレイヤーでは、コンピュートクラスターとストレージが分離したアーキテクチャであるため、複数の処理を同時に実行した場合でも、必要に応じてスケールアウトされ、高いパフォーマンスで処理が実行されます。
3 つ目のストレージレイヤーでは、すべての Snowflake テーブルデータがマイクロパーティションというストレージ単位に自動的に分割されます。これにより Snowflake ではユーザーが意識することなく、非常に高速なクエリを実現することができます。
上記のような各レイヤーの特徴により、ユーザーは特に意識することなく、 Snowflake だけで高速なデータ加工を実現できる構成となっています。
【参考: Snowflake アーキテクチャ】
https://docs.snowflake.com/en/user-guide/intro-key-concepts.html
Snowflake は AWS 、 Azure 、 Google Cloud 上のいずれかのプラットフォーム上に構築可能であるとともに、インフラとなるクラウドサービス事業者に依存せずデータの共有や交換が可能です。これにより複数のクラウドと分断されたデータを統合することができ、マルチクラウド環境によるデータ分析基盤構築を目指す組織や企業にとって、 Snowflake は有効なソリューションとして期待されています。
また Snowflake では下記リンクに記載されているように業界をリードする幅広いテクノロジと連携することが可能であり、従来のデータ統合ツールも数多くサポートされているため、すでにお使いの データ統合ツールと組み合わせて Snowflake 上にデータを集約することが可能です。
上記のような特徴により、データをより容易に管理することができ、データの活用により多くの時間を割くことができます。
【参考: Snowflake エコシステム】
https://docs.snowflake.com/ja/user-guide/ecosystem.html
Snowflake では Secure Data Sharing 機能を使うことで、アカウント内のデータを他の Snowflake アカウントと共有することができます。 Secure Data Sharing ではアカウント間で実際にデータのコピー、転送は実施されないため、高速かつ安全にデータの共有を実現することができます。
また Snowflake Marketplace という機能を使うことで、 Provider として第三者への有償あるいは無償でのデータセット共有や、 Consumer として様々な分野のデータセットを利用することができます。
この特徴により組織外のメンバーとも必要に応じてデータ共有を行うことが可能となり、ビジネスを加速させることができます。また Marketplace を利用することで、保有しているデータから利益を得る、またデータ共有という形で社会に貢献することができます。
【参考: Secure Data Sharing の紹介】
https://docs.snowflake.com/ja/user-guide/data-sharing-intro.html#what-is-a-share
【参考: Snowflake Marketplace の紹介】
https://docs.snowflake.com/ja/user-guide/data-marketplace.html
Snowflake は週 1 回のマイナーアップデート、月 1 回のメジャーアップデートを実施しており、自動で定期メンテナンスが実行される仕組みとなっています。なお、アップデート時にサービスが止まることはありません。
セキュリティに関しては、クライアントの通信や保管データは常時暗号化されており、利用者認証の際の多要素認証や SSO 等のオプションも用意されています。
また、タイムトラベル機能や Fail-safe 機能、ゼロコピークローン機能等を使うことで、データのバックアップを取得したり、データのリカバリを簡単かつ高速に実行したりすることができます。
上記のように Snowflake はメンテナンス・セキュリティ・データバックアップの省力化を実現し、利用者がデータ活用に集中できるよう設計されています。
【参考: Time Travel の紹介】
https://docs.snowflake.com/ja/user-guide/data-time-travel.html
【参考: Fail-safe の紹介】
https://docs.snowflake.com/ja/user-guide/data-failsafe.html
【参考: Zero Copy Cloning のコマンド】
https://docs.snowflake.com/ja/sql-reference/sql/create-clone.html
本記事では Snowflake とその導入時のメリットについて紹介しました。次回以降の記事では、実際の Snowflake の活用方法や機能検証についてご紹介する予定ですので、ぜひご覧ください。
Snowflake は 30 日間の無料トライアルを提供していますので、検証等の目的のためにアカウントを作成してみるのも良いかもしれません。無料トライアルであれば、クレジットカードの情報を入力せずに Snowflake を触ることができ、気軽に検証ができるのでお勧めです。
【参考: Snowflake 30 日間の無料トライアルを開始する】
https://signup.snowflake.com
また当社では DATA ビジネスに実績と強みがあり、データ基盤構築から BI ツール (Power BI) の導入・技術支援、 AI サービスの提供・技術支援まで、お客様のデータ利活用をワンストップで支援可能です。 持っているデータを活用したい、 BI や AI を使ってみたいけど何をすればよいかわからない、やりたいことのイメージはあるけれどどのようなデータを取得すればよいか判断できない等、データ活用に関することであればまず一度ご相談ください。一緒に何をするべきか検討するところからご支援いたします。
関連ページ
「データプラットフォーム構築サービス」はこちら |