「メルカリのデータドリブン文化を支える、データプラットフォームとデータマネジメントの話」の発表資料です https://mercari.connpass.com/event/207191/
1メルカリ・メルペイの成長を支えるデータ基盤とはどんなものか#merpay_tecktalk
View Slide
2Merpay DataPlatform Software Engineer @syu_cream
3● データ基盤はまるで荒野○ データの発生源は複雑で多用○ データを活用したい人の欲求は止めどない○ 大量データを捌くのにスキルが必要● データパイプラインで舗装していく○ データを活用できる状態にもっていく○ ビッグデータ特有の課題に専門知識をもって挑むデータドリブンであるために
4Merpay DataPlatformA 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/関連資料