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

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

Ryo Okubo
March 29, 2021

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

「メルカリのデータドリブン文化を支える、データプラットフォームとデータマネジメントの話」の発表資料です
https://mercari.connpass.com/event/207191/

Ryo Okubo

March 29, 2021
Tweet

More Decks by Ryo Okubo

Other Decks in Programming

Transcript

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

    View Slide

  2. 2
    Merpay DataPlatform

    Software Engineer

    @syu_cream


    View Slide

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

    View Slide

  4. 4
    Merpay DataPlatform
    A data pipeline

    Delivery data from/to anywhere 

    Serve common ETL processes 

    Microservies-friendly 

    Be applicable for both Mercari and Merpay 


    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide