Slide 1

Slide 1 text

1 メルカリ・メルペイの成長を支える データ基盤とはどんなものか #merpay_tecktalk

Slide 2

Slide 2 text

2 Merpay DataPlatform
 Software Engineer
 @syu_cream


Slide 3

Slide 3 text

3 ● データ基盤はまるで荒野 ○ データの発生源は複雑で多用 ○ データを活用したい人の欲求は止めどない ○ 大量データを捌くのにスキルが必要 ● データパイプラインで舗装していく ○ データを活用できる状態にもっていく ○ ビッグデータ特有の課題に専門知識をもって挑む データドリブンであるために

Slide 4

Slide 4 text

4 Merpay DataPlatform A data pipeline
 Delivery data from/to anywhere 
 Serve common ETL processes 
 Microservies-friendly 
 Be applicable for both Mercari and Merpay 


Slide 5

Slide 5 text

5 - バッチ処理ベースの ETL パイプラインの開発運用 - マイクロサービスの持つ DB から BigQuery に転送 - 中間テーブル作成やレポーティング、関連システムへのデータ送信 - ストリーミングログ収集・転送パイプラインの開発運用 - DB の変更データ取得 (CDC) やマイクロサービスのログを BigQuery に転送 - SQL ライクな DSL によるストリーミング ETL やっていること

Slide 6

Slide 6 text

6 データパイプライン全体図

Slide 7

Slide 7 text

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 技術スタック

Slide 8

Slide 8 text

8 ● 連携しているマイクロサービス数: 80+ ● 一日に処理するデータ量: 100+ GB ● ETL している BigQuery のテーブル数: 1,500+ ● BigQuery 利用者数: 1,000+ アカウント ● ... // 各数値は結構ラフに見積もってます データ基盤の利用実績

Slide 9

Slide 9 text

9 ● Data Management ○ データ基盤を “実際に使えるもの” に整備してもらっている ○ この後の発表で詳しく触れます! ● SRE ○ インフラ周りのお手伝いをしてもらったりログ収集基盤のお手伝いをしたり ● Microservices Platform ○ Kubernetes クラスタや Terraform, Spinnaker など相乗りさせてもらっている ● Data Analysts, ML, その他たくさんのデータ基盤利用チーム! ○ 基本的に自由に利用してもらっている ○ 特殊な事情がある場合はフォローする 他のチームとの関わり

Slide 10

Slide 10 text

10 ● Apache Kafka など別の技術スタックの検討 ● データ基盤の機能のセルフサービス化 (社内 PaaS 化?) ● データ活用を目指すチームの支援 ● データリネージュの導入 ● データ品質チェック・プロファイリングの仕組みの利用拡大 ● BigQuery におけるより細粒度な ACL の適用 ● … 状況は刻一刻と劇的に変わっていく。やりたいことも無限にある。 プロダクトと共に Go Bold に、変化を容認して挑戦していく必要がある💪 今後挑戦してみたいこと

Slide 11

Slide 11 text

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/ 関連資料