Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
メルカリ・メルペイの成長を支える データ基盤とはどんなものか
Search
Ryo Okubo
March 29, 2021
Programming
7
7.1k
メルカリ・メルペイの成長を支える データ基盤とはどんなものか
「メルカリのデータドリブン文化を支える、データプラットフォームとデータマネジメントの話」の発表資料です
https://mercari.connpass.com/event/207191/
Ryo Okubo
March 29, 2021
Tweet
Share
More Decks by Ryo Okubo
See All by Ryo Okubo
UbieのAIパートナーを支えるコンテキストエンジニアリング実践
syucream
2
1.3k
バッチとストリーミング、それぞれの障害に立ち向かう
syucream
3
3.7k
How Scala works at Mercari
syucream
2
1.1k
Production-ready stream data pipeline in Merpay, Inc
syucream
2
13k
データとML周辺エンジニアリン グを考える会 #2 イントロ
syucream
0
650
マイクロサービスにおける ログ収集の課題と取り組み
syucream
7
2.7k
Stream Data Pipeline for Microservices in Merpay
syucream
6
1.2k
メルペイにおける、マイクロサービスに寄り添うログ収集基盤 / Microservices-frendly Data Pipeline
syucream
0
18k
Merpay のデータ収集基盤
syucream
5
1.1k
Other Decks in Programming
See All in Programming
Vueで学ぶデータ構造入門 リンクリストとキューでリアクティビティを捉える / Vue Data Structures: Linked Lists and Queues for Reactivity
konkarin
1
320
FlutterKaigi 2025 システム裏側
yumnumm
0
1.1k
DartASTとその活用
sotaatos
2
140
AIの弱点、やっぱりプログラミングは人間が(も)勉強しよう / YAPC AI and Programming
kishida
10
5.2k
Web エンジニアが JavaScript で AI Agent を作る / JSConf JP 2025 sponsor session
izumin5210
4
1.9k
Flutterアプリ運用の現場で役立った監視Tips 5選
ostk0069
1
490
関数の挙動書き換える
takatofukui
4
740
GeistFabrik and AI-augmented software development
adewale
PRO
0
120
AIと協働し、イベントソーシングとアクターモデルで作る後悔しないアーキテクチャ Regret-Free Architecture with AI, Event Sourcing, and Actors
tomohisa
2
6.2k
Module Harmony
petamoriken
2
490
Bakuraku E2E Scenario Test System Architecture #bakuraku_qa_study
teyamagu
PRO
0
780
Promise.tryで実現する新しいエラーハンドリング New error handling with Promise try
bicstone
3
520
Featured
See All Featured
BBQ
matthewcrist
89
9.9k
We Have a Design System, Now What?
morganepeng
54
7.9k
What's in a price? How to price your products and services
michaelherold
246
12k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Why Our Code Smells
bkeepers
PRO
340
57k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.3k
GraphQLとの向き合い方2022年版
quramy
49
14k
Transcript
1 メルカリ・メルペイの成長を支える データ基盤とはどんなものか #merpay_tecktalk
2 Merpay DataPlatform Software Engineer @syu_cream
3 • データ基盤はまるで荒野 ◦ データの発生源は複雑で多用 ◦ データを活用したい人の欲求は止めどない ◦ 大量データを捌くのにスキルが必要 •
データパイプラインで舗装していく ◦ データを活用できる状態にもっていく ◦ ビッグデータ特有の課題に専門知識をもって挑む データドリブンであるために
4 Merpay DataPlatform A data pipeline Delivery data from/to anywhere
Serve common ETL processes Microservies-friendly Be applicable for both Mercari and Merpay
5 - バッチ処理ベースの ETL パイプラインの開発運用 - マイクロサービスの持つ DB から BigQuery
に転送 - 中間テーブル作成やレポーティング、関連システムへのデータ送信 - ストリーミングログ収集・転送パイプラインの開発運用 - DB の変更データ取得 (CDC) やマイクロサービスのログを BigQuery に転送 - SQL ライクな DSL によるストリーミング ETL やっていること
6 データパイプライン全体図
7 - バッチ処理 - コンピュート: Apache Spark, Apache Beam -
入出力: BigQuery, GCS, Cloud Spanner, Cloud SQL, … - ジョブスケジューラ: Apache Airflow - ストリーミング処理 - コンピュート: Apache Flink, Apache Beam - 入出力: Cloud Pub/Sub (+ Debezium) - その他 - コンピュート環境インフラ : GKE - 構成管理: Terraform - CI/CD: CircleCI, Spinnaker - 監視、オンコール: DataDog, PagerDuty 技術スタック
8 • 連携しているマイクロサービス数: 80+ • 一日に処理するデータ量: 100+ GB • ETL
している BigQuery のテーブル数: 1,500+ • BigQuery 利用者数: 1,000+ アカウント • ... // 各数値は結構ラフに見積もってます データ基盤の利用実績
9 • Data Management ◦ データ基盤を “実際に使えるもの” に整備してもらっている ◦ この後の発表で詳しく触れます!
• SRE ◦ インフラ周りのお手伝いをしてもらったりログ収集基盤のお手伝いをしたり • Microservices Platform ◦ Kubernetes クラスタや Terraform, Spinnaker など相乗りさせてもらっている • Data Analysts, ML, その他たくさんのデータ基盤利用チーム! ◦ 基本的に自由に利用してもらっている ◦ 特殊な事情がある場合はフォローする 他のチームとの関わり
10 • Apache Kafka など別の技術スタックの検討 • データ基盤の機能のセルフサービス化 (社内 PaaS 化?)
• データ活用を目指すチームの支援 • データリネージュの導入 • データ品質チェック・プロファイリングの仕組みの利用拡大 • BigQuery におけるより細粒度な ACL の適用 • … 状況は刻一刻と劇的に変わっていく。やりたいことも無限にある。 プロダクトと共に Go Bold に、変化を容認して挑戦していく必要がある💪 今後挑戦してみたいこと
11 - 過去のイベント登壇等での発表 - https://speakerdeck.com/syucream/microservices-frendly-data-pipeline - https://speakerdeck.com/syucream/production-ready-stream-data-pipeline-in-merpay-inc - https://speakerdeck.com/shoe116/creating-stream-datapipeline-on-gcp-using-apache-beam -
https://speakerdeck.com/syucream/batutitosutorimingu-sorezorefalsezhang-hai-nili-tixiang- kau - テックブログ記事 - https://engineering.mercari.com/blog/entry/20210316-8bb01d19a7/ - https://engineering.mercari.com/blog/entry/2019-06-05-120000/ - https://engineering.mercari.com/blog/entry/2019-05-20-115839/ - https://engineering.mercari.com/blog/entry/gcs_datalake_costcutting/ - メルカン(オウンドメディア)記事 - https://mercan.mercari.com/articles/2018-09-06-120000/ 関連資料