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
6.7k
メルカリ・メルペイの成長を支える データ基盤とはどんなものか
「メルカリのデータドリブン文化を支える、データプラットフォームとデータマネジメントの話」の発表資料です
https://mercari.connpass.com/event/207191/
Ryo Okubo
March 29, 2021
Tweet
Share
More Decks by Ryo Okubo
See All by Ryo Okubo
バッチとストリーミング、それぞれの障害に立ち向かう
syucream
3
3.4k
How Scala works at Mercari
syucream
2
980
Production-ready stream data pipeline in Merpay, Inc
syucream
2
13k
データとML周辺エンジニアリン グを考える会 #2 イントロ
syucream
0
600
マイクロサービスにおける ログ収集の課題と取り組み
syucream
7
2.6k
Stream Data Pipeline for Microservices in Merpay
syucream
6
1.2k
メルペイにおける、マイクロサービスに寄り添うログ収集基盤 / Microservices-frendly Data Pipeline
syucream
0
18k
Merpay のデータ収集基盤
syucream
5
1k
ngx_mrubyとfiberの話 (未完成版)
syucream
2
290
Other Decks in Programming
See All in Programming
レガシーシステムにどう立ち向かうか 複雑さと理想と現実/vs-legacy
suzukihoge
14
2.3k
Snowflake x dbtで作るセキュアでアジャイルなデータ基盤
tsoshiro
2
520
みんなでプロポーザルを書いてみた
yuriko1211
0
280
[Do iOS '24] Ship your app on a Friday...and enjoy your weekend!
polpielladev
0
110
ペアーズにおけるAmazon Bedrockを⽤いた障害対応⽀援 ⽣成AIツールの導⼊事例 @ 20241115配信AWSウェビナー登壇
fukubaka0825
6
2k
ActiveSupport::Notifications supporting instrumentation of Rails apps with OpenTelemetry
ymtdzzz
1
250
subpath importsで始めるモック生活
10tera
0
320
카카오페이는 어떻게 수천만 결제를 처리할까? 우아한 결제 분산락 노하우
kakao
PRO
0
110
Modular Monolith Monorepo ~シンプルさを保ちながらmonorepoのメリットを最大化する~
yuisakamoto
3
240
イマのCSSでできる インタラクション最前線 + CSS最新情報
clockmaker
3
250
Why Jakarta EE Matters to Spring - and Vice Versa
ivargrimstad
0
1.2k
Better Code Design in PHP
afilina
PRO
0
130
Featured
See All Featured
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
27
4.3k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.3k
Adopting Sorbet at Scale
ufuk
73
9.1k
Designing for Performance
lara
604
68k
Designing Experiences People Love
moore
138
23k
RailsConf 2023
tenderlove
29
900
How to Think Like a Performance Engineer
csswizardry
20
1.1k
We Have a Design System, Now What?
morganepeng
50
7.2k
Rails Girls Zürich Keynote
gr2m
94
13k
Keith and Marios Guide to Fast Websites
keithpitt
409
22k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
47
2.1k
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/ 関連資料