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.

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

522 views

Published on

Apache Flink と Druidを使ってリアルタイム集計基盤を作ったよ

Published in: Engineering
  • Be the first to comment

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

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

×