SlideShare ist ein Scribd-Unternehmen logo
1 von 9
DruidとFlinkを使った動画広告のリアムタイム集計基盤
AVA 斉藤広和
導入目的
今現在どの動画広告がどれくらい配信されているのか
クライアントサイドからリアルタイムで見たい
動画に特化した指標を収集したい
かつ他のリリースに影響されないような環境を構築したい
集計結果から、クリエイティブのPDCAを回しやすくしたい
動画ログ集計だけではなく、ブランドサーベイ、JSエラーログ、、などなど
すべて共通のプラットフォームで可視化、集計できるようにしたい
アーキテクチャ
プレイヤーからログ送信
ファイルに書き出し
fluentdでkafkaに送信
集計、Mapping、etc..
Deep Storage
Meta Storage
BIツールで可視化
パフォーマンス
Open Source Time Series DB Comparisonのスプレットシートを見ると、ほかと比べてDruidは少々頼りない感じ
Druid
リアルタイムデータとヒストリカルなデータをSub-second で処理できるよう設計されたデータストアで、主にイベン
トデータに対するOLAP(オンライン分析処理)に適している。
パフォーマンスに対して要求されるスペックがそこまで高くないのでコスパがよいのが特徴
Historical nodes
Coordinator nodes
Broker nodes
Indexing Service nodes
Realtime nodes
非リアルタイムなデータに関するクエリを処理するノード
ディープストレージからセグメントをダウンロードして処理する
メタデータストレージからセグメントのメタデータを
読んで、構成に基づいてクラスタにロードし、
Zookeeperを使用してHistoricalノードを監視、運用した
りする
外部クライアントからクエリを受信してHistorical、Realtime
ノードに転送
インデックス関連のタスクを実行する高可用性の分散サービス
マスタスレーブのようなアーキテクチャを備える
リアルタイムインデックスを提供するノード
imply
DruidをベースにしたOLAP基盤
BIツールのPivotやSQL実行環境も内包
Superset
Airbnb製のBIツールで、もともとはPanoramixという名前だった
Druidの他にも各RDBと繋げられる
Pythonのflaskで作られている
その他
Flink
分散ストリーム処理プラットフォームで、Spark Streaming、Stormと同じ類
Yarn上でなく、Standalone Clusterとして動かしている
Druid上では難しい集計やDBマッピングなどを行う
mackerel
はてな製モニタリングサービス
導入が楽
導入してよかったこと
不具合を調査しやすくなった
特定の端末、特定のフォーマット、特定のテンプレートで動画の視聴秒数が上がらない、、、等の
レポートがすぐ出せるため、機種依存のバグも対応しやすい
おかしなデータも一目瞭然
調べたい指標ができた時にすぐ対応できる
ほぼスキーマレスのため、プレイヤーの修正だけでディメンションを追加できる
視聴秒数

Weitere ähnliche Inhalte

Was ist angesagt?

Vs2013 multi device shosuz
Vs2013 multi device shosuzVs2013 multi device shosuz
Vs2013 multi device shosuz
Shotaro Suzuki
 
マルチクラウドデータ連携Javaアプリケーションの作り方
マルチクラウドデータ連携Javaアプリケーションの作り方マルチクラウドデータ連携Javaアプリケーションの作り方
マルチクラウドデータ連携Javaアプリケーションの作り方
CData Software Japan
 
WebGLによる3Dアプリケーションに関するレポート
WebGLによる3Dアプリケーションに関するレポートWebGLによる3Dアプリケーションに関するレポート
WebGLによる3Dアプリケーションに関するレポート
Kaoru Furuya
 

Was ist angesagt? (20)

Vs2013 multi device shosuz
Vs2013 multi device shosuzVs2013 multi device shosuz
Vs2013 multi device shosuz
 
[BA11] Office 365/Dynamics 365 連携だけじゃない! 業務に使うマルチデバイスアプリ作成に向けた PowerApps/Flow...
[BA11] Office 365/Dynamics 365 連携だけじゃない! 業務に使うマルチデバイスアプリ作成に向けた PowerApps/Flow...[BA11] Office 365/Dynamics 365 連携だけじゃない! 業務に使うマルチデバイスアプリ作成に向けた PowerApps/Flow...
[BA11] Office 365/Dynamics 365 連携だけじゃない! 業務に使うマルチデバイスアプリ作成に向けた PowerApps/Flow...
 
2021 01-30 Visual Studio 2019 知っているか!?この機能 in BuriKaigi2021
2021 01-30 Visual Studio 2019 知っているか!?この機能 in BuriKaigi20212021 01-30 Visual Studio 2019 知っているか!?この機能 in BuriKaigi2021
2021 01-30 Visual Studio 2019 知っているか!?この機能 in BuriKaigi2021
 
「何もしないのにCIが失敗した」を防ぐ
「何もしないのにCIが失敗した」を防ぐ「何もしないのにCIが失敗した」を防ぐ
「何もしないのにCIが失敗した」を防ぐ
 
マルチクラウドデータ連携Javaアプリケーションの作り方
マルチクラウドデータ連携Javaアプリケーションの作り方マルチクラウドデータ連携Javaアプリケーションの作り方
マルチクラウドデータ連携Javaアプリケーションの作り方
 
30min Serverless xTuber
30min Serverless xTuber30min Serverless xTuber
30min Serverless xTuber
 
WebGLによる3Dアプリケーションに関するレポート
WebGLによる3Dアプリケーションに関するレポートWebGLによる3Dアプリケーションに関するレポート
WebGLによる3Dアプリケーションに関するレポート
 
.NET Micro Framework (プラレールと電子工作)
.NET Micro Framework (プラレールと電子工作).NET Micro Framework (プラレールと電子工作)
.NET Micro Framework (プラレールと電子工作)
 
Building asp.net core blazor and elasticsearch elasticsearch using visual stu...
Building asp.net core blazor and elasticsearch elasticsearch using visual stu...Building asp.net core blazor and elasticsearch elasticsearch using visual stu...
Building asp.net core blazor and elasticsearch elasticsearch using visual stu...
 
[AC09] Azure Stack パート1 ~今知っておくべき開発者/インフラ担当者の最新ハイブリッドクラウドとの向きあい方~
[AC09] Azure Stack パート1 ~今知っておくべき開発者/インフラ担当者の最新ハイブリッドクラウドとの向きあい方~[AC09] Azure Stack パート1 ~今知っておくべき開発者/インフラ担当者の最新ハイブリッドクラウドとの向きあい方~
[AC09] Azure Stack パート1 ~今知っておくべき開発者/インフラ担当者の最新ハイブリッドクラウドとの向きあい方~
 
【BS14】Blazor WebAssemblyとJavaScriptのインターオペラビリティ
【BS14】Blazor WebAssemblyとJavaScriptのインターオペラビリティ 【BS14】Blazor WebAssemblyとJavaScriptのインターオペラビリティ
【BS14】Blazor WebAssemblyとJavaScriptのインターオペラビリティ
 
[BA06] 50 分で総まとめ! Office 365 開発プラットフォーム最新機能のおさらい
[BA06] 50 分で総まとめ! Office 365 開発プラットフォーム最新機能のおさらい[BA06] 50 分で総まとめ! Office 365 開発プラットフォーム最新機能のおさらい
[BA06] 50 分で総まとめ! Office 365 開発プラットフォーム最新機能のおさらい
 
そろそろGCPも・・・ という方に贈るGCP入門
そろそろGCPも・・・ という方に贈るGCP入門そろそろGCPも・・・ という方に贈るGCP入門
そろそろGCPも・・・ という方に贈るGCP入門
 
はじめよう Azure Functions
はじめよう Azure Functionsはじめよう Azure Functions
はじめよう Azure Functions
 
Developer summit 2015 gcp
Developer summit 2015   gcpDeveloper summit 2015   gcp
Developer summit 2015 gcp
 
【de:code 2020】 ~すでに時代遅れ? 個人情報や紙のためにオフィスに行くのは今すぐやめよう~ 日本郵政スタッフが実現したステイ ホーム/クラウ...
【de:code 2020】 ~すでに時代遅れ? 個人情報や紙のためにオフィスに行くのは今すぐやめよう~ 日本郵政スタッフが実現したステイ ホーム/クラウ...【de:code 2020】 ~すでに時代遅れ? 個人情報や紙のためにオフィスに行くのは今すぐやめよう~ 日本郵政スタッフが実現したステイ ホーム/クラウ...
【de:code 2020】 ~すでに時代遅れ? 個人情報や紙のためにオフィスに行くのは今すぐやめよう~ 日本郵政スタッフが実現したステイ ホーム/クラウ...
 
【de:code 2020】 Azure インフラ 最新アップデート!!
【de:code 2020】 Azure インフラ 最新アップデート!!【de:code 2020】 Azure インフラ 最新アップデート!!
【de:code 2020】 Azure インフラ 最新アップデート!!
 
【BS9】モダン & クラウドネイティブなソフトウエア開発はじめよう ~ Azure DevOps & GitHub を使ったアプリ開発 DevOps 101
【BS9】モダン & クラウドネイティブなソフトウエア開発はじめよう ~ Azure DevOps & GitHub を使ったアプリ開発 DevOps 101 【BS9】モダン & クラウドネイティブなソフトウエア開発はじめよう ~ Azure DevOps & GitHub を使ったアプリ開発 DevOps 101
【BS9】モダン & クラウドネイティブなソフトウエア開発はじめよう ~ Azure DevOps & GitHub を使ったアプリ開発 DevOps 101
 
【BS6】 マイクロソフトの GitHub との取り組み
【BS6】 マイクロソフトの GitHub との取り組み 【BS6】 マイクロソフトの GitHub との取り組み
【BS6】 マイクロソフトの GitHub との取り組み
 
Aws Dev Day2021 「ドメイン駆動設計のマイクロサービスへの活用とデベロッパーに求められるスキル」参考資料(松岡パート)
Aws Dev Day2021 「ドメイン駆動設計のマイクロサービスへの活用とデベロッパーに求められるスキル」参考資料(松岡パート)Aws Dev Day2021 「ドメイン駆動設計のマイクロサービスへの活用とデベロッパーに求められるスキル」参考資料(松岡パート)
Aws Dev Day2021 「ドメイン駆動設計のマイクロサービスへの活用とデベロッパーに求められるスキル」参考資料(松岡パート)
 

Ähnlich wie Druidとflinkを使った動画広告のリアムタイム集計基盤

Dev camp2012jpn day2special
Dev camp2012jpn day2specialDev camp2012jpn day2special
Dev camp2012jpn day2special
Katsuhito Katoh
 

Ähnlich wie Druidとflinkを使った動画広告のリアムタイム集計基盤 (20)

どっちの VS ショー / 伝統の Visual Studio 2019、人気の Visual Studio Code
どっちの VS ショー / 伝統の Visual Studio 2019、人気の Visual Studio Codeどっちの VS ショー / 伝統の Visual Studio 2019、人気の Visual Studio Code
どっちの VS ショー / 伝統の Visual Studio 2019、人気の Visual Studio Code
 
Microsoft ではじめる AI DLラボ パートナープログラムご紹介
Microsoft ではじめる AI DLラボ パートナープログラムご紹介Microsoft ではじめる AI DLラボ パートナープログラムご紹介
Microsoft ではじめる AI DLラボ パートナープログラムご紹介
 
Build 2018 - Cognitive Services updates summary
Build 2018 - Cognitive Services updates summaryBuild 2018 - Cognitive Services updates summary
Build 2018 - Cognitive Services updates summary
 
de:code 2019 Cloud トラック 総まとめ! 完全版
de:code 2019 Cloud トラック 総まとめ! 完全版de:code 2019 Cloud トラック 総まとめ! 完全版
de:code 2019 Cloud トラック 総まとめ! 完全版
 
3Dリッチコンテンツビジネス活用のご提案ver3.1
3Dリッチコンテンツビジネス活用のご提案ver3.13Dリッチコンテンツビジネス活用のご提案ver3.1
3Dリッチコンテンツビジネス活用のご提案ver3.1
 
マーケティング向け大規模ログ解析事例紹介
マーケティング向け大規模ログ解析事例紹介マーケティング向け大規模ログ解析事例紹介
マーケティング向け大規模ログ解析事例紹介
 
デザイナー・印刷会社の皆様に贈る、Creative Cloud 導入のメリット <アップデート>
デザイナー・印刷会社の皆様に贈る、Creative Cloud 導入のメリット <アップデート>デザイナー・印刷会社の皆様に贈る、Creative Cloud 導入のメリット <アップデート>
デザイナー・印刷会社の皆様に贈る、Creative Cloud 導入のメリット <アップデート>
 
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
 
Dev camp2012jpn day2special
Dev camp2012jpn day2specialDev camp2012jpn day2special
Dev camp2012jpn day2special
 
Developr Camp 2012 Japan Fall Day2 Special Session - Visual Studio 2012 で始める ...
Developr Camp 2012 Japan Fall Day2 Special Session - Visual Studio 2012 で始める ...Developr Camp 2012 Japan Fall Day2 Special Session - Visual Studio 2012 で始める ...
Developr Camp 2012 Japan Fall Day2 Special Session - Visual Studio 2012 で始める ...
 
Azure Media Services 概要
Azure Media Services 概要Azure Media Services 概要
Azure Media Services 概要
 
MicrosoftによるAIビジネスへの取組み
MicrosoftによるAIビジネスへの取組みMicrosoftによるAIビジネスへの取組み
MicrosoftによるAIビジネスへの取組み
 
2020 年も最高のゲームをつくろう! Game Stack でゲーム開発をしよう! ~ LiveOps とデータ分析編 ~
2020 年も最高のゲームをつくろう! Game Stack でゲーム開発をしよう! ~ LiveOps とデータ分析編 ~2020 年も最高のゲームをつくろう! Game Stack でゲーム開発をしよう! ~ LiveOps とデータ分析編 ~
2020 年も最高のゲームをつくろう! Game Stack でゲーム開発をしよう! ~ LiveOps とデータ分析編 ~
 
【de:code 2020】 2020 年も最高のゲームをつくろう! Game Stack でゲーム開発をしよう! ~ LiveOps とデータ分析編 ~
【de:code 2020】 2020 年も最高のゲームをつくろう! Game Stack でゲーム開発をしよう! ~ LiveOps とデータ分析編 ~【de:code 2020】 2020 年も最高のゲームをつくろう! Game Stack でゲーム開発をしよう! ~ LiveOps とデータ分析編 ~
【de:code 2020】 2020 年も最高のゲームをつくろう! Game Stack でゲーム開発をしよう! ~ LiveOps とデータ分析編 ~
 
第36回BAクリエイターズサロン - デジタル時代に クリエータの皆さんが知っておきたい AIと付き合うためのコツ
第36回BAクリエイターズサロン - デジタル時代に クリエータの皆さんが知っておきたい AIと付き合うためのコツ第36回BAクリエイターズサロン - デジタル時代に クリエータの皆さんが知っておきたい AIと付き合うためのコツ
第36回BAクリエイターズサロン - デジタル時代に クリエータの皆さんが知っておきたい AIと付き合うためのコツ
 
de:code 2019 CD09 【Build 2019 発表】Blockchain as a Service 最新情報と新サービスにおけるブロックチェ...
de:code 2019 CD09 【Build 2019 発表】Blockchain as a Service 最新情報と新サービスにおけるブロックチェ...de:code 2019 CD09 【Build 2019 発表】Blockchain as a Service 最新情報と新サービスにおけるブロックチェ...
de:code 2019 CD09 【Build 2019 発表】Blockchain as a Service 最新情報と新サービスにおけるブロックチェ...
 
Gitlab ci & ecsへのデプロイ
Gitlab ci & ecsへのデプロイGitlab ci & ecsへのデプロイ
Gitlab ci & ecsへのデプロイ
 
3Dリッチコンテンツビジネス活用のご提案ver3.1
3Dリッチコンテンツビジネス活用のご提案ver3.13Dリッチコンテンツビジネス活用のご提案ver3.1
3Dリッチコンテンツビジネス活用のご提案ver3.1
 
3Dリッチコンテンツビジネス活用のご提案ver3.1
3Dリッチコンテンツビジネス活用のご提案ver3.13Dリッチコンテンツビジネス活用のご提案ver3.1
3Dリッチコンテンツビジネス活用のご提案ver3.1
 
Container x AI
Container x AIContainer x AI
Container x AI
 

Druidとflinkを使った動画広告のリアムタイム集計基盤

Hinweis der Redaktion

  1. Elasticsearch + Kibana InfluxDB + Grafana Prometheus サーバーリソース系 Datorama MySQLはSupersetでも使ってる
  2. Alibaba Criteo Netflix Yahoo
  3. OLAP(OnLine Analytical Processing:オンライン分析処理) • 高速集計とOLAPクエリを必要とするアプリケーションを構築しています • あなたはリアルタイム分析をしたい • あなたにはたくさんのデータがあります(数兆のイベント、ペタバイトのデータ) • 単一障害点がなくても常に利用可能なデータストアが必要です DruidのAggregations周りがわかりづらい 複雑な集計をしようとするとどう書いていいかわからず詰まる Flinkでやる羽目に 過去1ヶ月とかバッチ的な集計には向かない
  4. Druidと繋げられるBIがそんなにない ディメンションに別名を付けられるが、それをFlilterで使えない ディメンションの文字列を数値に変換できなそう(String→Long指定しても変化なし)
  5. Flinkはまだそこまで使いこなしていない window集計