おい、MDSってなんなんだ?
データ活用基盤の話です。
Modern Data Stack; MDSって、知ってますか?
MDSとは、クラウド型DWHを中心とし、それに様々な工程を担うSaaSツールを組み合わせて1つのデータ基盤を構築するという考え方のことです。
実体がないので、MDSって何なのか?って検索し始めると沼にハマります。
テクノロジースタック(技術スタック)のデータ基盤版がデータスタックで、それにモダンとついているとクラウド型DWHを中心とした技術やツール、サービスの組み合わせのことを指すと理解しておけばいいと思いました。
起源
バズワードなので、正確な起源ってのを探す意味はないのですが、いつからこの言葉が言われるようになったのかという流れを整理すると理解が深まります。
クラウドへの移行(2012年〜): 従来のオンプレミス(自社で物理的に管理するデータセンター)からクラウドベースのサービスへの移行が進んだ。(AWS Redshiftの登場)
ETLからELTへのシフト(2016年〜): データウェアハウスにおける従来の「抽出(E)、変換(T)、ロード(L)」(ETL)のプロセスよりも早くて安価な、「抽出(E)、ロード(L)、変換(T)」(ELT)という新しいプロセスが誕生した。(Snowflakeが代表的)
これらのデータ基盤の革命によって、企業内のさまざまデータ活用が進み(海外では)、それらを実現するためのさまざまなサービス群をMDSと呼ぶようになったという感じです。
参考:https://hightouch.com/blog/reverse-etl-bringing-the-modern-data-stack-full-circle
MDSの意味はわかった。で、具体的に何?
大切なのはMDSと呼ばれるサービス群の中身です。
海外のデータ活用は相当に進んでおり、これらのサービス概要を読むだけでなんだかデータ活用のやり方がわかった気になります。
The Modern Data Stack Repositoryに綺麗にまとまっているのですが、カテゴリーが30個もあり情報量で溺れ死にました。少しでも整理できればと、データエンジニアリングライフサイクル(「データエンジニアリングの基礎」を参照)に当てはめてみました。
データエンジニアリングライフサイクルとは、データが生成される段階から、それを収集、保存、処理、分析してビジネスの意思決定に役立てるまでの一連のプロセスのことを言います。
それぞれのカテゴリーがこのデータ活用プロセスのどのあたりに位置づけられるのか理解しておくと、MDSの全体像がなんとなく掴めるかなと思っています。
頑張って整理してみましたが・・・あんまりいい感じになりませんでした。どのサービスもカバー範囲を広げていく傾向があるのでここからここくらいまでがカバー範囲っていう図にしてもいいかと思いましたが、めちゃくちゃ時間がかかりそうだったので断念します。
気を取り直して・・・。
MDSのカテゴリー概要とその代表的なサービスのリンクを列挙します。The Modern Data Stack Repositoryを自分がわかりやすいように再編集したものです。
☁︎ ETL Tools
open-sourceはソースコードが公開されているサービスのことで、利用については基本的に無料のものが多いです。AIを意識したPiplineを提供するものが増えており、データエンジニアリングライフサイクルの右側に侵食し、カバー範囲を広げている印象です。
☁︎ Data Workspace/Collaboration
Jupyter notebookのバケモン。分析プロセスごとレポートし、ダッシュボードまで作成できるって感じです。
☁︎ Data Modelling and Transformation
RiveryってのはETLのオールラウンダーって感じで、今後の展開に着目したいところです。ただ、若干高いかも。
言語はpythonやsqlがメインです。DSにも優しい。
☁︎ Data Warehouses
有名どころがたくさんあります。
☁︎ Feature Store
特徴量の生成や管理を一括して行えるツールです。MLOpsを構築する際には必須項目ですね。最近はLLMのRAGでの使用例も着目されています。
☁︎ Event Tracking
Segmentのサービス紹介ページがわかりやすいです。
個人的には、あとで出てくるcustomer data platform; CDPも含めてこの辺りの情報を集めています。LLMとの組み合わせがエグそうな領域です。
☁︎ Metrics Store
いわゆるSemantic Layer(データベースとデータ利用者の間の層)のサービスが含まれています。LLMとの組み合わせでビジネス用語↔︎コードという変換がこれまで以上にスムーズになるのは確定でしょう。
☁︎ Business Intelligence
本当に数多くのサービスがあります。DWHへの繋ぎこみも含めてノーコード化しています。何を基準に選べばいいのかわかりません。
☁︎ No code automation
データ活用を進めるにあたってぶつかるDS・DAリソース足りない問題を解決してくれるかもしれないサービスです。
・・・このレベルの単純なタスクをこなすだけのDS・DAだとまずい。ということで、どこまで何をできるようになってくるのか注目しています。
☁︎ Augmented Analytics
言語による検索+データビジュアライズというアシスタントレベルのDS・DAが不要となるツールです。集計や簡単な分析なら言語による問いかけで完了するという世界線です。
・・・このレベルの単純なタスクをこなすだけのDS・DAだとまずい。ということで、どこまで何をできるようになってくるのか注目しています。
☁︎ Operational Analytics
とにかく早くシンプルに。日常のアクションに焦点を絞ったBIツールというイメージです。確かにTableauとかってリッチ過ぎる時があるので、その代わりになるかもです。
☁︎ Data Cataloging
データ活用において、メタデータ管理は超絶重要です。そのため、自社で作成・運用する以外にもSaaSを使うっていう選択肢もありだと思います。
☁︎ Synthetic Data
擬似データってやつですね。セキュリティや個人情報関連で今後は匿名加工データではなく、Synthetic dataを使いなさいとかなりかねませんね。要チェックのサービスです。
☁︎ Data Privacy and Governance
DMBOKで詳しく書かれていますが、データガバナンスは非常に多くの要素を管理する必要があります。そのサポートツールがあるなんて・・・導入したい。
☁︎ Spreadsheet based BI
Actiondesk
最強のインターフェイスとして認めざるを得ないエクセルシート。それに争っても仕方ないじゃないか。BIツールでエクセルライクに使用可能というものです。悪くないと思います。
☁︎ Reverse ETL Tools
ETLで統合したデータを解析し、それをReverse ETLで実務者が触っているサードパーティシステムに返す。Operational Analyticsを推進させる技術としても着目されています。分析における「ラスト ワンマイル」問題を解決してくれるかもしれないツールです。
☁︎ Data Lakes
S3があまりにも有名ですが、それ以外も結構あります。DWHと同様に技術選定の基準を教えてもらいたいです。
☁︎ Workflow Orchestration
この辺りもPythonで書けんのか。すごいな。
☁︎ Data Discovery
これはほとんどData Catalogingと同じですね。ユーザーフレンドリーなUIが用意されているということなんでしょうね。
☁︎ Business Reliability/Observability
KPI管理ツールと言ってもいいかもしれないです。このサービスコンセプトは実務にもとりいれたいです。
☁︎ Data Quality Monitoring
非常に重要です。ちなみにDevOpsの可観測性の 3柱はログ(logs)、トレース(traces)、メトリック(metrics)と言われています。これをデータパイプラインにも組み込むということですね。データの場合は5柱で鮮度(freshness)、分布(distribution)、ボリューム(volume)、スキーマ(schema)、系統(lineage)だそうです。これらを観測しておくということですね。
☁︎ Data Streaming
連続的なデータ処理は未知の領域なので興味があります。紹介されていたサービスのページを見てもユースケースの具体的なイメージは出てきませんでした。
☁︎ PLG CRM
PLGにも興味があるし、データ活用基盤にも興味がありますが、あんまり情報が落ちてない・・・。とてつもなく抽象的にまとめると、顧客がプロダクトを使用するうちにどんどん熱狂していき、それによって市場が開拓されていくという顧客のライフサイクル全体を可視化し、全関係者が見てアクションの取れる状態にすること・・・それは素晴らしい。
☁︎ Change Data Capture
もう少しアーキテクチャが複雑になってきた時に検討したい項目です。お試しに無料で入れてみてもいいかもですが、導入後データの追従しかできない?とかの記事もあったのでそんなにお手軽には試せそうにありません。
☁︎ Data Mesh
MDSのカテゴリーなのか?という違和感はあるものの、クラウドDWHを中心とするという定義から外れてはない気もするData Mesh。データエンジニアリングライフサイクルで整理したいという私の思惑からは大きく外れることになります。笑。
DWHを一元化するという戦略ではなく、分散したままで運用するという別のコンセプトとして理解しています。ただ、分散にするとクエリが複雑になることが予想されるので、ユーザーのスキルがある程度高い場合には導入を検討したいですね・・・。
☁︎ Managed Data Stack
そもそもMDSをまとめ始めたのもデータ活用関連のツールが多すぎて整理したいというものでした。専任のチームがいない場合は外部ベンダーに任せるというのも選択肢の一つだと思います。
☁︎ Product Analytics
モニターからABテストまでオールインワンでプロダクトデータ活用をサポートしてくれるツールですね。to C向けのプロダクトを開発するときはこれらのツールを導入してしまった方がいいかも・・・。
☁︎ Customer Data Platform
CDPは顧客データ活用に特化したデータ活用基盤と理解しています。さまざまなソースからファーストパーティデータ(企業が自社で収集したデータ)を取得し、統合し、データをアクティベートさせます。まさに、セールス領域でのデータ活用って感じです。データ活用って結局何すんの?って方は、とりあえずCDPを調べてみるってのもありです。。
☁︎ DataOps
DeveOpsのデータ版です。開発と運用をスムーズに回すためのベストプラクティスが詰まっています。開発環境と運用環境のギャップを埋めてくれるのは非常に有益です。特にプロダクトへの活用が進むにつれOpsの重要性が増してきていることを実感します。
☁︎ Data Apps
これまで分析作業と納品物作成作業は別作業・別ツールでやると割り切ってきましたが、これらのアイデアはアドホックなデータ解析の納品物を劇的に変化させる可能性があります(最近文章がChatGPTっぽくなってきました笑)。また、一括でできると工数削減もそうですが、情報の密度もグッと上がると思います。積極的に試してみたいです。
感想
MDSの言葉の理解からいつの間にかカテゴーリーごとのツール調べになっていました。どのツールもサービスページが綺麗で見ていて飽きなかったですが、ただ種類が多い。海外サイトのため日本のツールは見当たらないですが、その辺も見つけたら足していく予定です。
この記事が気に入ったらサポートをしてみませんか?