メルカリでは、複数のマイクロサービスやデータベースから多種多様なデータを収集し、市場分析やマーケティング、不正対策など様々な用途で活用しています。そのための最適な基盤構築と運用に取り組んでいるのが私たちのチームです
Guruprasath Thavamani
エンジニアリングマネージャー、データプラットフォーム, Mercari
株式会社メルカリは日本最大のC2Cマーケットプレイス運営企業だ。2013年の設立以来、月間利用者数約2300万人に上るフリマアプリ「メルカリ」の開発を通じて成長を続けている。
さらに近年では、
スマホ決済サービス「メルペイ」、
メルカリ内で得た売上金でビットコインを購入できるサービス「メルコイン」
スキマバイトをスマホで探せる「メルカリハロ」を開始するなど、ビジネス領域をさらに拡大させている。
これらのサービスにより、「あらゆる価値を循環させ、あらゆる人の可能性を広げる」というメルカリのミッションを遂行している。メルカリでは、商取引をはじめとして、日々、膨大なデータが発生している。
それらの有効活用のための基盤構築を担っているのが、Data Platform部だ。Data Platform部のGuruprasath Thavamani氏は、
Confluent の導入が、メルカリによるリアルタイム変更データキャプチャ(CDC)の実 装を簡素化し、より効率的な事業運営を実現した方法をご確認ください。
Confluent がメルカリのリアルタイム変更データキャプチャ(CDC)の実装を簡素化し、より効率的な事業運営を実現した方法をご確認ください。
メルカリでは、Kubernetesを活用したマイクロサービスによるアプリケーション開発を内製で行っているほか、データウェアハウスにはBigQueryを採用している。さらにCDC(Change Data Capture)環境の構築により、データベース内のデータの新規作成、削除、変更もリアルタイムに取得している。
CDC環境を実現するために用いられているのが、「Kafka」だ。
ストリーミングデータをリアルタイムで取り込んで処理するために、最適化された分散データストアである。Kafkaを選択した理由には、可用性向上のための仕組みが備わっていたことや、様々なデータソースと柔軟に接続可能なフレームワーク「Kafka Connect」が利用できることがあった。
しかしData Platform部の中村晃大氏は、
「Kafkaを自社内で運用するには、専任の技術者等のリソースが不足しており、
導入や構築、運用に関する負荷を抑制できるシステムが必要と考えました」と語る。
採用の決め手は高い自由度と容易な操作性
この課題を解決したのが、Kafka をベースとしたデータストリーミングプラットフォーム「Confluent Cloud (以降Confluent)」だ。Kafkaのコア機能に加え、データ処理機能や信頼性向上のための機能群を付加、フルマネージドサービスとして提供する。
Confluent採用の決め手は、Kafkaクラスタ構築の自由度の高さにあった。
