モダンデータスタックとは何ですか?
モダンデータスタックの最も一般的(おそらく最も不明瞭な)説明は、データ統合を簡素化するためにデータウェアハウスを中心に構築されたツールのセットであるということです。モダンデータスタックの基本的な出発点は、データエンジニアとデータアナリストの時間を節約することです。ここでのデータ統合は、異なるデータソースからデータを一緒にまとめ、その後に分析や操作を行うことを意味します。例えば、eコマースのウェブサイトでは、ユーザーアクセスデータ、ユーザー注文データ、商品情報データなどのデータソースが存在するはずです。これらのデータを特定の方法で組み合わせることによって、どのようなユーザーがどの製品に興味を持っているのか、どのタイプの製品が最も売れるのか、などの知見を得ることができます。モダンデータスタックは、基本的にデータを知識に変える手助けをすることに関するものです。
上記の画像は、FivetranのCEO、George Fraserによる2019年のTableauカンファレンスでの発表から引用したものです。この発表では、モダンデータスタックがどのようなものであるかを説明しています。データウェアハウスは、さまざまなデータソースから入力を受け取り、内部で変換を行い、ビジネスインテリジェンスをサポートするために整備されたデータを提供します。
モダンデータスタックの定義を読んだ後、次のような疑問が湧くかもしれません:「なぜこのアーキテクチャは『モダン』と言われるのでしょうか?それはマーケティングのための流行語のように聞こえますか?」確かに「モダンデータスタック」という言葉は、マーケティング寄りであり、人々が嫌悪感を抱くこともあります。モダンデータスタックを深く掘り下げる前に、この言葉を最初に広めたのは誰かを見てみましょう。
「モダンデータスタック」という言葉は誰が発明したのでしょうか?
正直なところ、その起源については非常に明確な答えを見つけるのは難しいですが、この言葉が広まったのはFivetran、dbt、そしてそれらの背後にあるベンチャーキャピタルによるものであることは確かです。
インターネットで調べると、この言葉は2020年以降に人気を博したことがわかります。最も有名なスピーチ/記事は、2020年後半にdbtのCEOであるTristan Handyが発表したものです。彼の記事「モダンデータスタック:過去、現在、未来」では、モダンデータスタックの発展を三つの時代に分けています:カンブリア爆発I(2012-2016)、導入(2016-2020)、カンブリア爆発II(2020-2025)。正確な定義を知りたい方は、元の記事を読んでみてください。同じ年に、a16zという有名なベンチャーキャピタルからも、「モダンデータインフラの新興アーキテクチャ:2020」という記事が公開されました。この文章では、2020年のアメリカのテック企業が使用するデータインフラをVCの視点から説明しています。
実際にさらに調べると、George Fraser氏が2019年の発表でこの概念を紹介していることがわかります。Twitterでも、Tristan Handy氏が2016年に「モダンBIスタック」のような考えを提案したとも言っています。
なぜモダンデータスタックが必要なのでしょうか?
モダンデータスタックの歴史を知ったところで、前述の疑問に戻りましょう。「なぜこのアーキテクチャは『モダン』と言われるのでしょうか?」「なぜ『モダン』なデータスタックが必要なのでしょうか?」「以前のデータスタックは完璧ではなかったのでしょうか?」これらの質問に答えるには、私は「モダン」ではなく、「データ」に焦点を当てるべきだと思います。モダンデータスタックの本質は、テクノロジーではなくデータにあります。この用語の本質は、企業がテクノロジーを使う方法を変えるという点にあります。企業はもはや特定のテクノロジー製品のためにスタックを構築するのではなく、自社のデータのためにスタックを構築しているのです。
20年前の企業のデータ管理方法を振り返ってみましょう。20年前、企業のデータは基本的にOracle、IBM、Microsoftが販売するデータベースシステムに保存されていました。これらのユースケースの特徴的な点は以下の通りです。
- まず、Oracle、IBM、Microsoftといったテックジャイアンツが販売するデータベースシステムは高価で、全ての企業がこれらのデータベースシステムを購入できるわけではありませんでした。
- 次に、データベンダーはコンサルティングやサポートサービスを提供するものであり、運用や保守サービスは提供していませんでした。通常、企業は専任のDBAチームを雇い、これらのデータベースの運用と保守を行い、上にアプリケーションを構築していました。
- そして、データの規模やアプリケーションの数も多くはありませんでした。
これらの理由から、企業がデータを管理しようとしたとき、彼らは本当にデータのためのフレームワークを構築していたわけではなく、データベースのためのフレームワークを構築していたのです。
今、時代は違います。過去20年間で、データの規模と企業のアプリケーションの数は爆発的に増加しました。モダン企業のニーズに応じた多くのデータベース製品が登場しました。クラウドコンピューティングの発展と普及は、さらに多くの企業がデータベースを使用するきっかけとなりました。一方で、市場の爆発的な成長はデータベース分野の持続的な発展を促しました。20年前と比較して:
- データベースの価格と利用の敷居は大幅に下がっています。
- データベンダーはソフトウェアだけでなく、サービスも提供しています。
- データベースはもはやパフォーマンスで競争するのではなく、使いやすさで競争しています。
膨大なデータとアプリケーションに直面した際、もしデータソフトウェアの価格が十分に低く、パフォーマンスが十分であれば、企業はデータベースの管理にかかる煩雑な作業から解放され、データ管理をより簡単にすることに集中できます。これこそがモダンデータスタックの元々の意図であり、データ管理を簡素化することなのです。
データ管理をどう簡素化するか?
上記のように、モダンデータスタックの支持者には、dbt、Fivetran、a16z、その他のデータソフトウェア企業、そして多くのベンチャーキャピタルが含まれています。彼らが変えようとしているのは、企業がデータ分析の準備を行う方法です。従来のETL(抽出、変換、ロード)からELT(抽出、ロード、変換)へと移行することです。以下に、2019年のTableauカンファレンスでGeorge Fraser氏が行った発表からのイラストを示します。ここでETLは、データソースをデータウェアハウスに取り込むには、データ抽出、変換、ロードの3つのステップを経なければならないことを意味します。これに対してELTは、データをクラウドデータウェアハウスにロードする前に、データの抽出とロードのみが必要で、データ変換はデータウェアハウス内で直接行われます。
従来のETLを新しいタイプのELTに変えることによって、データの複雑な計算処理をデータウェアハウスの外部から内部に移動させることができます。この移動は、データ全体の管理を簡素化することができます。しかし、これがどのようにデータ管理を簡素化するのか、まだ少し混乱するかもしれません。ELTはどのようにしてデータ管理を簡素化するのでしょうか?企業の「古い技術スタック」を「モダンデータスタック」に一歩で変えることができるのでしょうか?
もしELTがない場合、私たちのデータ管理はどうなるのでしょうか。ある企業の従業員が生データを分析したいと考えたとします。彼らはETLツールを使用して、データをクリーンアップしてデータウェアハウスのテーブルXに処理し、その後テーブルXを分析します。分析の過程で、彼らはあるデータのカラムを抽出していなかったり、データ処理方法が間違っていたり、データの単位が間違っていたことに気付いたとします。その時、彼らはどうすればよいのでしょうか?唯一の方法は、データソースから再度データを取得し、ETLパイプラインを再構築し、再度データを分析することです。しかし、データソースに保存されているデータはしばしば一時的なものです。通常、企業はデータソースを7日間または30日間しか保存しません。つまり、再度データを抽出し、パイプラインを再構築して分析を行おうとすると、元のデータはすでに失われている可能性があるのです。
ELTはこの問題を強引に解決します:すべての元のデータをデータウェアハウスに保存するのです。元のデータがデータウェアハウスに保存されると、いわゆるデータ損失問題はなくなり、すべての履歴記録が見つけられるようになります。データを処理したいときは、処理のためにパイプラインを構築するのではなく、直接SQLを書いてデータウェアハウス自体の計算能力を使って処理を行います。
それは本当にシンプルに聞こえ、2020年代にだけ登場した技術のようには思えません。なぜ20年前にはELTが使われなかったのでしょうか?なぜELTは最近になって普及したのでしょうか?私はいくつかの理由があると思います。
- まず、20年前のデータ量は比較的小さく、データ形式は現在ほど複雑ではなく、処理要求も高くありませんでした。たとえ誰もがアプリケーション開発に苦労しても、スタックエンジニアによって全て解決できたのです。
- 次に、20年前のデータベースシステムは非常に高価で、大量のデータを保存するために多額の費用をかけたくないという企業が多かったのです。
- 第三に、その当時のデータベースシステムのパフォーマンスはまだ比較的弱かったのです。今日では、エンジニアのコストが高く、アプリケーションは複雑で多様化しており、単純にエンジニアに頼って問題を解決することはできません。クラウドコンピューティングの登場により、データウェアハウスのコストは大幅に削減され、膨大な歴史的データを安価に保存できるようになりました。パフォーマンスも大幅に向上し、データウェアハウス内で大量のデータを処理することが難しくなくなったのです。
よく考えてみると、ELTの本質は、実際にはデータウェアハウスをデータ管理の中心にし、データの問題を可能な限りデータウェアハウスの能力を使って解決することだということがわかります。さて、この記事のテーマに戻ると、データウェアハウスを中心にスタックを構築するこの方法こそがモダンデータスタックが提唱する方法です:データウェアハウスの能力を広範に活用することです。ELTはモダンデータスタックの一部に過ぎません。実際、モダンデータスタックには、データ可視化、メタデータ管理、データ発見、データ共有など、他の側面も含まれていますが、この記事ではこれらのトピックはカバーしません。
モダンデータスタックとクラウドコンピューティングの関係は?
モダンデータスタックとクラウドコンピューティングは強く関連していますが、必ずしも因果関係ではありません。実際、クラウドコンピューティングはモダンデータスタックの発展を促進しました。モダンデータスタックの本質はデータ管理を簡素化することですが、クラウドコンピューティングはデータ管理のコストを削減することです。したがって、出発点は異なります。それでも、低コストのソリューションがなければ、データ管理を簡素化する方法は存在しなかったでしょう。
モダンデータスタックにおいて「万能システム」は存在するか?
ここで言う「万能システム」とは、あらゆることができるシステムを指します。運用処理、分析処理、ストリーム処理、データ可視化、データ共有、データガバナンスなど、すべてのタスクが一つのシステムで行われるものです。私はこれは理想的なビジョンだと思いますが、実際には「万能システム」がすべてのニーズを満たす段階にはまだ至っていないと考えています。ここでの重要な質問は、技術的に可能かどうかではなく、その製品が広く受け入れられるかどうかです。
私はこの質問を製品競争とユーザーのニーズという観点からアプローチできると思います。
- 製品競争の観点から見ると、モダンデータソフトウェアの競争は「ハード」なレベルの競争、例えばパフォーマンスや価格にとどまらず、「ソフト」なレベルの競争にも広がっています。例えば、セキュリティや使いやすさです。万能システムが特定のタスクに特化した製品と競争するのは難しいことがよくあります。良い例はZoomです。多くのオフィスソフトウェア、例えばSlackやMicrosoft Teamsなどもビデオ会議を提供していますが、Zoomはその専門性と使いやすさによってこの分野で勝者となっています。
- ユーザーのニーズの観点からは、ユーザーが「万能システム」のすべての機能を使用することは少ないです。中小企業は通常、2~3の機能しか使用せず、それらの機能を最も優れた形で提供するシステムを好む傾向があります。大企業では多くの機能を使用していますが、既存のシステムを置き換えることを納得させるためには、移行のコストが高いことがしばしば障壁になります。
もちろん、万能システムが存在する理由を正当化するさまざまな視点もあります。最も一般的な論拠は、企業の大規模なユーザーは問題を解決したいだけで、解決策を選ぶ時間をかけたくないということです。万能システムの存在は、製品選定の時間を大幅に節約することができます。さらに、このようなシステムは、企業のユーザーにより適した統一されたユーザーエクスペリエンスを提供します。
この質問に対する標準的な答えはないと思いますし、私は次の3~5年間の未来のトレンドは共存だと信じています。それでも、万能システムは少数派であり続けるでしょう。スイスアーミーナイフ、フルーツナイフ、ユーティリティナイフはそれぞれ独自のスペースを持っており、そのためスイスアーミーナイフは他のナイフの市場を占めることはありません。
モダンデータスタックはユーザーのデータにサービスを提供しており、ユーザーがいくつかのテックジャイアンツに縛られる状況を完全に変えています。モダンデータスタックの目標は、データ管理の難易度を大幅に簡素化し、ユーザーがソフトウェアではなくデータ自体にもっと関心を持つようにすることです。もちろん、モダンデータスタックはまだ急速に進化しています。次の記事では、モダンデータスタックの現在の状況と、近い将来に向けて何が待っているのかを説明します。