トレジャーデータ(Treasure Data)公式ブログ

トレジャーデータ(Treasure Data)公式ブログです。

トレジャーデータのバッチクエリとアドホッククエリを理解する2:バッチクエリ編

トレジャーデータはクラウドでデータマネージメントサービスを提供しています。

 

本シリーズではトレジャーデータのクエリエンジンについて紹介します。無尽蔵のトレジャークラウドストレージに対する集計方法は,HiveベースのバッチクエリとPrestoベースのアドホッククエリがあります。

これら2つはお互いを補完しあうような存在であり,ケースによって使い分ける事が肝要です。

トレジャーデータのバッチクエリとアドホッククエリを理解する 

f:id:treasure-data:20140904134626p:plain

上図はトレジャーで可能なアーキテクチャの一覧です。今回はバッチクエリに着目してわかりやすく説明していきます。

2.バッチクエリ型のアーキテクチャ

2-1. バッチクエリ × Metric Insights

f:id:treasure-data:20140904134759p:plain

バッチ型はデイリーなどの特定の時間インターバルで処理を実行するもので,その場で結果が返ってくることを期待しておりません。

Metric Insights と呼ばれるダッシュボードでは,ダッシュボード上の各々のウィジェットに対してバッチ処理を埋め込む事が可能です。バックエンドでバッチ集計をしてくれて,かつチャートを更新するところまでがWebUI上で完結するこのダッシュボードはトレジャーのバッチ型クエリと非常に相性の良いツールとなっています。

一覧性とアラーティング機能に優れた Metric Insights は弊社オンラインゲームソリューションに採用されています。

2-2. バッチクエリ × Tableau Server

f:id:treasure-data:20140904140052p:plain

Tableau で作成したの定型レポート(ソースとなるデータ項目が定まっていて,チャートなどの表現も定まっている)の場合にも,データの追加分を更新するだけで良いのでバッチ処理と非常に相性が良いです。

f:id:treasure-data:20140905121200j:plain

↑ Tableau Server では Tableau Desktop よりパブリッシュされたレポートをオンラインで見る事ができます。

トレジャーデータでは,結果書き込みに Tableau Server 上のデータソースを指定するオプションを用意しており,集計ジョブを定時で実行するように設定しておけば,Tableau のレポートの自動更新が実現します。

f:id:treasure-data:20140905093552p:plain

↑ Tableau Server 上では "Data Souces" という場所にデータを持っています。このデータソースに追記すれば自動的にレポートが更新されることになります。

f:id:treasure-data:20140905093416p:plain

コンソールからは,New Query で上図の様に Tableau Server へのアクセス情報を設定するだけです。

2-3 (a). バッチクエリ × DMP

f:id:treasure-data:20140904141825p:plain

トレジャーデータのDMPとしての立ち位置は上図のように,ユーザーの膨大な行動ログを記録する箱となり,かつ定期的にこれら行動ログに対して様々なセグメント分類のための集計処理を実行しユーザーセグメントテーブルを更新していく役割を担っています。ユーザーのセグメントDBはそれなりのレスポンスが要求されますので,アドホック型クエリや Redshift・RDBのようなものが向いています。

2-3 (b). バッチクエリ × DMP × DSP

f:id:treasure-data:20140904142229p:plain

さらにDSPと連携するようなアーキテクチャを構成する場合には,セグメントDBとしてKey Value Store が採用され,DSPからは常にこの高速レスポンスのKVストアからデータを取得してきます。

トレジャーデータの結果書き込み先を Redis などのKV Store(現在開発中)をしておけば,こちらも自動的にDSPのためのセグメント情報を更新していくことが可能です。

トレジャーデータに関するお問い合わせは support@treasure-data.com まで。