(※この記事はHightouch社の記事「What is a Modern Data Stack? The Definitive Guide」の抄訳です。)
この記事は、下記のような疑問を持っている方におすすめです。
- Modern Data Stackって何?
- Modern Data Stackのデータ基盤ってどんなことに活用できる?
- データ基盤を整えるには何から始めればいい?
近年、企業のデータ活用をより効率化、最適化するために、世界中の企業で「自社にとって最適なデータ基盤をSaaSツールを組み合わせて構築する」という動きが広まっています。Modern Data Stack(モダンデータスタック)と呼ばれるこの新しいデータ基盤の考え方について、前段の文脈となる歴史について軽く紹介した後、主にそれぞれの機能の観点から紹介していきます。
(サクッと振り返る)Modern Data Stack の歴史
2010年以前、クラウドを使ったサービスであるSaaSが普及する前は、企業はデータを活用するためのシステムを構築する際にはパッケージのソフトウェアを購入したり、自社にオンプレミスでサーバーを立てたりする必要がありました。そして作られたデータ基盤は動作が重かったり作業が煩雑だったりしたため、分析には途方もない時間がかかってしまうのが当たり前でした。そのため、データ基盤を使った分析は一部の大手企業のみで行うことのできるものでした。
しかしながら、2012年にAmazonのデータウェアハウス(DWH)であるAWS Redshiftが登場したことで環境は一変します(余談ですが、海外のデータ界隈ではこの時期のことを生命の進化の歴史に準えて “the first Cambrian explosion”(カンブリア爆発)と呼んでいます)。この完全クラウド型のDWHは金額や性能において、これまでのものから圧倒的な進化を遂げており、多くの企業でデータ分析を可能にするものでした。
そして2016年にはRedshiftの考え方を発展させたDWHであるSnowflakeが登場し、より高速で、コスト面でも効率化されたSaaS型のデータ分析プラットフォームが一気に普及していきます。
こうした劇的な環境の変化が訪れる中で、データ基盤の構成においても考え方の変化が起こります。これまで、発生したデータはETL( Extract(抽出)→Transform(変換)→Load(送信) )と呼ばれる工程を経てDWHに入ってきていました。それがDWH自体の性能が飛躍的に向上したことで「Transform(変換)の工程はDWHにデータを入れた後、DWHの中で行った方が効率的なのでは」と考えられるようになっていきました。(この考え方を「ETL」の順序を入れ替えて「ELT」と呼びます。)
さらに、この時期からデータ活用に関わる様々なSaaSツールが登場してきたことによって「クラウド型DWHを中心とし、それに様々な工程を担うSaaSツールを組み合わせて1つのデータ基盤を構築する」という考え方が生まれました。これがModern Data Stack(モダンデータスタック)の基本的な考え方になります。
Modern Data Stack以前のデータ基盤(Legacy Data Stack)との違い
Modern Data Stackとそれ以前のデータ基盤(Legacy Data Stack)との違いについては、オンプレミスとSaaSツールの違いの視点から見ることができます。従来のデータ基盤では基本的にオンプレミスで構築されており、そのハードウェアのメンテナンスや拡張は企業側の大きな負担になっていました。
一方、Modern Data Stackの場合は基盤全体がクラウド型のSaaSツールで構築されているため、そのような管理がそれぞれのツール側で自動で行われます。これによって企業やシステムの利用者はシステムの保守、運用のためのあらゆるコストを削減し、本質的なビジネスの成長のためにリソースを割くことができます。
Modern Data Stackの3S
Modern Data Stackはまだ新しい言葉であり、また変化の激しいMarTech界隈の言葉でもあるため、その正確な定義には曖昧な部分があります。しかしながら、多くの場合において、Modern Data Stackには共通するいくつかの基本的な特徴があります。
上段でもお伝えしたように、Modern Data Stackではクラウド型DWHなどのデータ基盤の中心となるプラットフォームに加え、データ活用に必要なそれぞれの機能に特化したSaaSツールを組み合わせることによって構築されています。そしてそれぞれのツールには シンプルさ(Simplicity)、スピード(Speed)、スケーラビリティ(Scalability) の3つの特徴が基本的な要件として求められます。
- シンプルさ(Simplicity)
そのツールはどれだけ使いやすいか?完全SaaS型でSQLなどの基本的な考え方が分かっていれば扱えるか。 - スピード(Speed)
いかに素早く高いパフォーマンスを発揮できるか。 - スケーラビリティ(Scalability)
ユースケースやビジネスの成長に応じてスケールすることができるか。
そして、Modern Data Stackではデータ基盤の持つ機能それぞれで上記のようなSaaSツールを導入していきますが、その完成系としては下記のようなアーキテクチャになります。
ここからは、こちらの図に記載されているそれぞれの機能について簡単に紹介していきます。
Modern Data Stackの機能
Modern Data Stackが担う機能はそれぞれの企業によって異なってきますが、ここではいくつかの基本的な機能について紹介します。
データ収集 (Data Acquisition)
データ収集はデータソースとなる所からデータを収集する機能になります。そしてそのデータソースは主にSaaSツールや広告プラットフォーム、IoTデバイス、自社データベース、サーバーやWeb、モバイルアプリなどになります。
イベントトラッキング (Event Tracking)
イベントトラッキングは特にユーザーのプロダクト内での行動にまつわるデータ(イベントデータと呼ばれます。)を収集する機能になります。イベントデータにはページの閲覧や最終ログイン、商品のカート投入などにまつわる情報が含まれます。かつてはイベントトラッキングは主にサードパーティCookieなどによって収集されていましたが、昨今のプライバシー規制などによりそれが難しくなり、代わりに企業はイベントトラッキングのツールを自社で導入し、ファーストパーティデータとして直接自社のデータ基盤に取り込むようになってきています。
データ統合 (Data Integration)
データ統合はデータを分析環境へ投入する部分の機能になります。データを投入する方法についてはデータソースによってバッチ投入とリアルタイム投入の大きく2つに分かれます。
バッチ投入は、大量のデータをETLツールを使って決まった時間間隔やトリガーで投入する方法になります。この方法はリアルタイム投入に比べコスト面で優れており、SaaSツールや社内データベース、広告プラットフォームからのデータを投入する際に使われます。
リアルタイム投入は主にユーザーのイベントデータをリアルタイムで取得する際などに用いられ、サーバーやWeb、モバイルアプリなどのデータを投入する際に使われます。
ストレージ/分析 (Strage/Analytics)
ストレージ/分析はデータ統合の工程を経たデータを扱う部分で、基本的にはDWHで行われる機能になります。ここでは様々なデータソースから入ってくるデータが中心となるプラットフォームで統合/集積されます。そしてこのDWHに集められたデータがModern Data Stackにおける主なデータソースとなります。
データ基盤ではデータ活用に使うデータソースを複数持つ場合がありますが、一方で「データは全てDWHで統合し、それを唯一の一元的なデータソースにするべき」という考え方もあります(この考え方におけるDWH上の統合されたデータで作られたデータソースを”a single source of truth”と呼びます)。データソースが統合できることで作業の手戻りをなくし、エンジニアやマーケターがデータ活用によってより価値を創出できる環境を提供することができます。
データ変換 (Data Transformation)
データ変換もDWH上で行われる機能で、データを適切で使いやすい形に整形する工程になります。具体的にはデータの標準化、複製、削除やDWHに入ってきたデータの再構築なども行います。
そしてデータ変換の主な目的はデータモデリングになります。データモデリングとは、それぞれの企業が持つデータのデータモデル =「どこにどの様なデータがあり、それらはどのような関係性なのか」を設計することになります。データ基盤においてはDWH内のデータベース同士の関係性のことを指すことが多いです。データモデルは企業によって様々ですが、基本的にLTV(Life Time Value:生涯顧客価値)やARR(Average Recurring Revenue:年次経常収益)、リードスコアリングなど何かしらのマーケティングの視点を含んだものになっています。
BI (Business Intelligence)
データモデルに沿ってデータが加工、整形された後は、そこから示唆を得るためにデータを可視化することが必要になります。BIツールでは、分析レイヤーとして多くの場合DWHのデータを直接繋ぎ、そこでデータの可視化をしたり様々な処理を加えながらビジネスに関する示唆を見つけることを行います。
その際BIツールではレポートやダッシュボードなどを作成することが一般的ですが、データをDWHから直接繋ぐ場合はDWHのデータが更新されることでそれらも自動で更新することができます。
オーケストレーション (Data Orchestration)
Modern Data Stackではそれぞれの機能をつなぐデータパイプラインの構築が重要になります。その中で、それぞれのパイプラインの依存関係を管理したり、データの処理のスケジューリング、モニタリングなどをすることは非常に高度で複雑な作業になります。
オーケストレーションではツールの導入によるワークフローの構築や自動化によってそれらの問題を解消します。
データガバナンス (Data Governance)
データガバナンスはModern Data Stack全体のデータの管理を担う機能になり、大きくデータの観測(Data Observability)、データのカタログ化(Data Cataloging)の2つの観点から構成されます。
データの観測(Data Observability)においては、Modern Data Stack上のデータの状態をモニタリングし、必要に応じてアラートをあげたりその危険性を評価したりすることを行います。そしてモニタリングとしてデータの鮮度や範囲、ボリューム、スキーマの変更、データの源泉などを分析します。こうしたモニタリングによってリアルタイムなデータの状態を可視化することができ、ユーザーがトラブルシューティングやデバッグをすることでデータの確からしさを確認したり最新化をすることができます。
データのカタログ化(Data Cataloging)では、データ基盤のどこにどの様なデータが存在しているかを把握することを行います。分析レイヤーのデータのデータソースがDWH以外に複数存在し、どれを使ったら良いかわからなくなってしまうといったことは多くの企業で起こっていることです。そのため、自社のデータ基盤にあるデータを検索するためのシステムを構築することでデータの使いやすさを向上させることができます。
データアクティベーション (Data Activation)
データ活用を志す企業における重要な課題の一つには、「様々なデータソースから収集し、整形や分析を行ったデータを、最終的にどのように活用の現場に持っていくか」ということが挙げられます。多くの企業では、マーケティング、セールス、財務/経理などの部門や、サービスやプロダクトといった軸によってそれぞれの組織で持っているデータ、使っているデータが異なっていることがあります。
データアクティベーションはそれらの組織にDWH上のデータを届ける機能で、リバース ETL(Reverse ETL)と呼ばれる工程によって様々なシステムやツールへデータを連携します。
この工程を経ることで最終的にデータがビジネスの現場で活用されることとなり、例としてはそれぞれの部門で下記の様なユースケースが挙げられます。
- マーケティング
データ基盤で抽出されたセグメントが広告プラットフォームに連携されることで、リターゲティングや類似ユーザーへの広告などが可能になります。 - セールス
リードスコア、LTV、既存顧客のプロダクト利用状況といったより豊富なデータをSalesforceなどの営業支援や顧客管理のツールに渡して、営業活動に活用することができます。 - カスタマーサクセス
プロダクトに対するユーザーのエンゲージメントデータを使うことで解約や離脱を抑止し、アップセルの機会を発見することができます。 - 財務/経理
最新の在庫状況や顧客情報を使って予測分析することでERPを効率化することができます。
Modern Data Stackがもたらすベネフィット
企業がModern Data Stackを導入するメリットはいくつかの視点から挙げることができます。
- 導入のハードルの低さ
SaaSツールの導入における技術的なハードルの低さは、企業がModern Data Stackを導入することに関してもエンジニアの負担を減らしスピーディな導入に貢献します。 - ビジネスユーザーの利用しやすさ
クラウド型ツールで構成されたアーキテクチャは特定のベンダーへのシステム依存を防ぎ、DWHでデータを統合することでデータのサイロ化を解消します。 - スケーラビリティと費用の柔軟性
ハードウェアを構築したり来年の利用量を見積もって契約する必要がなく、瞬時にリソースを拡大/縮小でき、「使った分だけ支払う」ことができるため費用が効率化されます。 - コネクタを使った外部連携の容易さ
SaaSツールでは外部ツールとの連携のためのコネクタがあらかじめ作られているため、データエンジニアやアナリストがそれらの作業に費やす時間を大幅に削減し、ビジネス成果を出すことに注力できます。
Modern Data Stackを始めるには
最後に、これからModern Data Stackの導入を検討される際には、まずはスモールスタートで始めることをおすすめします。この記事を読まれている方の中には、既にDWHなどのデータを貯めるための何らかのシステムを導入されている企業も多いのではないでしょうか。そういった環境であれば、現状の課題に合わせて1つの機能ずつツールを導入してみることで使われることを意識したデータ基盤にしていくことができます。
その中でも、
- 貯めたデータを可視化/分析出来るようにしたい(BI)
- DWHのデータを色々な他のツールで使えるようにしたい(データのアクティブ化)
などはよくある課題で、こういった所から自社のデータ活用やマーケティングの課題を考えてみるのも良いと思います。
最後まで読んでいただきありがとうございました。