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.

DMPの分析機能を実現する技術

646 views

Published on

「ブレインパッドとエウレカが語る、データ分析と機械学習の活用」資料

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

  • Be the first to like this

DMPの分析機能を実現する技術

  1. 1. Analytics Innovation Company Analytics Innovation Company DMPの分析機能を実現する技術 2018/11/15 株式会社ブレインパッド マーケティングプラットフォーム本部 開発部 下村
  2. 2. Analytics Innovation Company ©BrainPad Inc. 2 自己紹介 ● 名前:下村環太朗 ● 所属:マーケティングプラットフォーム本部・開発部 ○ 自社サービス開発の部署 ○ プライベートDMP Rtoasterの開発を担当 ● Pairsプロフ: ○ 年齢:30歳 ○ 居住地:日本 東京 ○ 身長:170cm ○ 職種:WEB業界 ○ 体型:やや細め ○ タバコ:吸わない
  3. 3. Analytics Innovation Company ©BrainPad Inc. 3 DMP (Data Management Platform) ● マーケティングツールの一種 ● ユーザーが所有するデータを活用するための様々な機能を持つ
  4. 4. Analytics Innovation Company ©BrainPad Inc. 4 Rtoaster開発体制 ● エンジニアは全体で20名程度 ○ 機能ごとにもう少し小さいチームに分かれる ○ 今日お話しする分析機能の開発チームは3~4名(多い方)
  5. 5. Analytics Innovation Company ©BrainPad Inc. 5 ユーザー分析機能 ● ウェブサイト・アプリの行動ログや顧客属性の集計・可視化機能 ○ GUI上での探索的な分析 ○ 機械学習を使って自動でセグメンテーション ○ レコメンド配信システムやDSPにセグメントを連携
  6. 6. Analytics Innovation Company ©BrainPad Inc. 6 開発・運用している要素 ● DWH ○ 様々なデータを集約・統合 ○ テーブルは最大で数十億行の規模 ● 大規模データ処理 ○ ETL処理 ○ 機械学習などDWHだけではできない処理 ● スケジューリング ○ 依存関係のある数千/日のバッチ実行 ● 集計 ○ 分析条件にあわせて適切なクエリを生成してDWHに投げる ● 管理画面 ○ 普通のシングルページアプリケーション ○ (UIや可視化部分はデザイナーが担当) ● 他システムとのつなぎこみ ○ 見かけ上の管理画面は共通 ○ 裏は完全に別なので同期用のAPIを生やしている ● etc...
  7. 7. Analytics Innovation Company ©BrainPad Inc. 7 現在の構成 ※一部簡略化しています 行動ログ収集 レコメンド配信 外部連携 Rtoaster ユーザー
  8. 8. Analytics Innovation Company ©BrainPad Inc. 8 現在の構成 ※一部簡略化しています 分散処理クラスタバッチ実行基盤 ウェブアプリ 行動ログ収集 レコメンド配信 外部連携 Rtoaster ユーザー
  9. 9. Analytics Innovation Company ©BrainPad Inc. 9 バッチ実行基盤 ジョブワークフローエンジンとしてAirflowを採用 � ワーカーを増やすだけでスケールする � 柔軟なワークフローを構築できる � 管理画面が便利 � 環境構築に一手間かかる � タスクが多すぎると動作が不安定に
  10. 10. Analytics Innovation Company ©BrainPad Inc. 10 分散処理クラスタ Amazon EMR上にPresto (+Spark thrift server) でDWHを構築 Sparkバッチの実行環境としても利用 � ノードを増やすだけでスケールする � 環境構築が簡単 � ストレージとメタデータをクエリエンジンを分離 � リソース管理はHadoop (Yarn) やPrestoにおまかせ � 基本的にはマネージドといえどシステム構成は複雑 � 手動で各種パラメータの調整が必要な場合もある � SparkバッチだけScalaで実装しているので言語学習コストがある
  11. 11. Analytics Innovation Company ©BrainPad Inc. 11 ウェブアプリ クライアントサイドのフレームワークにVue.jsを導入 サーバーサイドのRest (風) API サーバーはPyramidで構築 � ドキュメントが充実 � 選べるライブラリの幅が広い � チームによってそれぞれ別々のフレームワークを使っている
  12. 12. Analytics Innovation Company ©BrainPad Inc. 12 まとめ ● OSSやPaaSの標準的なツールを標準的に使っています
  13. 13. Analytics Innovation Company ©BrainPad Inc. 13 これだけだと味気ないので、最近の取り組みも少し紹介します
  14. 14. Analytics Innovation Company ©BrainPad Inc. 14 課題 ● 増える機能 ○ 複雑化する仕様 ○ データの整合性の担保が困難 ○ 他システムとの結合度も増加 ● 増えるユーザー ○ 回りきらないバッチ処理 ○ 分散処理まわりにボトルネックがあることはわかっているものの 開発の優先度もあってまともに調査・改善できていない ● 増える要望 ○ データを握っているが故の需要が集まる ● 人数も増やせば解決? ○ そう簡単に増えない ○ 新人が覚えることは増えている ⇒ 基盤的な役割と機能開発の両立って大変かも💦
  15. 15. Analytics Innovation Company ©BrainPad Inc. 15 今後実現したいこと ● DWHは別システムとして新規に構築 ○ 体制も含めそれぞれの責任を明確に ○ ユーザー分析機能以外への展開を容易に ● よりマネージドな構成 ○ 運用負荷を低減 ○ 開発の高速化 BigQuery Cloud Composer
  16. 16. Analytics Innovation Company ©BrainPad Inc. 16 まとめ+ ● OSSやPaaSの標準的なツールを標準的に使っています ● プロダクトの成長やビジネスの変化に合わせたシステムの見直しも大事

×