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

マルチプロダクトのデータ基盤設計〜データメッシュへのリアーキテクチャで見えた課題と伸びしろ〜

Noriaki Hiraki
December 06, 2024
160

 マルチプロダクトのデータ基盤設計〜データメッシュへのリアーキテクチャで見えた課題と伸びしろ〜

Noriaki Hiraki

December 06, 2024
Tweet

Transcript

  1. 3
 自己紹介 Findy / データエンジニア 開 功昂 / Noriaki Hiraki

    / @hiracky16 • 2023 年 11 月にファインディの CTO 室データソ リューションチームにジョイン 🙌 • データエンジニアとしてマルチプロダクトのデータ基 盤を設計・開発を推進 • サッカー⚽とかポッドキャスト 🎙が好きです
  2. 4
 事業紹介 エンジニア個人のキャリアや組織に関する領域を中心に複数のサービスを展開。 “挑戦するエンジニアのプラットフォーム”を掲げています。 正社員エンジニアの採用 8 万 人 のエンジニアと700 社

    以 上 の テック企業をマッチング 
 フリーランスエンジニアの採用 全 国で働くリモートエンジニアとテッ ク企業をマッチング エンジニア組織の見える化 GitHubやJiraを解 析し、エンジニア組 織 の見える化と生産性向上をサポート 開発ツールのレビューサイト 
 データ基盤も含め様々なツールの選定理 由やレビューを掲載

  3. 5
 • ファインディのデータ基盤と組織 • データメッシュへの移行理由と背景 • データメッシュへのリアーキテクチャ ◦ 分散型のデータアーキテクチャ ◦

    データをプロダクトとして扱う ◦ セルフサービスのデータプラットフォーム ◦ フェデレーテッド・ガバナンス • 学んだ教訓とベストプラクティス • まとめ アジェンダ
  4. 7
 ファインディのデータ基盤と組織 • データ基盤チームは 2023 年 7 月に発足 ◦ それまでは機械学習チームが

    BigQuery のお世話 ◦ 利用用途が多岐にわたり整備が追いつかずデータエンジニアを採用 • データ組織は横断型組織 • データ基盤は事業部付のデータアナリストや機械学習エンジニアが利用 • 複数事業部横断で 1 つの BigQuery にデータを蓄積
  5. 9
 現行アーキテクチャの伸びしろ • データの取得部分がブラックボックス ◦ 後ほど GAS を経由して BigQuery へアクセスしていたことが判明

    • データソースの変更に対する影響範囲が見積もれない ◦ データリネージが追えない • 権限管理ができていない • クエリの正確性が担保できていない • 検証環境がないため新規開発やアップデートが困難
  6. 12
 • 採用理由 ◦ 事業やチームごとにアクセス権を管理できる設計 ◦ データ蓄積や利活用の幅をより柔軟に広げられる ◦ 事業ごとにデータの品質を高める活動に集中できる •

    採用前の心配事 ◦ 事業部間の連携が遅くなりそう ▪ → 一旦できなくなるが別の方法で連携する ◦ データエンジニアが複数人必要 ▪ → 採用頑張る💪💪💪 データメッシュへの移行理由と背景
  7. 15
 データメッシュに必要な 4 つの原則 • 分散型のデータアーキテクチャ ◦ 各ドメインチームがデータを所有・管理 • データをプロダクトとして扱う

    ◦ ユーザーのニーズに応える高品質なデータ提供 • セルフサービスのデータプラットフォーム ◦ 技術的な障壁を下げ、各チームが独立してデータ活用 • フェデレーテッド・ガバナンス ◦ 組織全体でのデータ標準とポリシーの策定・遵守
  8. 19
 データメッシュに必要な 4 つの原則 • 分散型のデータアーキテクチャ ◦ 各ドメインチームがデータを所有・管理 • データをプロダクトとして扱う

    ◦ ユーザーのニーズに応える高品質なデータ提供 • セルフサービスのデータプラットフォーム ◦ 技術的な障壁を下げ、各チームが独立してデータ活用 • フェデレーテッド・ガバナンス ◦ 組織全体でのデータ標準とポリシーの策定・遵守
  9. 20
 データ品質に対する取り組み • データソース側に対する取り組み ◦ テストはカバレッジが高めに設定 • SQL の品質担保 ◦

    コーディング規約を作成 ◦ 一部 sqlfluff を導入して機械的に検知 • 事業サイドとモデリングの勉強会
  10. 22
 データメッシュに必要な 4 つの原則 • 分散型のデータアーキテクチャ ◦ 各ドメインチームがデータを所有・管理 • データをプロダクトとして扱う

    ◦ ユーザーのニーズに応える高品質なデータ提供 • セルフサービスのデータプラットフォーム ◦ 技術的な障壁を下げ、各チームが独立してデータ活用 • フェデレーテッド・ガバナンス ◦ 組織全体でのデータ標準とポリシーの策定・遵守
  11. 23
 セルフサービスのデータプラットフォーム • BigQuery の UI を通してデータを見てもらう or Looker Studio

    やスプ レッドシートへ繋いで見る ◦ 定期的に見るものに関しては dbt or Dataform 化 • 各事業部でデータ基盤に必要なツールを導入 ◦ 組織事に微妙に事情が違うため ◦ データチーム側のキャッチアップが一定難しくなっている
  12. 24
 データメッシュに必要な 4 つの原則 • 分散型のデータアーキテクチャ ◦ 各ドメインチームがデータを所有・管理 • データをプロダクトとして扱う

    ◦ ユーザーのニーズに応える高品質なデータ提供 • セルフサービスのデータプラットフォーム ◦ 技術的な障壁を下げ、各チームが独立してデータ活用 • フェデレーテッド・ガバナンス ◦ 組織全体でのデータ標準とポリシーの策定・遵守
  13. 30
 “セルフサービス” をレベルアップし続ける • 「セルフサービス = BigQuery で SQL を実行する」の危険性

    ◦ SQL にハードルがある人がいて利活用が広まらない ◦ SQL が書ける人が増えると一貫性の欠如 • 組織ごとやドメインによってセルフサービスの意味合いが違う ◦ ハードルを下げつつ、高品質で一貫性のあるサービスを模索し続ける
  14. • データメッシュはデータエンジニアが必要 • 社内のメディアを使ってアウトプットし続ける • ファインディのイベント ◦ 時々データ系のイベントで公募もやっているのでぜひ! • Findy

    Tools(ツールのレビューサイトで dbt や TROCCO などを掲載) ◦ (審査あり)誰でもレビュー投稿できます! 31
 データエンジニアの採用に注力
  15. 33
 • データメッシュの 4 原則は抑えつつ設計は進めましょう ◦ データインフラだけでなく組織のアーキテクチャも変える • DRY に進めるために共通化が大切

    • データプラットフォームのセルフサービス化は一長一短あるのでその時の 最適を求める • 採用したアーキテクチャによってはデータエンジニアの採用を頑張る必要 がある • データチームのアウトプット場として、ファインディのイベントや Tools へのレビュー寄稿はおすすめ まとめ