Upgrade to Pro — share decks privately, control downloads, hide ads and more …

事業成長を支えるためのデータ アーキテクチャの取り組み - Data Engineering ...

Avatar for MonotaRO MonotaRO PRO
November 10, 2025
15

事業成長を支えるためのデータ アーキテクチャの取り組み - Data Engineering Summit

Avatar for MonotaRO

MonotaRO PRO

November 10, 2025
Tweet

More Decks by MonotaRO

Transcript

  1. 10/23 モノタロウのデータ活用の歴史は古い • 2010年のDWH導入からデータの基盤の歴史は始まった ◦ その前からデータ分析は行われていた • 新システムの開発・導入をしながら、自分たちでデータ基盤を整備 • 詳しくは下記のブログに記述してあります

    ◦ MonotaROのデータ基盤10年史(前編) ◦ MonotaROのデータ基盤10年史(後編) ◦ (この記事も2021年なので4年前のものですが) 2010 2016  2017       2020   2021   DWH導入  BQに移行   リアルタイムパイプライン開発     Looker導入  dbt導入 | | |    | |
  2. 11/23 モノタロウのデータ基盤の概要 11 Data Warehouse ECサイト 業務 オペレーション ECサイト Sheets

    基幹システム 11 カスタマー 社員 DWH(BigQuery)を中心に構成 リアルタイムパイプラインシステムと集計データ用APIは内製で開発 基幹システムのデータをCDCをリアルタイムで同期 検索・推薦などサービス利用のための集計データを提供
  3. 14/23 事業成長にともに生まれたデータへの課題 • データに対する要求の複雑化 ◦ 事業規模が大きくなるに従って、業務ドメインも変化 ◦ 部署間でのコンテクストの違いが大きくなる • データを提供する側が分析のフローに参加できていない

    ◦ 業務データを自動的にDWHに展開する環境を用意(※秘匿情報は除外) ◦ データ提供側(業務部門)が能動的に参加する余地がない ◦ 業務側のコンテクストが伝わらず、データだけがDWHに置いてある状態 • → 事業が成長にするにつれ、部署間の分断が顕在化 ◦ 会社規模が小さい時は、コンテクストが異なっても伝わる余地があった
  4. 16/23 データメッシュとは • 分散型のデータアーキテクチャ ◦ Data Mesh Principles and Logical

    Architecture • 特徴(細かい定義はいろいろありますが) ◦ 事業ドメインが自組織のデータの公開を管理できるようにする ◦ ドメインは単にデータを共有するだけではなく、 使えるような状態になったデータプロダクトとして公開する ◦ 安全にデータのやり取りをできる環境の用意 ▪ ドメインがデータパイプラインを独自に組み上げられる インフラストラクチャの提供 ▪ ドメイン間のデータのやり取りを規定するデータガバナンスの提供 • ドメイン、データプロダクト、インフラストラクチャ、データガバナンスの 4つの要素が重要
  5. 17/23 データメッシュとは インフラストラクチャ データガバナンス ドメインA データプロダクト ドメインB ドメイン間では データプロダクトを介して やり取りする

    データプロダクトはインフラストラクチャを利用して作成 データの扱いについてのポリシーはデータガバナンスで管理
  6. 18/23 データメッシュを選んだ理由 • 「自由にデータを活用できる環境」を超えて 「自律的にデータを活用できる環境」にレベルアップする必要があった • 自律的な環境を目指す「型」としてデータメッシュが適切だと判断した ◦ 相互的に円滑なデータのやり取りができるようになる ◦

    組織・データが分散しても統制が効かせられる • また、一般的な概念ということにも利点があると考えた ◦ 「データメッシュ」で検索すればいろんな人の説明が見つかる ◦ 生成AIなども答えてくれる
  7. 19/23 課題のデータメッシュによる解決 • 「データに対する要求の複雑化」 → データプロダクトによって、データの正しい使い方を規定 • 「データを提供する側が分析のフローに参加できていない」 → 提供側がデータプロダクトを用意できるインフラストラクチャを用意

    → データガバナンスによって、全体への統制を仕組みとして効かせられる • 「内製システムの老朽化」 → データメッシュを一つの型として、データ基盤の再構築を検討 • 課題も解決できそうなので、データメッシュのために動き始める
  8. データ基盤の担当 アナリティクス エンジニアリングの担当 データ基盤の担当 21/23 モノタロウのデータメッシュの取り組み • 部署毎に担当領域を明確化 • AEはドメインの責務の明確化とドメインにおけるデータプロダクトの構築を担当

    • データ基盤はデータガバナンスとインフラストラクチャの整備を担当 • こうして、モノタロウのデータメッシュは順調に実現されたのであった...... インフラストラクチャ データガバナンス ドメインA ドメインB データプロダクト
  9. 23/23 「データメッシュとは何?」 • まずはデータ関連の業務を行っている部署に データメッシュをやっていきたいという説明を行った • その結果、よく分からないという反応が多かった ◦ 「データが商品(プロダクト)ってどういうこと?」 ◦

    「データメッシュはドメイン毎に自分たちで管理しないといけない?」 ◦ 「インフラストラクチャって今と何が変わるの?」 • また「データメッシュの実現=我々の目的」だと認知され始めた ◦ データメッシュはあくまで自律可能な環境を実現するための手段の型でしかない ◦ 手段と目的が入れ替わって成功することはほとんどない • ま、まずい......🥺
  10. 24/23 データメッシュがなぜ理解されなかったのか • データメッシュとはソフトウェア工学に基づいた抽象的な考え方 ◦ 「責務ごとに高凝縮と疎結合を実現することで自律的な開発を可能にする」 ◦ DDD、サービスメッシュ、マイクロサービスなど類似の概念が多い • ソフトウェアエンジニアであっても理解が難しい

    • そしてモノタロウの場合、エンジニア以外の人もデータ環境の構築に参加する ◦ 業務部門には必ずしもエンジニアが所属しているわけではない • つまり、専門でない人も巻き込んで理解が難しい概念の実現を目指している ◦ 全員がデータメッシュを理解をする必要はないが、 全員が無理解のままでは到底進めることができない
  11. 25/23 まずは身近なところから始める • まず、我々のチームがデータメッシュを理解しないと話にならない ◦ 実際、メンバーごとに思い描いているデータメッシュが異なる • 輪読会を通して地道に学習 ◦ データメッシュについて、書物を通して議論

    ◦ 背景となるソフトウェア工学についても学ぶ ◦ ある程度、データメッシュに関する認識が揃う • 今のデータ基盤にデータメッシュを当てはめてみる ◦ データメッシュのために新しいものを作らなければならないことはない ◦ 既存のデータ基盤とデータメッシュの差分から何をやるべきかを考える ◦ データメッシュという型を通して、本当に目指すものも見えてくる
  12. 26/23 データ基盤をデータメッシュに当てはめてリデザインした例 • リアルタイムパイプラインシステム ◦ 基幹システムのOLTP(MySQL)をCDCでDWH(BigQuery)に同期するシステム • このシステムのデータメッシュでの役割は何か ◦ 機能要件と非機能要件で整理

    • →「データプロダクトを提供するためのインフラストラクチャ」 ◦ その前提で必要な機能が実現できるように再設計 ◦ Zero ETLやLakebaseなど、最近の概念との類似点・違いも整理 DWH CDC 基幹システム CDC 基幹システム DWH 同一のテーブルに対しても 利用者向けのデータプロダクトの機能と インフラストラクチャとしての機能を分離 OLTPと同じ状態のテーブルをDWHに再現
  13. 27/23 データメッシュを広めていく • チームでの共通理解ができたら、次は外に広めていく • まずできるところからデータメッシュと比べて手を加えていく ◦ インフラストラクチャとしてのシステムを再設計 ◦ セキュリティの部門と一緒にデータガバナンスを整備

    ◦ データプロダクトのサンプルとして、DWHテーブルを用意 • それからは説明、説明、アンド説明の繰り返し ◦ アナリティクスエンジニアリングのメンバーも常駐先で データに関わるタスクをこなし、信頼を得ている • そして、まだまだ道半ば......