Modern Data Stackを整理してみた

# 背景・目的
Modern Data Stack（以降、MDSといいます。）について、明確に理解できてなかったのでキャッチアップのため整理します。

# まとめ

下記に特徴があります。

|項目 |内容 |
|:--|:--|
|概要 |データ活用のためのSaaSサービス・ソフトウェア群。複数のカテゴリで構成される。|
|登場の背景|下記が考えられる。<BR>・クラウドネイティブになった<BR>・多様なワークロードに対応する。<BR>・分析までのスピードを上げるニーズが高まってきた。|
|メリット|・コスト<BR>・開発スピードの向上<BR>・敷居の低さ（従来のデータエンジニアではなくても良い）<BR>・分析までのスピードアップ|
|カテゴリ|・ETL Tools<BR>・Data Workspace/ Collaboration<BR>・Data Modelling and Transformation<BR>・Data Warehouses<BR>・Feature Store<BR>・Event Tracking<BR>・Metrics Store<BR>・Business Intelligence (BI)<BR>・Augmented Analytics<BR>・Operational Analytics<BR>・Data Cataloging<BR>・Synthetic Data<BR>・Data Privacy and Governance<BR>・Spreadsheet based BI<BR>・[Reverse ETL Tools](https://qiita.com/zumax/items/5c82a7b1f0bcebda1ef9)<BR>・Workflow Orchestration<BR>・Data Discovery<BR>・Business Reliability/Observability<BR>・[Data Quality Monitoring](https://qiita.com/zumax/items/d345643d2fe3ece0ebf2)<BR>・Data Mesh<BR>・Data Streaming<BR>・PLG CRM<BR>・Change Data Capture<BR>・Managed Data Stack<BR>・Product Analytic<BR>・Customer Data Platform(CDP)<BR>・DataOps<BR>・Data Apps|


# 概要
## Modern Data Stackとは
[Overview of The Modern Data Stack / モダンデータスタック概論](https://speakerdeck.com/satoshihirose/modandetasutatukugai-lun?slide=5)を下記のように記載がありました。

> データ活用・管理領域における現代の環境に合うような設計の新しいサービス・ソフトウェア群
> システムの進化、ニーズの急増、データ活用領域の拡大によるトレンドの変化を指すバズワード

- データ領域のサービス・ソフトウェア群
- バズワード

[いま話題のモダンデータスタックとは？dbtとの関係性も解説>モダンデータスタックとは？](https://blog.trocco.io/glossary/modern-data-stack)には、下記の記載がありました。

> モダンデータスタックは、近年メジャーになったデータエンジニアリングサービスのなかでも、クラウドで動作するSaaSタイプのサービスを30のカテゴリーに分類したものです。
> 各カテゴリーはさらに大きく4つのカテゴリーに大別でき、それぞれデータ分析の各プロセス（後述）に対応しています。

> データ統合、ETLサービス
> DWH、データレイクサービス
> データ変換サービス
> データ分析サービス

- SaaSタイプのサービスを30カテゴリに分類し、4つに大別できる。

> 各カテゴリーのサービスを組み合わせることで、クラウドベースのデータ分析基盤を構築できます。

- 組み合わせて利用する。

> 従来のオンプレミス環境主体の体制から、クラウドサービスへ転換することでコストを抑えたデータ活用の体制を作れる点がメリットです。

- クラウドサービスを使用し、コストを抑えてデータ活用できる

> またモダンデータスタックに数えられるサービスの多くは、データエンジニアだけでなく非エンジニアにも利用可能な作りを志向しており、コスト面にくわえてデータエンジニアリングのハードルを下げられます。

- データエンジニア以外も利用できる

## Modern Data Stackの背景
[Overview of The Modern Data Stack / モダンデータスタック概論](https://speakerdeck.com/satoshihirose/modandetasutatukugai-lun?slide=15)
によると、大きく下記の3つの変化が背景のようです。

> - 開発・運用コストが激減
> - スケーラブル
> - データエンジニアの役割の変化

- ビッグデータユーザ以外のユーザも利用することになり、様々なユースケースに対応できるように進化してきた。
- 従来のETLからELTに変化してきた。
- データ分析のための開発や運用が必要になってきた。


[いま話題のモダンデータスタックとは？dbtとの関係性も解説>なぜモダンデータスタックはトレンド化しているのか](https://blog.trocco.io/glossary/modern-data-stack)には、下記の記載がありました。

> ビッグデータという言葉が登場して以降、オンプレミス環境主体のデータ分析基盤（レガシーデータスタック）は2つの課題を抱えていました。
> - データ分析に基づいたスピーディーな意思決定が必要とされるのに、分析がそのスピードに追いつかない
> - 増え続ける社内のデータ量が物理サーバーに収まらない

- データ分析までにスピードがかかる
- オンプレからクラウドへの移行

## カテゴリ
[The Modern Data Stack Repository.categorries](https://www.moderndatastack.xyz/categories)には、下記のように定義されています。

### ETL Tools
ETL は、さまざまな場所からのデータを 1 つの場所に統合するプロセスとして定義でき、社内の人々がそのデータを使用して洞察を引き出すことができます。


### Data Workspace/ Collaboration
データ ワークスペースは、分析の深さ、コラボレーション、厳選されたアーティファクトのシンプルな共有を採用し、従来の BI ツールに柔軟に対応するツールを提供します。

### Data Modelling and Transformation
データ モデリングと変換には、データ モデルを開発し、データを目的のシステムに移動してさらに使用するために必要な適切な形式にデータを変換するプロセスが含まれます。

### Data Warehouses
データ ウェアハウスは、貴重な洞察を引き出すためにビジネス インテリジェンス アプリケーションで使用できるようにデータがクリーニングおよび準備される前または後のいずれかにデータが存在する集中データ管理システムです。

### Feature Store
「Feature Store」は、さまざまな機械学習機能を保存するストレージです。これは、生データとモデルに必要なインターフェイスの間の抽象化です。

### Event Tracking
イベント追跡には、ツールまたはシステムを利用してイベントを追跡し、そのデータを保存することが含まれます。このようなツールは「イベント トラッカー」と呼ばれます。イベント トラッカーは、後で参照できるさまざまなイベントを追跡し、傾向を分析します。イベント トラッカー ツールの種類は目的によって大きく異なります。

### Metrics Store
メトリクス ストアは、組織が主要なメトリクスを保存するための集中管理された場所です。これは、すべてのメトリクスを 1 か所で定義し、いつでもどこでも必要なときに使用できると言えます。

### Business Intelligence (BI)
ビジネス インテリジェンスとは、企業データをインテリジェントに活用し、ビジネス上の意思決定プロセスに役立つ貴重な洞察を引き出す、データ関連のツール、手法、ベスト プラクティスの使用を指します。


### No code automation
ノーコード オートメーションは、主に技術者ではないユーザーが、スケジュールまたはトリガーに基づいてアプリケーション間でデータを共有する新しい方法を作成するプロセスを指す総称です。

### Augmented Analytics
拡張分析は、機械学習と自然言語処理を使用して、通常はアナリストまたはデータ サイエンティストによって行われる分析を自動化するデータ分析のアプローチです。データサイエンスと人工知能を組み合わせたものです。


### Operational Analytics
運用分析は、ビジネスの運用プロセスを改善することを目的とした分析アプローチです。データ分析とビジネス インテリジェンスの組み合わせにより、日常業務をリアルタイムで効率化します。

### Data Cataloging
Data Catalog は、各データ システムのすべてのメタデータをスキャンしてマッピングすることにより、データの中心的な場所として機能します。データ カタログは、データを検索して理解するための生きた単一の参照ソースを作成します。


### Synthetic Data
合成データは元のデータに似ていますが、機密情報は含まれていません。企業は合成データ ツールを使用して ML モデルをテストします。シミュレーションを使用して、現実世界のものではないまったく新しい高品質のデータを作成します。さらに、実世界のデータの統計的特性を模倣し、高品質の新しいデータ ポイントを生成するため、製品やサービスのテストにも使用できます。

### Data Privacy and Governance
データ プライバシーとガバナンスは、データの整合性とデータ保護を確保し、企業によるデータの管理を保証するプロセスで構成されます。

### Spreadsheet based BI
スプレッドシート ベースの BI - さまざまなソースからデータを収集し、ダッシュボードではなくスプレッドシートのようなインターフェイスで視覚化することと定義できます。

### Reverse ETL Tools
名前が示すように、リバース ETL は、従来の ETL プロセス内の操作の順序を反転します。これは、データを運用可能にするためにデータ ウェアハウスからサードパーティ システムにデータを移動するプロセスとして定義できます。まずデータ ウェアハウスまたはデータ レイクからデータを抽出し、必要に応じて変換して、サードパーティの SaaS アプリケーションまたはプラットフォームに読み込みます。

### Data Lakes
データ レイクは、あらゆる規模のすべての構造化データと非構造化データを保存できる集中リポジトリです。

### Workflow Orchestration
ワークフローとは、繰り返されるソフトウェア プロセスを指します。これらのプロセスはコードで定義することも、完全に手動で定義することもできます。ワークフロー オーケストレーションは、そのような自動化されたプロセスの構成と状態を管理および調整する行為です。

### Data Discovery
データ検出は、データを一元化して 1 か所から管理するプロセスです。データ検出ツールは、ウェアハウス、BI ツール、ETL レイヤーの最上位に位置し、データのアグリゲーターとして機能します。

### Business Reliability/Observability
ビジネス ライフ サイクル全体を通じて、さまざまなプロセスを失敗や中断なく実行できる能力が、ビジネスの信頼性です。事業運営において失敗や予期せぬ事態に直面しないと考えるのは正しくないかもしれません。

### [Data Quality Monitoring](https://qiita.com/zumax/items/d345643d2fe3ece0ebf2)
データ品質監視は、組織がシステム内のデータの健全性をチェックし続けるために使用するプロセスであり、DevOps 可観測性のベスト プラクティスをデータ パイプラインに適用することでデータのダウンタイムを排除します。

### Data Mesh
データ メッシュは、分析データ管理のための最新の分散アーキテクチャに基づいた新しいアプローチです。これにより、エンド ユーザーは、最初にデータ レイクやデータ ウェアハウスにデータを転送することなく、データが存在する場所に簡単にアクセスしてクエリを実行できるようになります。

### Data Streaming
データ ストリーミングは、ほぼリアルタイムのシナリオで、高頻度で更新されるさまざまなデータ ソースによって継続的に生成されるデータとして定義されます。これは通常、終わりも始まりもなく、本質的には連続的なデータ型に対するものです。

### PLG CRM
製品主導の成長 CRM または PLG CRM は、製品主導の成長の世界で顧客関係を管理する方法を変えています。PLG CRM は、営業チームが製品使用データのあらゆる側面を活用してセールス トークや会話に役立てることができます。

### Change Data Capture
変更データ キャプチャは、ダウンストリーム システムがその変更に対するアクションをトリガーできるように、ソース システムに発生した変更を追跡および特定するプロセスとして定義できます。


### Managed Data Stack
マネージド データ スタックは、最新のデータ スタックの重要な要素、場合によっては必要なデータ スタック全体をセットアップするのに役立ちます。

### Product Analytic
製品分析は、製品またはサービスが顧客/ユーザーに提供するデジタル エクスペリエンスを分析するプロセスです。製品分析は、パフォーマンスの最適化、問題の診断、顧客アクティビティと長期的な価値の関連付けなど、さまざまな目的で製品またはサービスに関する超重要な情報と洞察を得るのに役立ちます。

### Customer Data Platform(CDP)
カスタマー データ プラットフォーム (CDP) は、今日最も急速に成長しているデータ ツールの 1 つです。CDP ツールは、さまざまなソースから顧客データを収集し、永続的で統合された顧客データベースを作成します。

### DataOps
DataOps (データ オペレーション) は、アジャイルかつプロセス指向の方法を通じて分析を開発および提供するための優れたアプローチとして定義できます。

### Data Apps
分析アプリケーションは、データ利用者向けに構築された専用のインタラクティブな製品です。

# 考察
今回、DataMeshの特徴と、登場した背景、どのようなカテゴリがあるかを整理しました。
それぞれ深く調べていませんが、俯瞰して整理できたのは今後プロダクトを考える上でインデックスが張られてヒントになりそうです。
今後は、これを起点にそれぞれ深掘りしていきたいと思います。

# まとめ
https://www.moderndatastack.xyz/

https://blog.trocco.io/glossary/modern-data-stack

https://blog.trocco.io/event-report/data-engineering-study-vol-14

https://speakerdeck.com/satoshihirose/modandetasutatukugai-lun

https://twitter.com/ValentinUmbach/status/1418242294952644611/photo/1