325 Views
September 15, 17
スライド概要
2023年10月からSpeaker Deckに移行しました。最新情報はこちらをご覧ください。 https://speakerdeck.com/lycorptech_jp
Yahoo!プロモーション広告の ビックデータ基盤を 支える技術と今後の展望 2017年9月15日 ヤフー株式会社 東浩稔 Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
自己紹介 東 浩稔(あずま ひろとし) 所属:マーケティングソリューションズカンパニー パフォーマンスデータPF開発部 開発本部 プロモーション広告のデータPF全般について、アーキテクチャの刷新や パフォーマンスの改善を担当 経歴: 2012年中途入社。現在3社目 1社目:製造業(ITエンジニアではない) 2社目:証券系SIer 3社目:Yahoo!ディスプレイアドネットワーク(以下、YDN)のレポート開発や集計シス テムのリードエンジニアを担当し、今年度より現在の業務を担当。 Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. 2
アジェンダ 1. Yahoo!プロモーション広告と現在の システム 2. 現在の課題 3. 今後の展望と事例 Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. 3
1. Yahoo!プロモーション広告と現在の システム 2. 現在の課題 3. 今後の展望と事例 Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. 4
データプラットフォームのミッション Yahoo!プロモーション広告のPFを 利用している人たちのストレスを無くす Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. 5
データプラットフォームのミッション Yahoo!プロモーション広告のPFを 利用している人たちのストレスを無くす Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. 6
Yahoo!プロモーション広告 Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. 7
プロモーション広告システムとその利用者 広告 配信結果 広告 レポート 広告主様 広告管理 システム 集計データ 分析結果 広告業務 担当 分析システム Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. ヤフーを訪れた ユーザー様 広告配信 システム ログ 配信面のチューニング 集計データ 集計システム パートナー 管理システム レポート メディア担当様 8
プロモーション広告システムとその利用者 広告 配信結果 広告 レポート 広告主様 広告管理 システム 集計データ 分析結果 広告業務 担当 分析システム Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. ヤフーを訪れた ユーザー様 広告配信 システム ログ 配信面のチューニング 集計データ 集計システム パートナー 管理システム レポート メディア担当様 9
プロモーション広告システムとその利用者 広告 配信結果 広告 レポート 広告主様 広告管理 システム 集計データ 分析結果 広告業務 担当 分析システム Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. ヤフーを訪れた ユーザー様 広告配信 システム ログ 配信面のチューニング 集計データ 集計システム パートナー 管理システム レポート メディア担当様 10
プロモーション広告システムとその利用者 広告 配信結果 広告 レポート 広告主様 広告管理 システム 集計データ 分析結果 広告業務 担当 分析システム Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. ヤフーを訪れた ユーザー様 広告配信 システム ログ 配信面のチューニング 集計データ 集計システム パートナー 管理システム レポート メディア担当様 11
プロモーション広告システムとその利用者 広告 配信結果 広告 レポート 広告主様 広告管理 システム 集計データ 分析結果 広告業務 担当 分析システム Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. ヤフーを訪れた ユーザー様 広告配信 システム ログ 配信面のチューニング 集計データ 集計システム パートナー 管理システム レポート メディア担当様 12
プロモーション広告システムとその利用者 広告 配信結果 広告 レポート 広告主様 広告管理 システム 集計データ 分析結果 広告業務 担当 分析システム Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. ヤフーを訪れた ユーザー様 広告配信 システム ログ 配信面のチューニング 集計データ 集計システム パートナー 管理システム レポート メディア担当様 13
数字で見るプロモーション広告システム 広告主様 月間 約4400万 広告 レポート作成 レポート (※2) 広告管理 システム 集計データ 分析結果 広告業務 担当 月間 約725億PV (※1)ヤフーを訪れた 配信結果 広告 広告配信 システム ログ 月間 約150TB 集計データ (※3) 分析システム 集計システム ユーザー様 配信面のチューニング パートナー 管理システム レポート メディア担当様 ※1 出典:ヤフー株式会社 2017年度 第1四半期 事業指標推移表 ※2 YDB+スポンサードサーチのレポート作成数 ※3YDNのデータ量/gz圧縮済み Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. 14
本日お話する対象システム 広告 配信結果 広告 レポート 広告主様 広告管理 システム 集計データ 分析結果 広告業務 担当 分析システム Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. ヤフーを訪れた ユーザー様 広告配信 システム ログ 配信面のチューニング 集計データ 集計システム パートナー 管理システム レポート メディア担当様 15
現在のシステム構成(YDN) レポート Hadoop Data Pipeline 統計 集計 Isilon (Storage) 配信 ヤフーを訪れた ユーザー様 広告運用 広告主様 広告入稿 Oracle (OLTP) Oracle (Batch) 分析/業務 広告業務 担当 配信面運用 Teradata (DWH) Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. パートナー メディア担当様 16
現在のシステム構成(YDN) レポート Hadoop Data Pipeline 統計 集計 Isilon (Storage) 配信 ヤフーを訪れた ユーザー様 広告運用 広告主様 広告入稿 Oracle (OLTP) Oracle (Batch) 分析/業務 広告業務 担当 配信面運用 Teradata (DWH) Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. パートナー メディア担当様 17
現在のシステム構成(YDN) レポート Hadoop Data Pipeline 統計 集計 Isilon (Storage) 配信 ヤフーを訪れた ユーザー様 広告運用 広告主様 広告入稿 Oracle (OLTP) Oracle (Batch) 分析/業務 広告業務 担当 配信面運用 Teradata (DWH) Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. パートナー メディア担当様 18
現在のシステム構成(YDN) レポート Hadoop Data Pipeline 統計 集計 Isilon (Storage) 配信 ヤフーを訪れた ユーザー様 広告運用 広告主様 広告入稿 Oracle (OLTP) Oracle (Batch) 分析/業務 広告業務 担当 配信面運用 Teradata (DWH) Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. パートナー メディア担当様 19
現在のシステム構成(YDN) レポート Hadoop Data Pipeline 統計 集計 Isilon (Storage) 配信 ヤフーを訪れた ユーザー様 広告運用 広告主様 広告入稿 Oracle (OLTP) Oracle (Batch) 分析/業務 広告業務 担当 配信面運用 Teradata (DWH) Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. パートナー メディア担当様 20
現在のシステム構成(YDN) レポート Hadoop Data Pipeline 統計 集計 Isilon (Storage) 配信 ヤフーを訪れた ユーザー様 広告運用 広告主様 広告入稿 Oracle (OLTP) Oracle (Batch) 分析/業務 広告業務 担当 配信面運用 Teradata (DWH) Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. パートナー メディア担当様 21
補足:統計とレポートの違い • 両方とも配信の実績を確認するツール • 統計で概要を確認し、レポートで詳細を分析する 機能 統計 レポート I/F 種別 速度 自由度 画面 リアル タイム型 数秒 低い ファイル バッチ型 数十秒〜数分 DL Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. 高い 22
1. Yahoo!プロモーション広告と現在の システム 2. 現在の課題 3. 今後の展望と事例 Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. 23
ヤフーの広告事業は堅調 Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. 出典:2017年度第1四半期決算発表 プレゼンテーション資料 24
その裏側では Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
スポンサードサーチ 広告入稿量 2年間で約3倍 Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. 26
YDN 配信ログ量 2年間で約3.6倍 Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. 27
YDN レポート作成数 2年間で約3倍 Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. 28
利用が増えることでシステムの負荷も増える レポート Hadoop レポート作成数 増 広告入稿 統計 配信 配信ログ量 増 広告運用 広告主様 Data Pipeline Isilon (Storage) 集計 Oracle (OLTP) Oracle (Batch) 広告入稿量 増 分析/業務 広告業務 担当 Teradata (DWH) Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. ヤフーを訪れた ユーザー様 配信面運用 パートナー メディア担当様 29
影響:レポートのスループット低下 YDNレポートの レポート 作成要求に対して 処理が追いつかなくなってきた 広告運用 広告主様 Hadoop Data Pipeline 集計 Isilon (Storage) 広告入稿 統計 Oracle (OLTP) 配信 Oracle (Batch) 分析/業務 広告業務 担当 ヤフーを訪れた ユーザー様 配信面運用 Teradata (DWH) Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. パートナー メディア担当様 30
影響: RDBのレイテンシ低下 レポート 統計情報を参照する際の レイテンシが低下しはじめた 広告運用 広告主様 Hadoop Data Pipeline 集計 Isilon (Storage) 広告入稿 統計 Oracle (OLTP) 配信 Oracle (Batch) 分析/業務 広告業務 担当 ヤフーを訪れた ユーザー様 配信面運用 Teradata (DWH) Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. パートナー メディア担当様 31
データプラットフォームのミッション Yahoo!プロモーション広告のPFを 利用している人たちのストレスを無くすこと Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. 32
データプラットフォームのストレスとは? • 遅い - レイテンシの低下 データの反映遅延(リアルタイム性) • 使えない - 稼働率の低下 Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. 33
データプラットフォームのストレスとは? • 遅い - レイテンシの低下 データの反映遅延(リアルタイム性) • 使えない - 稼働率の低下 Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. 34
広告主様が感じるストレス • 遅い - レイテンシの低下 → 統計画面の表示 → YDNレポート作成 - データの反映遅延(リアルタイム性) • 使えない - 稼働率の低下 Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. 35
ストレスにどう対処していくか? 1. 処理リソースを増やす 2. 定期的に技術を見直す Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. 36
ストレスにどう対処していくか? 1. 処理リソースを増やす 2. 定期的に技術を見直す Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. 37
どういうアプローチか? 必要なリソース オーバーキャパシティ キャパシティ トラフィック、必要な計算リソース 時間 Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. 38
1.処理リソースを増やす 必要なリソース キャパシティ サーバ追加でキャパシティの上限値をあげる トラフィック、必要な計算リソース 時間 Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. 39
では、それ以上増えたら? 必要なリソース キャパシティ トラフィック、必要な計算リソース 時間 Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. 40
リソースを追加しつづけることはできない • 費用対効果が合わない • どこかにボトルネックが生まれるので 永遠にスケールアウトし続けることは できない Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. 41
ストレスにどう対処していくか? 1. 処理リソースを増やす 2. 定期的に技術を見直す Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. 42
2.定期的に技術を見直す 必要なリソース アーキテクチャ を見直して効率 を良くする トラフィック、必要な計算リソース 時間 Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. 43
現在の課題は? 1. 処理リソースを増やす → RDBがそもそもスケールアウト しにくい構成 2. 定期的に技術を見直す → YDNレポートのトラフィックの伸びに 対してリソースが不足してきた Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. 44
1. Yahoo!プロモーション広告と現在の システム 2. 現在の課題 3. 今後の展望と事例 Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. 45
どこを見直すのか 2.利用している技術を レポート 見直し、リソースの 利用効率をあげる 広告運用 広告主様 Data Pipeline 集計 Isilon (Storage) 広告入稿 1.RDB一辺倒からユース ケース毎にデータPFを 統計 使い分け、増え続ける 分析/業務 データ量に対応する 広告業務 担当 Hadoop Teradata (DWH) Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. Oracle (OLTP) 配信 ヤフーを訪れた ユーザー様 Oracle (Batch) 配信面運用 パートナー メディア担当様 46
データプラットフォーム見直しの方針 • • • 大方針としては、全てOracleを利用するのではなく、 ユースケースを見極めて、プラットフォームを 分散させる 分散させたデータを繋ぐためにマルチデータソース にアクセスできるPrestoを採用する トランザクション管理が必要なものは従来通り Oracleを使用する Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. 47
今後の展望 ※まだ導入してません Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
今後の展望(全体像) SQLレイヤ Cacheレイヤ 永続化レイヤ ストレージレイヤ レポート Presto (クエリエンジン) 広告運用 広告主様 Hadoop (HDFS) 統計 TBD (Cache) 広告入稿 Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. HBase/Phoenix (KVS) Oracle (OLTP) 集計 49
1.スケールアウト構成+Cache 分離した入稿データと統計 データをジョインするため レポート クエリエンジンとして Prestoを利用 Presto (クエリエンジン) 広告運用 広告主様 入稿 データ (Cache) 統計 TBD (Cache) 広告入稿 Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. Hadoop (HDFS) 統計 データ HBase/Phoenix (KVS) 集計 入稿 データ Oracle (OLTP) 50
2.技術の見直し(Hive → Presto) レポート データ レポート Presto (クエリエンジン) 広告運用 広告主様 Hadoop (HDFS) 統計 YDNレポートで利用しているHive を Presto + HDFSへ切り替える 広告入稿 Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. TBD (Cache) HBase/Phoenix (KVS) Oracle (OLTP) 集計 51
検証した結果 ※まだ導入してません Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.
1.HBase/Phoenix Response Time Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. サーバ30台 1,6,12,24,48並列で実行 テーブルレコードは22億行 大中小150アカウントを選び 3回実行(450Query ) • 22億件から1件〜300件程度 抽出するパターン - 0.04秒〜1.06秒(48並列)に 収まる • • • • 53
2.Presto Request per Hour Total Response Time Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. • HiveとPrestoの比較 • サーバ13台 • 1,2,4,8,16,32並列で実行 - スループットがHiveの8倍以 上(32並列) - レスポンスタイムもHiveの8 倍速い(32並列) - 並列度を増やしても劣化が少 ない 54
まとめ • Yahoo!プロモーション広告はYahoo!サービスの 膨大なトラフィックが集まる また、その伸びも速い • トラフィックの伸びに追従するにはリソースの 追加と技術を定期的に見直すことが必要 • 新しい技術に触れ、成果が目に見えやすい Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. 55
最後に 詳細はこの後の懇親会でお話しましょう! Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. 56
ありがとうございました! Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved. Copyright © 2017 Yahoo Japan Corporation. All Rights Reserved.