Treasure Dataの新機能(Data Tank)をAudienceOneのレポート機能で利用した話


Data Tankとは?

Treasure Dataの新機能でTreasure Dataのプラットフォーム上に構築されたデータマートです。
Tableau等のBIツールとの接続を想定されており、AWSでいうところのRedshift的なものだと考えるとわかりやすいかと。
Data TankはPostgresql9.4をベースに拡張にされており、ストアドや9.1から追加されたForeign Data Wrapperも利用可能になっています。

AudienceOneについて

AudienceOneは、いわゆるDMP(Data Management Platform)で、どちらかというと、Public DMPに分類されています。
基本的な機能としては、Webデータの収集や分析、セグメンテーション、外部データ(3rdPartyデータ)との掛け合わせ分析、また、セグメンテーションしたデータをDSPなどの配信システムと連携する、といった機能を備えています。
詳しくはこちらを御覧ください

Data Tankの利用について

AudienceOneでは10/8のアップデートで複数のセグメントの重複率の分析を行うレポートでData Tankを活用しました。
最初に実際のレポートUIを見たほうがわかりやすいと思うので説明すると、
以下のようにベン図を用いて任意のセグメントについての重複率や重複ユーザ数の分析を行うことができます。
データについては大きいものでも数秒で出力することができます。

aone_report_1008

このレポートに使用しているデータは実に単純で、各セグメントA,B,Cに対して集合演算(A∩B、A∩C、B∩C、A∩B∩C)を行っているだけです。

ロジック自体はとても単純なんですが、AudienceOneには全体で4億以上のCookieデータがあり、10万を超えるセグメントがあります。
ユーザ x セグメントで直近1ヶ月を対象にすると、約120億レコードにもなります。
なので、事前にすべて組み合わせの集計をやろうと思ってもなかなか大変です。というより無理でした。。
とはいえ、非同期でやってしまうとスピーディーな分析ができず、PDCAサイクルを高速でまわすことができなくなってしまいます。

アドホックにセグメント間の重複分析できるようにするためにData Tankを利用しました。

システム構成としてはざっくりですが、以下のようになっており、Treasure Data上にあるログデータやAudienceOneで推計しているデモグラフィックデータなどをまとめてHiveQLで中間集計を行い、その結果をData Tankに出力しています。
そしてAudienceOneのコンソールから直接Data Tankに接続してデータを取得しています。

aone_datatank

データ量としては、HiveQLで処理するデータが上記で書いた通り約120億レコードで中間集計を行った結果が1,000万弱のレコード数となっています。
HiveQLの実行からData Tankに入れるまでの処理時間はだいたい1~2時間くらいです。

中間テーブルのデータの持ち方が一番工夫したポイントなので、具体的なテーブルの構成についてはご紹介できませんが、当初はRedshiftでの構築を検討していました。
ところが、ご存知のとおりRedshiftでは使える関数が限られており事前に考えた方法での実現が難しく、ちょうど困っていたところでData Tankを紹介いただいて、今回採用に至りました。

パフォーマンスについては、Data Tankの採用を決める前にちょっとだけやってみましたが、Redshiftと同等、ないしはData Tankのほうが早かったです。
もちろん、データ量やデータの内容、クエリによって全然異なると思いますが。
今回の採用した一番のポイントはPostgresqlの関数がすべて使える、という点だったのでまだちゃんと検証できていないというのが本音です。
個人的にはData Tankを利用することでTreasure Dataのプラットフォームですべて完結できるってのもいいなと思いました。

今後について

現状、Treasure Data+Redshift+Tableauという構成で構築しているものもあるので、
Treasure Data+Data Tank+Tableauとの比較検証もしてみたいと思います。
また、今後も継続してAudienceOneのレポート機能を拡充していくので、うまく活用したいと思っています。
Foreign Data Wrapperも今回利用しなかったので、マスタデータとの突合など機会があれば利用したいと思います。

おまけ

弊社ではエンジニアの募集もしておりますが、学生エンジニアインターンの募集もはじめました。
興味ある方がいればぜひ!
ネット広告業界のプロを目指したい、学生エンジニアインターンWanted!


DACエンジニア採用情報

  関連記事

IAB
Ad Tech Conference~海外アドテク系カンファレンスに行ってきた~

こんにちは、田畑です。   前回のエントリから早一か月、どのように書こうかなぁと考えているうちに時間が経ってしまいました。前回はそもそも自分の部署が何をしているのかといったところを書いたので、今回は実際に情報収集の場として利用している各種カンファレンスの様子について書いてみました。 &nb …

new-york-city-828776_1280
ネイティブ広告と記事広告の違いってなに?!

こんにちは、プラットフォーム・ワンの新卒1年目Yukaです!! ここ数年よく耳にし、さまざまな媒体で目にするネイティブ広告。 しかし、今までの記事広告といったいなにが違うのー?!?!?! ということで調べてみました。 ネイティブ広告(Native Ads) デザイン、内容、フォーマットが、媒体社が編 …

data-tenki
気象予報士とビッグデータ解析の意外な関係

DACから気象予報士が誕生しました ビッグデータ解析部のMikeです。 2015年1月の気象予報士試験に合格し、めでたく4月からアドテク業界ただ一人(本当?)の気象予報士となりました 。 そんなわけで、今回は気象予報士とビッグデータ解析の関係についてお話したいと思います。 なぜ気象予報士を目指したか …

cookie
【DMP】クッキー連携ってなに

  アドテクに関わる方であれば、必ず耳にするであろう「クッキー連携」をシンプルに説明してみようと思います。 クッキー連携は cookie sync(クッキーシンク、cookie synchronization の略)と呼ばれることも多いです。 Googleは cookie matching …

big-brother2
オトナの常識、消費者プライバシー保護(後編)

プライバシーが保護されていると期待できなくなってしまった国とは? 『オトナの常識、消費者プライバシー保護(前編)』はこちらから             正解はアメリカです。 スノーデン事件といえば、ご存じの方もいらっしゃるかと思います。 & …

appnexus
「Ad Tech Power Game」

こんにちは、テクノロジー戦略部の田畑です。 はじめに。 この「アドテクゑびす界」ですが、DAC公式のエンジニアブログです。他の方も色々と技術的なことを書いていますが僕エンジニアでもなんでもありません。コード書けませんし、読めません。 ではなぜそんなやつがここでブログを書いているのか?会社の公式ブログ …

image1
トレジャーデータの新機能「Data Connector」でクライアントレスなビッグデータ連携を実現する

トレジャーデータは、スキーマレスな大量のデータ(ビッグデータ)をパブリッククラウド上に保管して集計や抽出をするためのサービスなのですが、他システムからの連携データをトレジャーデータのテーブルに格納するまでが一苦労でした。 他システムとの外部連携を行う場合、一般的にローカルサーバー内のストレージを外部 …

no image
SafeFrameでリッチ広告をセキュアに実現

アドサーバ(広告配信サーバ)は、通常iframeで広告のクリエイティブを配信している。(JS配信とかに対応しているアドサーバもある) 通常のセキュリティだとiframeの中身(srcで実際に表示されている側)がiframeを操作する事はできない。つまりexpandなどのリッチ広告、特に表示領域を変更 …

no image
【動画広告】VASTって何?

こんにちは、FlexOne推進部の近江です。 私は新卒入社2年目でアドサーバーや動画ソリューション(OVP)のサポート、開発を担当しています。 今回は動画広告のプロトコル「VAST」について書かせて頂きます。   ここ数年動画のくるくる詐欺がありましたが、昨年はHulu、ユーチューバー、見 …

no image
いま必要なのは「アナリティクスアプローチ」

こんにちは。 ビッグデータ解析部のakiです。 解析部で、Markezineでの連載をはじめましたのでご紹介です。 いま必要なのは「アナリティクスアプローチ」、ビッグデータ活用の課題とこれから (http://markezine.jp/article/detail/21293) マーケターのかた向け …