見出し画像

データメッシュを勉強していく:中央集権型のアーキテクチャのボトルネックを無くす

分析屋の下滝です。

『Data Mesh』本を読みながらデータメッシュを勉強していきます。本来なら順番に解説していくのですが、全部読めていないし理解もしきれていないので、興味ある箇所から見ていきます。

データメッシュのゴール

今回は、データメッシュが達成したいゴールを見ていきたいと思います。別の言い方をすれば、従来のデータアーキテクチャ(データウェアハウス、データレイクなど)のアプローチでは問題になる点に対処する、ともいえます。

従来のデータアーキテクチャのアプローチでは、以下の3点が長い間前提とされていました。この前提に問題があるというのが、議論の焦点になります。
・データを役立てるためには、データは中央集権化されて管理されなくてはならない。管理のための中央組織が存在する。
・データマネジメントのアーキテクチャ、技術、組織はモノリシックである。
・新たな技術がパラダイムを推進し、アーキテクチャと組織を形成する。

『Data Mesh』では、データメッシュが達成したいゴールが以下の3つの観点から解説されています。
ゴール1:複雑で、変わりやすく、不確実なビジネス環境において、データの変化を円滑に管理する。
ゴール2:成長の中においてアジリティを保つ。
ゴール3:コストを超えてデータからの価値を増加させる。

それぞれのゴールを達成するために、何をするのかが解説されています。

今回は、2つ目のゴール「成長の中においてアジリティを保つの中」の「中央集権型のアーキテクチャのボトルネックを無くす」を見ていきます。実際には見ていきながら解釈していきます。

中央集権型のアーキテクチャのボトルネックを無くす

中央集権化されたデータチームが管理する、モノリシックなアーキテクチャであるデータウェアハウスやデータレイクは、アジリティを制限します。特に、データソースやデータのユースケースが増えることに対する制限となります。

モノリシックなアーキテクチャ

アジリティを制限する対象として、データメッシュでは、中央集権化されていることによるボトルネック、特に、複数の関係者による同期の必要性から発生するボトルネックに焦点を当てます。これは、アーキテクチャと人のコミュニケーションの2つの観点から発生します。

データメッシュでは、中央集権化とは異なるアプローチをとります。

データメッシュでは、データプロダクトという概念をアーキテクチャの構成要素とすることで、非中央集権化された(分散化された)アーキテクチャを構築します。

データメッシュのアーキテクチャは複数のデータプロダクトで構成されます。各データプロダクトは、ピアツーピアで、データの提供と消費を行います。

データメッシュにおけるアーキテクチャ(データプロダクトのみを表現)

たとえば、機械学習での学習や、従来のレポーティング業務においてデータが必要な場合は、個々のデータプロダクトにアクセスしてデータを取得します。このとき、中央集権化されたデータウェアハウスやデータレイクとのやりとりは存在しません。また、データパイプラインを管理するデータチームとのやりとりも必要ありません。

上記のように、通常、データの使用(ユースケース)においては、データを使うユーザーはデータプロダクトが提供する手段(アウトプットポートと呼ばれます)を用いてデータを取得します。

データソースにおいては、アプリケーションで生成されたデータ(業務データ)は、ドメイン内に置かれます。

『Data Mesh』, 図9-5をもとに作成
『Data Mesh』, 図9-10をもとに作成

ここからは、少し解釈の議論します。

『Data Mesh』では、ボトルネック同期(synchronization)、調整(coordination)という言葉が、アーキテクチャの評価するにあたり、重要な言葉になっているように思われます。

同期と調整の違いは正直わからないのですが、焦点はデータパイプラインにあります。

データパイプラインとデータチーム

新しいデータソースや新しいユースケースへの対応による変更が必要になった際に、
・アーキテクチャ:データパイプラインの実装で何が必要になるか
・組織構造:実装を行うチーム内で何が必要になるか
という観点です。この観点で、同期や調整が発生し、これがアジリティに問題を与えているということです。

データパイプラインの実装においては、各コンポーネント間(インジェスト、プロセス、提供)に依存関係があると考えられます。依存関係があるとは、あるコンポーネントでの変更が、他のコンポーネントの変更を引き起こすということです。

従来の中央主運型のアーキテクチャでは、データパイプラインのコンポーネント全てに影響します。もちろん、実際の実装で変更が必要になる範囲は限られます。

実装を行うチーム内で何が必要になるかということにおいては、データパイプラインの実装を変更するにあたり、データチーム内でやりとりが発生するということだと思われます。

株式会社分析屋について

ホームページはこちら。

noteでの会社紹介記事はこちら。

【データ分析で日本を豊かに】
分析屋はシステム分野・ライフサイエンス分野・マーケティング分野の知見を生かし、多種多様な分野の企業様のデータ分析のご支援をさせていただいております。 「あなたの問題解決をする」をモットーに、お客様の抱える課題にあわせた解析・分析手法を用いて、問題解決へのお手伝いをいたします!
【マーケティング】
マーケティング戦略上の目的に向けて、各種のデータ統合及び加工ならびにPDCAサイクル運用全般を支援や高度なデータ分析技術により複雑な課題解決に向けての分析サービスを提供いたします。
【システム】
アプリケーション開発やデータベース構築、WEBサイト構築、運用保守業務などお客様の問題やご要望に沿ってご支援いたします。
【ライフサイエンス】
機械学習や各種アルゴリズムなどの解析アルゴリズム開発サービスを提供いたします。過去には医療系のバイタルデータを扱った解析が主でしたが、今後はそれらで培った経験・技術を工業など他の分野の企業様の問題解決にも役立てていく方針です。
【SES】
SESサービスも行っております。