Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

アドテクスタジオのデータ分析基盤について

4,165 views

Published on

2017年9月22日(金) 開催
「Data Engineering and Data Analysis Workshop #2」登壇資料

Published in: Data & Analytics
  • Be the first to comment

アドテクスタジオのデータ分析基盤について

  1. 1. アドテクスタジオの 分析基盤について 2017.09.22 @ Data Engineering and Data Analysis Workshop #2
  2. 2. 自己紹介 サイバーエージェント アドテク本部 AIStudio Devグループ 伊藤 和宏 2011年中途入社。広告の効果計測、DMP関連の開発、運 用。データ分析基盤の構築に従事。
  3. 3. アドテクスタジオとは サイバーエージェントグループのアドテクノロジー分野における サービス開発を行うエンジニアの横断組織です。 当社では、アドテクノロジー分野におけるサービスを多数提供しています。 これまでは、各子会社を通じサービス開発をしていましたが、 開発効率の向上、各サービスの技術力および精度強化を目的に、 アドテクノロジーにかかわるサービスの開発部門の横断組織として、 「アドテクスタジオ」を設立しました。開発体制を強化するほか、 エンジニアの技術力向上をサポートする環境づくりや、 新たな制度の導入などを行っています。
  4. 4. ● アドテクスタジオの分析基盤とは ● 課題 ● なぜ分析基盤を作ったのか ● 今後について 内容
  5. 5. アドテクスタジオの分析基盤とは
  6. 6. アドテクスタジオの分析基盤とは ・アドテクスタジオのメンバーが使いたい 時に使いたい人がいつでも分析できる環 境を提供
  7. 7. アドテクスタジオの分析基盤とは 何を提供しているのか?
  8. 8. アドテクスタジオの分析基盤とは 何を提供しているのか? ・Notebook(Jupyter)
  9. 9. アドテクスタジオの分析基盤とは 何を提供しているのか? ・Notebook(Jupyter) ・Actian Matrix(高速DWH)
  10. 10. アドテクスタジオの分析基盤とは 何を提供しているのか? ・Notebook(Jupyter) ・Actian Matrix(高速DWH) ・OpenStack Sahara(Hadoop)
  11. 11. アドテクスタジオの分析基盤とは 何を提供しているのか? ・Notebook(Jupyter) ・Actian Matrix(高速DWH) ・OpenStack Sahara(Hadoop) ・Notebook共有(NBViewer)
  12. 12. アドテクスタジオの分析基盤とは 何を提供しているのか? ・Notebook(Jupyter) ・Actian Matrix(高速DWH) ・OpenStack Sahara(Hadoop) ・Notebook共有(NBViewer) ・データ
  13. 13. アドテクスタジオの分析基盤とは 何を提供しているのか? ・Notebook(Jupyter) ・Actian Matrix(高速DWH) ・OpenStack Sahara(Hadoop) ・Notebook共有(NBViewer) ・データ (所属しているプロダクトのデータがHadoopに接続)
  14. 14. アドテクスタジオの分析基盤とは 認証は社内認証システムと連動 ・分析基盤のアカウントなどの申請不要 ・所属プロダクトのデータにアクセス可能 ・HDFS(プロダクトの蓄積データ) ・ActianMatrix ・Sahara
  15. 15. アドテクスタジオの分析基盤とは
  16. 16. アドテクスタジオの分析基盤とは Notebookからプロダクトが蓄積した データにHadoop経由でアクセスする ことが可能。 データをMatrixに入れて高速にクエリ ーを実行して集計することが可能。 作成したソースコードや実行結果 (ipynb)を共有することが可能
  17. 17. AR Ganesha(Sahara) DC/OS Marathon Sahara ActianMatrix HDFS Hadoop Cluster Meta Marathon LB Marathon LB UI Hadoop Cluster NBServer NBViewer Notebook Notebook Notebook Notebook pynb
  18. 18. アドテクスタジオの分析基盤とは Ganesha(データ蓄積)
  19. 19. アドテクスタジオの分析基盤とは Ganesha(データ蓄積) ・各プロダクトのログを収集。 オンプレ、AWS、GCPに対応
  20. 20. アドテクスタジオの分析基盤とは Ganesha(データ蓄積) ・各プロダクトのログを収集。 オンプレ、AWS、GCPに対応 ・プロダクトごとにアクセス制限を設定
  21. 21. AR DC/OS Sahara GCP AWS Kinesis Kinesis-Kafka Bridge HDFS Streamer S3 Kafka S3-Kafka Bridge FluentD Pub/Sub GCS External Storage Converter Master Loader Schema Registry Data Catalog Workflow Engine Notebook Frontend Pubsub-Kafka Bridge
  22. 22. アドテクスタジオの分析基盤とは Ganeshaのデータ量 ・全体データ量:約1.3PB
  23. 23. アドテクスタジオの分析基盤とは サーバ ・Sahara:全体CPU:4600core、メモリ:24TB ・Matrix:CPU:8core×2、メモリ:684GB、SSD:1.6TB×24 × 10台 ・DCOS:CPU:48core、メモリ:157GB、SSD:1.5TB × 5台
  24. 24. 課題
  25. 25. 課題 これだけコストのかかった環境。 課題は多い。。
  26. 26. 課題 ・使ってくれない。。。
  27. 27. 課題 ・使ってくれない。。。 ・そういうものがあるということを知らなかった
  28. 28. 課題 ・使ってくれない。。。 ・そういうものがあるということを知らなかった ・既に自分たちで用意しているので、今更移行などが面倒。
  29. 29. 課題 ・使ってくれない。。。 ・そういうものがあるということを知らなかった ・既に自分たちで用意しているので、今更移行などが面倒。 ・データがすぐに利用できない ・Hiveで取り込んだデータを利用する際、CreateTableが必要。 ・さらに時間ごとにデータパスが変わるので、パーティション追加が必要。
  30. 30. 課題 ・使ってくれない。。。 ・そういうものがあるということを知らなかった ・既に自分たちで用意しているので、今更移行などが面倒。 ・データがすぐに利用できない ・Hiveで取り込んだデータを利用する際、CreateTableが必要。 ・さらに時間ごとにデータパスが変わるので、パーティション追加が必要。 ・分析結果など他のシステムに連携できない。
  31. 31. 課題 ・使ってくれない。。。 ・そういうものがあるということを知らなかった ・既に自分たちで用意しているので、今更移行などが面倒。 ・データがすぐに利用できない ・Hiveで取り込んだデータを利用する際、CreateTableが必要。 ・さらに時間ごとにデータパスが変わるので、パーティション追加が必要。 ・分析結果など他のシステムに連携できない。 ・Notebookのコンテナを落とすと初期状態
  32. 32. 対策
  33. 33. 対策 ・そういうものがあるということを知らなかった ・周知する ・既に自分たちで用意している ・使いやすい方を使えばいいと思う。 ・要望があれば検討。 ・データがすぐに利用できない ・CreateTableやパーティションを自動的に追加 ・分析結果などを他のシステムに連携できない ・データ転送する仕組みの追加
  34. 34. 対策 徐々にユーザやプロダクト側が利用しはじめる。
  35. 35. 課題
  36. 36. 課題 ・リソース不足
  37. 37. 課題 ・リソース不足 ・ユーザがNotebookのコンテナを止めない
  38. 38. 課題 ・リソース不足 ・ユーザがNotebookのコンテナを止めない ・プロダクトごとにSaharaクラスタを作ったら足りなくなった。
  39. 39. 対策
  40. 40. 対策 ・リソース不足 使う時にリソースを確保するような仕組みにしたい。
  41. 41. 対策 ・リソース不足 使う時にリソースを確保するような仕組みにしたい。 ・プロダクトごとのSaharaクラスタを廃止。 全プロダクトが利用できる共有クラスタを作成
  42. 42. 対策 ・リソース不足 使う時にリソースを確保するような仕組みにしたい。 ・プロダクトごとのSaharaクラスタを廃止。 全プロダクトが利用できる共有クラスタを作成 ・ユーザごとにDockerイメージを作成。 アドテクスタジオ内のartifactoryに保存。 Notebookが利用されていない時はコンテナを落とす。
  43. 43. 課題 課題と対策を繰り返しながら、 運用を継続中
  44. 44. 課題 膨大なコストをかけてる割には、 結果が出ていないのではないか
  45. 45. なぜ分析基盤を作ったのか
  46. 46. なぜ分析基盤を作ったのか ・プロダクトがそれぞれ分析環境を作るのなら、共通基 盤として作ろう。
  47. 47. なぜ分析基盤を作ったのか ・プロダクトがそれぞれ分析環境を作るのなら、共通基 盤として作ろう。 ・不正メディアや不正ユーザなどを検知するにはすべて のプロダクトのデータが必要。
  48. 48. なぜ分析基盤を作ったのか ・プロダクトがそれぞれ分析環境を作るのなら、共通基 盤として作ろう。 ・不正メディアや不正ユーザなどを検知するにはすべて のプロダクトのデータが必要。 ・1つのプロダクトのデータを分析するだけで効果をあ げられるのか?
  49. 49. なぜ分析基盤を作ったのか ・プロダクトがそれぞれ分析環境を作るのなら、共通基 盤として作ろう。 ・不正メディアや不正ユーザなどを検知するにはすべて のプロダクトのデータが必要。 ・1つのプロダクトのデータを分析するだけで効果をあ げられるのか? ・新規で配信プロダクトを作った時に既存のデータを使 えるといいよね。
  50. 50. なぜ分析基盤を作ったのか ・プロダクトごとにデータを利用するだけではなく、ア ドテクスタジオの膨大なデータを利用できる環境。
  51. 51. なぜ分析基盤を作ったのか ・プロダクトごとにデータを利用するだけではなく、ア ドテクスタジオの膨大なデータを利用できる環境。 ※ただし、データポリシーを遵守してプロダクトの許可 が得られた時のみ。 無断で使われないようセキュリティも重要
  52. 52. なぜ分析基盤を作ったのか アドテクスタジオのデータが研究や不正対策などに利用 され始めています。 今後、大きな成果が出ることを期待して分析環境を運用 と改善をしながら進めていきます。
  53. 53. 今後について
  54. 54. 今後について ・ユーザごとにDockerイメージをカスタマイズ ・プロダクト側へのデータ転送(AWS,GCP)
  55. 55. 今後について ・ユーザごとにDockerイメージをカスタマイズ ・プロダクト側へのデータ転送(AWS,GCP) ・クリエイティブなどの画像や動画の収集と分析環境
  56. 56. ご清聴ありがとうございました。

×