6ワークロードシリーズ【最終回】
本シリーズではデータ利活用を進める人々のプラットフォームとしてSnowflakeがさまざまなワークロードを支えていることを紹介してきた。さまざまなワークロードを見てきたが、既存あるいは新規問わず、データ利活用者の要望に応えてこれらに柔軟に着手できることはDX実現において非常に重要である。あらゆるワークロードにすばやく弾力性をもって適応し、人々が求める要件に応えるには「データクラウド」の力が必要だ。最終回となる今回は、Snowflake株式会社でシニアプロダクトマーケティングマネージャー 兼 エヴァンジェリストを務めるKT氏より、データクラウドがもたらす価値について解説していただこう。
解説者:Snowflake株式会社 シニアプロダクトマーケティングマネージャー
兼 エヴァンジェリスト KT氏
Twitter:@DATA_Saber
著書:データドリブンの極意 〜Tableauブートキャンプで学ぶデータを「読む」「語る」力
あらゆるワークロードを柔軟にこなしてDXを実現
Snowflakeが支える6ワークロードシリーズ、いかがでしたでしょうか。データは新たな時代の最も重要な資源になると言われて久しいですが、資源から利益を享受するためには、その資源を活用する方法が多様なバックグラウンドやスキルセットを持つ人々に開かれている必要があります。つまり、あらゆるワークロードを柔軟にこなさなければならない日がすぐそこまで迫っています。それが実現するときこそ、真のデータ民主化の幕開けと言えるかもしれません。
本シリーズではデータにまつわる代表的な6つのワークロードについて多彩な技術力、知見を持つパートナー企業で活躍する豪華ゲストに解説していただきました。気になった方は今すぐ前のシリーズに戻っていただいても良いですし、まずは本記事を読んでいただき、気になったワークロードに遡っていただいても良いでしょう。
あらためて6つのワークロードをおさらいしていきます。
- データウェアハウジング:データを集約し、人が使いやすくスムーズに取り出すことができるように整えて準備しておく機能
- データエンジニアリング:生成されたデータを取り込み、必要な用途で使用できるように変換したり移動したりする機能
- データレイク:組織内にある様々な形式のデータを保管し、必要に応じて取り出せるようにしておく機能
- データサイエンス:データから知見を引き出す分析を行う機能。近年注目されている手法の代表的なものに機械学習などがある
- データアプリケーション:データを活用したアプリケーションを提供する機能。アプリケーション上のアクション結果を迅速に取り込み、記録されたデータに応じて挙動を変えるため、高速で効率的な入出力が問われる
- データシェアリング:企業や組織などが保持しているデータを、所属組織問わず、許可された人や組織にライブで共有する機能
データ活用の用途は日々拡大しています。これからデータ活用に携わる人にとって、こうした様々な機能を満たすシステムを構築するために、なにから始めればいいのかというのは悩みの種であると思います。
重要なことは、これらのワークロードは単独で切り離されて存在しているようなものではないと理解しておくことです。データウェアハウジングの機能を満たすためにはデータを取得するデータエンジニアリングが必要です。さらに、ワークロード、つまりデータを使ってやりたいこと、というのは日々発展し、増え続けます。最初にやろうと思っていたことがデータを集約してレポーティングするデータウェアハウジングだったとしても、後からより高度な分析、すなわちデータサイエンスを行いたいと思うこともあります。また、貯まったデータを活用して顧客により良い体験を提供するデータアプリケーションを構築することや、自社で貯めたデータによって他社の分析にも価値を与えるべくデータシェアリングを行いたいと思うこともあるでしょう。
データ活用において、こうしたことが日常的に起こるとすると、発展性のある要件に応えられる柔軟で弾力性のあるプラットフォームの上にデータを置いておくことが、いかに重要かお分かりいただけるのではないかと思います。逆にいうと、新しいワークロードをプラットフォームの制約で諦めざるを得ないといったことは、絶対に避けなければなりません。
こうしたクリエイティブな発想を支えるには、安定してデータにアクセスできることが必須要件です。つまりデータはサイロ化している場合ではないですし、パフォーマンスに悩んでいる場合でもありません。
あらゆるデータに即時にアクセスし、ガバナンスをきかせながら、アクションを導き出せる場所が必要です。こうした多彩なワークロードをデータの置き場、中心地として支える力を持っているのがSnowflakeのデータクラウドなのです。
データを支えるプラットフォームに必須の弾力性
従来、システム構築というのは一度決めたことを長くて数年、短くとも半年程度の長い時間をかけて実装し、変更が必要になると大幅なコストがかかるものでした。しかし現在の変化が早い世界では、決めた時点と完成の時点で要件が変わっていることの方が多いでしょう。そもそも、作っている最中で要件に変化が出てしまうことさえあり得ます。もはや今のニーズに応えられないシステム、つまり誰にも喜ばれないシステムをお金も時間もかけて延々構築しなければならないとしたら…こんなに悲しいことはありません。
ではどうしたら良いのでしょうか?初めからすべての要件を想定するなど不可能です。つまり、あらゆる要件、シチュエーションに弾力性を持って応えられる環境を用意すれば良いのです。 弾力性とは比喩的な表現ですが、弾力というのは急な負荷がかかっても一時的に柔軟に形状が変化して戻ってくることですから、つまり柔軟にかつ自由に環境を適応させられると考えておくといいでしょう。
データ活用において、弾力性が重要となる代表的なシーンはリソースを管理する時です。
例1)データの容量
必要なデータをすべて保管したときの最大容量がどのくらいになるかを、まだシステムが構築されていない状況で予測したことはありますか?データ基盤を構築する人は日常的にこの計算をしていると思いますが、よく考えるとこれは非常に難しいということがわかります。
まず、データは溜めていけば経年で増えていきますので、そのシステムを何年間使い続けるかによって最大容量は大きく変わるでしょう。しかしそのシステムがいつ使われなくなるかはその時の予算や選択できる製品があるかどうかなど、周辺の状況次第のため精緻な予測は困難です。さらに、それらのデータの増加率を予測することも難しいです。業務の展開や業績により増減があります。それどころか、ワークロードやデータソースが新たに加わることもあり得ます。こうなってくると、元々の予測より大幅にデータ量が増えることになります。
システム設計時に決定したデータ容量を大きく超えることができないために、新たなデータを入れることを諦めたり、過去に蓄積されたデータを削除したりするということが起こる可能性があります。ひょっとしたら素晴らしい知見を得られたかもしれないデータをみすみす諦めることになるのです。これは大きな損失と言わざるを得ません。
ですから 、そもそも最初からデータを入れる容量に制限などつけず、使った容量分だけ支払う形にすれば良いのです。そうすれば容量の制限を気にすることはありませんし、さらに良いことに、まだデータが少ない最初の内から空きスペース分の容量の支払いをする必要もありません。
例2)処理能力(コンピュートリソース)
今後想定しうるあらゆるワークロードがどの程度の処理能力を求めるのか予測することはできますか?さらに、それらのうちどれが同時に実行されることになりますか?この予測も非常に難しいでしょう。
上述した通り、経年だけでもデータは増えます。データ量が増えればより高いマシンスペックが求められるようになります。データ活用がうまくいけば、使う人も増えます。同時アクセス数が増えれば、その分多くの要求を捌けるパワーが必要です。
ワークロードも必ず増えます。使う人やデータが増えれば、用途が増えるのは必然だからです。また、増えたワークロードがいつ実行されるのかも気にかける必要があります。既存のワークロードが高負荷な時間(たとえば朝イチに全営業がレポートを参照するなど)に被っている場合、同時に実行しても問題ないかどうかを考える必要があります。
これらすべてを事前に予測することは不可能ですので、大体において未来は想定せず、今聞けただけの要件で最大リソースを決定することになります。カツカツで購入して足りなくなる場合もありますし、余分に見積もりすぎて使ってもいない巨大なリソースを持て余して費用を無駄に浪費することもあるでしょう。
コンピュートリソースは大きな処理が必要な時だけ大きなリソースが稼働し、小さな処理の時は小さなリソース、不要な時は停止している、という形が理想です。エアコンの電気代をイメージしてみてください。夏の間エアコンをガンガン稼働させていれば電気代が高くなり、春や秋に稀に使う程度なら少しだけ、冬の間停止させていたら費用はかかりません。もし真夏の設定で使う最大電力を年間通して使っている体で電気代を請求されたら嫌ですよね。しかしITではこういったことが日常的に行われてきました。あらゆる人がデータを使わなければならなくなっている現在、そろそろもっと効率の良い、柔軟なリソースの割り当てと支払い方法があってもいいと思いませんか。たとえば、データのロードを2分以内に処理するために大きなリソースを割り当てたとしても、処理の間だけ課金されるような仕組みです。巨大なリソースを無駄に持ち続けることがなく効率的です。
また、同時アクセス数の増加や同時に行うワークロードの増加に対応するにはコンピュートリソースの分離も重要です。元来コンピュートリソースはアクセスできるデータが決まっていました。この場合、コンピュートリソースを分離した結果、元のデータにアクセスできなくなってしまいます。そうならないよう、1箇所に保管したデータに、複数のコンピュートリソースがアクセスできる、コンピュートリソースとデータの保管場所であるストレージが分離している新しい形のアーキテクチャがすでに存在しています。
クラウドというリソースを潤沢に使える環境で生まれたSnowflakeはデータ民主化を目指す新しい時代のデータ活用に適応しています。コンピュートリソースとストレージを分離し、使った分だけ課金するモデルであらゆる人が求めるあらゆるワークロードに即時に対応できる弾力性を提供しています。
データ民主化に必要なものはなにか?
目まぐるしく変化する世界を理解し、適切な判断を下すためにデータの力をあらゆる人に開放し、より良い意思決定を下し、アクションを起こすことがデータ民主化というのならば、そのデータ民主化を支えるシステムの姿とは一体どんなものなのでしょうか。それはデータウェアハウスなのでしょうか?それともデータレイクなのでしょうか?本質的に大切なことは一般化された名称のシステム構成をなぞることではなく、みなさんの組織が目指す世界へ向けてデータがどう活用できるかということです。データを思った通りに使えるようにするには、どれだけデータがみなさんの傍で、すぐに使える形で寄り添っていられるか、すなわちデータがモビライズされているか、が重要です。
データ活用におけるさまざまなニーズを理解するために6つのワークロードを一つ一つ分けて紹介していきましたが、全編読んでいただいたみなさんは、これらのワークロードはすべてデータを通して繋がり、相互に補完し、発展させるサイクルであることに気づいていただけたのではないでしょうか。
データエンジニアリングでデータを変換・格納した先にデータウェアハウスやデータレイクがあり、データレイクに格納されたデータを活用してデータサイエンスを行う。または、データアプリケーションで蓄積されたデータとデータシェアリングで受け取ったデータを掛け合わせてデータサイエンスを行う。さらには、データアプリケーションにデータサイエンスの結果を元にした挙動を返すことや、データアプリケーション上で行われた行動結果をデータウェアハウスに蓄積して新しいアプリケーションの開発に活かすといったこともあるでしょう。
これらのシームレスな体験を実現するには、データは単一の、アクセス可能な場所にあり、さらに組織同士のデータがグローバルネットワークで繋がっている必要があります。みなさんの実現したいことに寄り添える、柔軟で強固な、弾力性のあるデータのグローバルネットワークを提供する。それが一つ一つ形の違う雪の結晶の名が表すように、あらゆるデータ、あらゆる人を支えるSnowflake データクラウドが目指す世界です。
技術は革新し、世界は変化しています。ここで紹介したワークロードも進化していくことでしょう。また、新たなワークロードが出てくることもあるかもしれません。そうした変化に柔軟に対応できる柔軟なプラットフォームを選択することが重要です。Snowflakeも、頻繁なプロダクトアップデートにより進化し、みなさんのさらなるニーズに応えて支援していきます。
そして、ネットワークとは、その名の通りあらゆる人が繋がらなければなりません。これは、当然Snowflakeだけで実現できるものではありません。データを活用したいと願っているみなさん、そしてそれを助けようとしてくださっているパートナーのみなさんと一緒に、Snowflakeはこれからももっと多くの方がデータの恩恵を受けられる世界を作るために邁進していきます。
全13回ものシリーズにお付き合いくださったみなさま、本当にありがとうございます。もし未読のものがありましたら、いずれも素晴らしい記事になっていますのでぜひご覧ください。
※本記事はSnowflakeから提供を受けております。
[PR]提供:Snowflake