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

広告配信システムにおけるデータ基盤移行の事例紹介

 広告配信システムにおけるデータ基盤移行の事例紹介

DEIM2025 第17回データ工学と情報マネジメントに関するフォーラム 技術報告 発表資料
https://pub.confit.atlas.jp/ja/event/deim2025/session/3RoomA11-15

More Decks by システム開発部広報委員会

Other Decks in Programming

Transcript

  1. 自己紹介 / 高橋 唐樹 DEIM2025 / Track 2: ビッグデータ基盤技術・データセキュリティ・プライバシ /

    連合学習 [9A-05] 2 ⚫ 株式会社マイクロアド システム開発部 マーケティングプロダクト開発ユニット ⚫ 仕事: 大規模データ基盤関連開発 ⚫ 好きな言語: Python ⚫ 経歴 ◼ 2022/3: 東京農工大学大学院 修士課程修了 ◼ 2022/4: 株式会社マイクロアドに新卒入社
  2. DEIM2025 / Track 2: ビッグデータ基盤技術・データセキュリティ・プライバシ / 連合学習 [9A-05] 3 目次

    1. 会社紹介 ◼ 会社と事業内容 ◼ インターネット広告と大規模データ 2. 大規模データ基盤 ◼ 移行前後の基盤構成 3. 移行の事例紹介 ◼ 工夫・苦労したこと
  3. DEIM2025 / Track 2: ビッグデータ基盤技術・データセキュリティ・プライバシ / 連合学習 [9A-05] 4 目次

    1. 会社紹介 ◼ 会社と事業内容 ◼ インターネット広告と大規模データ 2. 大規模データ基盤 ◼ 移行前後の基盤構成 3. 移行の事例紹介 ◼ 工夫・苦労したこと
  4. マイクロアドについて / VISION DEIM2025 / Track 2: ビッグデータ基盤技術・データセキュリティ・プライバシ / 連合学習

    [9A-05] 5 Redesigning the Future Life ビッグ データ AI テクノロジー データとテクノロジーの力で “未来を予測する”
  5. マイクロアドについて / 事業内容 DEIM2025 / Track 2: ビッグデータ基盤技術・データセキュリティ・プライバシ / 連合学習

    [9A-05] 6 ⚫ 自社製品を提供するデータプロダクト事業 ◼ データプラットフォーム UNIVERSE ◼ 広告主向けプラットフォーム UNIVERSE Ads ◼ 媒体社向けプラットフォーム MicroAd COMPASS ◼ 業種特化マーケティングプロダクト ◼ その他 広告サービス ⚫ 他社製品を扱うコンサルティング事業 ◼ 海外コンサルティングサービス ◼ メディア向けコンサルティングサービス
  6. マイクロアドについて / 事業内容 DEIM2025 / Track 2: ビッグデータ基盤技術・データセキュリティ・プライバシ / 連合学習

    [9A-05] 7 ⚫ 自社製品を提供するデータプロダクト事業 ◼ データプラットフォーム UNIVERSE ◼ 広告主向けプラットフォーム UNIVERSE Ads ◼ 媒体社向けプラットフォーム MicroAd COMPASS ◼ 業種特化マーケティングプロダクト ◼ その他 広告サービス ⚫ 他社製品を扱うコンサルティング事業 ◼ 海外コンサルテイングサービス ◼ メデイア向けコンサルティングサービス インターネット広告
  7. インターネット広告 / プログラマティック広告 DEIM2025 / Track 2: ビッグデータ基盤技術・データセキュリティ・プライバシ / 連合学習

    [9A-05] 8 ⚫ インターネット広告 ◼ Webサイトやスマートフォンアプリなどを対象とした広告の形態 ◼ 配信する広告を動的に変更することが可能 ⚫ プログラマティック広告 ◼ 現在のインターネット広告の主流 ◼ 広告効果を最大化するため運用し続けていく広告 ◆ 収益の増加 ◆ 認知の拡大
  8. インターネット広告 / ターゲティング DEIM2025 / Track 2: ビッグデータ基盤技術・データセキュリティ・プライバシ / 連合学習

    [9A-05] 9 ⚫ ユーザー個々人の属性・趣味嗜好・行動などにあわせた広告を配信する手法 ◼ 広告効果を高めるのに有効 ⚫ データのリアルタイム性や分析しながらの運用が重要 ◼ 本当に届けたい人に広告が届いているのか? 就活生に会社を知って、 応募してほしい ? 大学生 関東在住 半導体メーカー A ゲーム好き 誰に広告を出せばより効果的? 就活サイトに登録
  9. インターネット広告 / RTB (Real-Time Bidding) DEIM2025 / Track 2: ビッグデータ基盤技術・データセキュリティ・プライバシ

    / 連合学習 [9A-05] 10 ⚫ 表示する広告を決めるためのオークションの仕組み ⚫ SSP (Supply-Side Platform) ◼ メディアの利益を最大化するためオークションを開催するシステム ⚫ DSP (Demand-Side Platform) ◼ 広告主の利益を最大化するためオークションに参加するシステム SSP A社 SSP B社 SSP C社 DSP D社 DSP E社 DSP G社 DSP F社 閲覧 RTB ユーザー 広告主 セールの告知をしたい 会社を知ってほしい 商品を売りたい
  10. インターネット広告 / 大規模データ DEIM2025 / Track 2: ビッグデータ基盤技術・データセキュリティ・プライバシ / 連合学習

    [9A-05] 11 ⚫ ターゲティング, RTBの例だけでも様々なデータが関わってくる ◼ ターゲティング用のユーザー情報: 170億件 ◆ 精度向上のため他社から連携されるデータが大量にある ◼ RTB結果のログ: 60億件/日 ◆ 入札処理毎にログを記録しているため膨大な量になる ◼ 広告配信結果分析用のログ ◆ 多角的に分析するための集計処理が多数ある ⚫ マイクロアドの場合、処理するデータ量は10TB/日〜にも及ぶ ◼ リアルタイム性が求められるデータも 分散データベース・分散ストレージ・分散処理システムなどが必要となる
  11. DEIM2025 / Track 2: ビッグデータ基盤技術・データセキュリティ・プライバシ / 連合学習 [9A-05] 12 目次

    1. 会社紹介 ◼ 会社と事業内容 ◼ インターネット広告と大規模データ 2. 大規模データ基盤 ◼ 移行前後の基盤構成 3. 移行の事例紹介 ◼ 工夫・苦労したこと
  12. 大規模データ基盤 / 前提 DEIM2025 / Track 2: ビッグデータ基盤技術・データセキュリティ・プライバシ / 連合学習

    [9A-05] 13 ⚫ データの大部分をオンプレミスのサーバーで保持している ◼ データ量が非常に多いのでクラウドだとコストが掛かりすぎる ⚫ ハードウェアの調達や費用の都合で移行が必要に ◼ 2024/4〜 移行開始 ◼ 年内移行完了を目指して現在も進行中 ⚫ 大規模データのETL処理が250〜程度存在している ◼ ETL: データの抽出・変換・蓄積
  13. 大規模データ基盤 / 要件 DEIM2025 / Track 2: ビッグデータ基盤技術・データセキュリティ・プライバシ / 連合学習

    [9A-05] 14 ⚫ クエリエンジン: クエリを実行するためのシステム ⚫ メタストア: テーブル定義などのメタデータを管理するシステム ⚫ ストレージ: テーブルの実データの保存場所 ⚫ 求めること ◼ 大規模データ処理に適していること ◼ スケーラビリティ ◼ 耐障害性 ストレージ メタストア クエリエンジン クエリ実行
  14. 大規模データ基盤 / 移行前の構成 DEIM2025 / Track 2: ビッグデータ基盤技術・データセキュリティ・プライバシ / 連合学習

    [9A-05] 15 ⚫ クエリエンジン: Hive, Impala ◼ Hadoop上のデータをSQL風に操作するためのシステム ◼ Hive: MapReduceというHadoopの仕組みを利用 ◆ 耐障害性に優れているためETL処理で主に使用 ◼ Impala: 独自の分散処理方法を実装 ◆ 実行速度に優れているため分析で主に使用 ⚫ メタストア: Hive ⚫ ストレージ: HDFS ◼ 大規模データ処理向けの分散ファイルシステム ◼ レプリケーション (データの複製) による耐障害性 ◼ Hadoop向け分散ファイルシステム ストレージ メタストア クエリエンジン クエリ実行
  15. 大規模データ基盤 / 移行後の構成 DEIM2025 / Track 2: ビッグデータ基盤技術・データセキュリティ・プライバシ / 連合学習

    [9A-05] 16 ⚫ クエリエンジン: Spark, Trino ◼ Spark: SQLやデータフレームで操作可能な分散処理フレームワーク ◆ 耐障害性に優れているためETL処理で主に使用 ◆ 特にSpark connectという技術を主軸として移行 ◼ Trino: データソースを横断して操作できる分散SQLエンジン ◆ 実行速度に優れているため分析で主に使用 ⚫ メタストア: Iceberg ◼ Open Table Formatと呼ばれる技術 ◼ 詳細は後述 ⚫ ストレージ: S3互換ストレージ ◼ S3プロトコルでアクセス可能なオブジェクトストレージ ◼ 消失訂正符号などによる耐障害性 S3互換ストレージ ストレージ メタストア クエリエンジン クエリ実行
  16. 大規模データ基盤 / 構成変更によるメリット DEIM2025 / Track 2: ビッグデータ基盤技術・データセキュリティ・プライバシ / 連合学習

    [9A-05] 17 ⚫ ストレージとコンピュートを分離できた ◼ どちらもHadoopに依存していた ◆ 「コンピュートのみスケールさせる」みたいなことが柔軟にできない ◼ ストレージ用・コンピュート用のサーバーが独立した状態に ⚫ 今後Icebergから移行する際も改修が容易 ◼ Sparkが対応しているデータソースであれば切り替えられる ⚫ SQLベースだけでなくデータフレームベースでの操作が可能 ◼ SQLだと表現しにくいビジネスロジックもあった ◼ 可読性やテスト容易性を考慮して選択可能
  17. 移行の事例紹介 / Icebergの嬉しい機能 DEIM2025 / Track 2: ビッグデータ基盤技術・データセキュリティ・プライバシ / 連合学習

    [9A-05] 18 ⚫ 行レベルでの更新・削除 ◼ Hiveでは1行でも変更があると全データを書き直していた ◼ 差分だけを書き込むことで更新・削除のI/Oを抑えられる ◆ ターゲティング用のユーザー情報は頻繁に更新されるので便利 ⚫ Time travel / Rollback ◼ 過去の特定の時点でのテーブルの状態を参照・復元できる ◼ 再現性のあるクエリ実行ができる ◆ 請求用の集計などで過去の時点と同じ結果を出せる ◼ 障害発生時の切り戻しが容易 ⚫ 活かしきれていないが他にも色々 ◼ まだ移行しきってないので運用は手探りですが…
  18. DEIM2025 / Track 2: ビッグデータ基盤技術・データセキュリティ・プライバシ / 連合学習 [9A-05] 19 目次

    1. 会社紹介 ◼ 会社と事業内容 ◼ インターネット広告と大規模データ 2. 大規模データ基盤 ◼ 移行前後の基盤構成 3. 移行の事例紹介 ◼ 良かった・苦労したこと
  19. 移行の事例紹介 / 移行による利点 DEIM2025 / Track 2: ビッグデータ基盤技術・データセキュリティ・プライバシ / 連合学習

    [9A-05] 20 ⚫ 必要な機能なのか・適切な仕様なのかを検討できた ◼ 誰が使っているのかわからない機能 ◼ 今のユースケースにあっていない集計テーブル ⚫ 古いコードをリファクタできた ◼ メンテナンス困難になっていた機能 ◼ 今の実装とは方針が違うコード ◼ 古いバージョンのPythonで動いていた機能 ⚫ データ基盤の技術スタックが”今風”に ◼ コミュニティが活発
  20. 移行の事例紹介 / 苦労していること: 技術面 DEIM2025 / Track 2: ビッグデータ基盤技術・データセキュリティ・プライバシ /

    連合学習 [9A-05] 21 ⚫ 運用に関する情報がまだまだ少ない ◼ 大規模データで長期間運用したような記事は少ない ◼ ベストプラクティスがわからない ⚫ 「そもそもできるのか」から調査が始まる ◼ 同じことをやろうとしている記事すら無い ◼ 技術調査の結論を出すのが難しい ◆ 先入観で試さずに結論を出すのも危険 ⚫ ライブラリ側にバグがあることも ◼ Spark connectはまだ正式版じゃない ◆ 利用者も多くはないので報告して修正してもらったり
  21. 移行の事例紹介 / 苦労していること: その他 DEIM2025 / Track 2: ビッグデータ基盤技術・データセキュリティ・プライバシ /

    連合学習 [9A-05] 22 ⚫ リプレイスなので優先度が下がりがち ◼ 売上に直結する機能開発ではない ◼ 重要性を説明して優先度を上げていくしかない ⚫ 作業者のモチベーションの維持 ◼ 単調作業になる部分も多い ◼ 新しいものを作る喜びが少ない ⚫ 移行対象が多くて進捗が見えにくい ◼ 細かくマイルストーンを設定する ◼ 進捗を計測できる状態を整える
  22. 移行の事例紹介 / やってよかった・やったほうがよかったこと DEIM2025 / Track 2: ビッグデータ基盤技術・データセキュリティ・プライバシ / 連合学習

    [9A-05] 23 ⚫ (どれも当たり前かもですが) ⚫ 期限・ゴール・意思決定者を明確にする ◼ 計画を立てるにもまずはここから ⚫ 進捗を計測できる状態をキープする ◼ 必要なのは最初の気合 ⚫ ドキュメントを残す ◼ 今後苦労する誰かのために ⚫ 優先度が下がらないようアクションし続ける ◼ 先延ばしにしないという覚悟
  23. まとめ DEIM2025 / Track 2: ビッグデータ基盤技術・データセキュリティ・プライバシ / 連合学習 [9A-05] 24

    ⚫ 広告配信システムの大規模データ基盤を移行中 ◼ HiveからSpark x Icebergの基盤に移行 ◼ 既存の機能の見直しや実装の改善などの機会になる ◼ 長期間のプロジェクトになるのでマネジメントが大変 ◼ ゴールに関しての合意を形成してから動き始めましょう ◼ 社内向けのドキュメントはちゃんと残しましょう
  24. We are hiring! DEIM2025 / Track 2: ビッグデータ基盤技術・データセキュリティ・プライバシ / 連合学習

    [9A-05] 25 ⚫ 3/3, 3/4のオンサイト会場ではブース出展します! ◼ スポンサーブース G14 ⚫ 技術ブログ、X (Twitter)で情報発信してます! ◼ X (Twitter): @microad_dev 株式会社マイクロアド採用サイト MicroAd Developers Blog
  25. 株式会社 マイクロアド 〒150-0031 東京都渋谷区桜丘町20-1 渋谷インフォスタワー 13F www.microad.co.jp DEIM2025 / Track

    2: ビッグデータ基盤技術・データセキュリティ・プライバシ / 連合学習 [9A-05] 26