PINTO!株式会社PLAN-Bの情報発信メディア

2018.06.08

箱根 祥雅

DMP/AI

目次
    1. TreasureDataを導入する前の問題点
      1. 問題点1:データ量の増加に伴う分析スピードの遅さ
      2. 問題点2:分析基盤の複雑化
      3. 問題点3:時間のかかるログ反映、分析を開始するまでのタイムラグ
      4. 問題点4:データを簡単に分析基盤から取り出せない
    2. TreasureDataを導入してどう変わったのか?
    3. JuicerでTreasureDataをどう使っているのか?
      1. Juicerがデータ分析基盤に求める7つの項目
      2. 重要指標の可視化
    4. TreasureDataをなぜ選択したのか?
    5. まとめ

5/18(金)、Kansai Tresuredata User Group(KTUG)に登壇させていただきました。KTUGは今回1回目の開催で、記念すべき1回目に登壇させていただいたのは非常に光栄でした。

参加されたのは25名ほどでなんと参加率が100%でした、参加された方の熱量が高かったなと記憶しております。PLAN-B以外にもTreasureDataを利用しておられる関西の企業様も参加されており非常に興味深い話を聞かせていただきました。

発表させていただいた内容にはなりますが「Juicer」でのTreasureData活用事例を紹介します。


TreasureDataを導入する前の問題点

Juicerは、お客様のサイトに設置したトラッキングダグから送られてくる膨大な量のログを分析・解析し、ダッシュボードにさまざまな指標を表示するサービスです。そのため、ログ分析基盤の構築はJuicerにとっての生命線です。

当時はそんな生命線ともなる分析基盤を自社で構築しており、ログ分析・解析を行うにあたり非常に多くの問題点を抱えていました。

【問題点】

  1. データ量の増加に伴う分析スピードの遅さ
  2. 分析基盤の複雑化
  3. 時間のかかるログ反映、分析を開始するまでのタイムラグ
  4. データを簡単に分析基盤から取り出せない

問題点1:データ量の増加に伴う分析スピードの遅さ

まず1番のボトルネックになっていたのは分析を行うスピードでした。

当時を振り返ってみれば、こんなデータが欲しい、というプロダクトオーナー(以下PO)からの依頼に対して多くの作業が必要でした。プロダクトの方向性や現状把握をデータから把握し、意思決定を行い、データを用意してPOに渡せるまでに3日間かかってしまうようなこともありました。

原因としては、リソースとコストの問題で、分析基盤に常にデータを貯め込んでおくことができず、分析を行うたびにデータのコピーを繰り返していた点です。データが少ない時はさして問題にはならないのですが、データ量の増加にともない、コピーするのに2日間かかってしまうこともありました。

さらにコストの問題がありました。当時はAWSを利用していましたので、コストをかければいくらでもパワーを買うことはできたのですが、そこまでの予算を捻出できず、少ない台数で分析環境を立ち上げていました。これも分析スピードを遅くしていた原因のひとつでした。

問題点2:分析基盤の複雑化

分析基盤がより大規模になってくると同時にシステムも複雑化していきました。そしてだれもが利用できるべき環境が、特定の人しか使いこなせない分析基盤になっていました。

問題点3:時間のかかるログ反映、分析を開始するまでのタイムラグ

ログ反映の時間もリアルタイムに反映させることができず、反映まで30分ほどかかってしまう分析基盤になっていました。これは、最初の分析基盤構築段階ではログ分析・解析を行う基盤ではなく、A/Bテストの集計を行うための基盤を想定していたのですが、だんだんと用途が変わっていき、その用途に耐えれなくなった結果です。

問題点4:データを簡単に分析基盤から取り出せない

データを入れる方法がほぼ1つしかなく、取り出す方法も当時は1つか2つしかありませんでした、それに加え分析基盤を触れる人が固定されてしまっていたので、分析のスピードがいよいよ最低でした。

上記のような問題があり、はじめはフルマネージドなHadoop環境はないのかと探し始めたのが、TreasureDataに乗り換えるきっかけでした

では次にTreasureDataを導入してどう変わったのかを書いていきます。


TreasureDataを導入してどう変わったのか?

  • 分析がカジュアルになった
  • 分析のスピードが圧倒的に上がった

まずは分析という行為が非常にカジュアルになりました。TreasureDataではデータ分析のツールとしてPrestoとHiveが提供されており、SQLが書ければすぐに分析を行うことが可能です。

言い換えればSQLさえ覚えれば非エンジニアでもデータ分析を行うことが可能になりました。現にJuicerでは非エンジニアがSQLを学習し、TreasureDataでデータ分析を行い、広告配信に利用しているケースがあります。

※簡単なSQLであれば学習コストは低く、Excelのフィルターを理解している方なら簡単なデータ取得なら1日程度で使えるようになると思います。

また、そこに行けばすぐにデータがある環境は衝撃的でした。今まで分析を始める前に何日もかけてデータをコピーし、分析の準備を行っていたのが、TreasureDataのコンソールにログインして3クリックほどで対象のデータベースに移動して、すぐにSQLを使い必要なデータにアクセスできるのは本当に衝撃的な体験でした。

TreasureDataはログを集める仕組みも用意されており、トラッキングタグから直接データがほぼリアルタイムでTreasureDataに書き込まれるので、分析を行う上でのタイムラグもほぼなくなってしまいました。

さらに、分析基盤をTreasureDataに移行する事で分析基盤がすごくシンプルになりました。

わかりにくいですが、AWSで構築していたデータレイクとデータマートがごそっとTreasureDataに移行したことで複雑化していた箇所がシンプルになりました。

またTreasureDataはこちらがメンテナンスを行う必要はないので、分析環境のメンテナンスを常に行う人がいらなくなり、結果として分析環境にかけていたコストも若干ではありますが下がりました。

TreasureDataを導入したことでの効果はさまざまありますが、やはり1番は分析への敷居が限りなく低くなったという点に尽きるかなと思います。

今まではデータを取得するのにエンジニアに頼むしかなかったのが、そこにいけばデータがあり、すぐにSQLを使ってデータを取り出すことができるのは本当に便利です。非エンジニアの方は頼む手間がなくなるし、エンジニアは本来行う開発に集中することができるようになりました。

次はそんな良いことづくしのTreasureDataをJuicerではどう活用しているのかを紹介していきます。


JuicerでTreasureDataをどう使っているのか?

  • データ分析基盤
  • 他社とのデータ連携
  • BI

Juicerではデータ分析基盤に求める要件が7つあります。自社で構築していた時はその7つをAWS上に構築していました。AWSのサービスを利用して構築していましたが、基本的にはフルマネージドな環境ではありませんでした。

Juicerがデータ分析基盤に求める7つの項目

結論から書くと、TreasureDataはすべてを持っていました。とくにほぼ無尽蔵に貯めておけるData Lakeはそこに行けば分析ができる環境を提供してくれています。

Data Connectorはパワフルなツールで、分析基盤からデータの取り出しが極めて簡単になりました。しかもさまざまなデータソースへの接続を行うConnectorが用意されており、簡単な設定とSQLでデータを流し込むことが可能です。

クエリエンジンも2種類用意されており、データや用途によってクエリエンジンを使いわけることでより効率的に分析を行うことが可能になりました。

他社様とのデータ連携にも一部TreasureDataを利用しています。

CookieSyncという形で一部のデータをリンクさせているのですが、それを行うためにTreasureDataの提供しているトラッキングタグを使っています。そのデータの保存先にもTreasureDataを利用しています。

TreasureData to TreasureDataでのデータ連携の場合はSQLでデータベースを指定するだけでデータ連携が可能なので、非常に便利に使っています。

重要指標の可視化

re:dashというBIツールを使って、TreasureDataにある重要なKPIをリアルタイムに可視化しています。TreasureDataがなかったときには簡単にはできなかったことが可能になりました。サービスの方向性を判断する指標を可視化することで意思決定を際の判断材料が増えました。

可視化した画面は50インチのモニターに映し出してメンバー全員が見える場所においていますので、メンバーが数値を意識するようになったのも良い効果でした。

最後になりますが、なぜJuicerではTreasureDataを選択したのか、どこが決め手になったのか、その理由をまとめていきます。


TreasureDataをなぜ選択したのか?

先に書き尽くしたので選択の理由を書く必要もあまりないかもしれませんが、テスト導入を行い、決め手となった理由を挙げていきます。

  • 70以上のデータコネクションが選択でき、簡単にデータの出し入れができる
  • 全てを貯めておけるデータストレージ
  • トレーニングの実施やサポート体制の充実
  • SQLで機会学習ができるHivemall※1

上記の4点が導入の決め手です。問題を解決するソリューションもありますが、サポート体制は非常に手厚いと感じました。Hivemallのトレーニングの実施などは当時としては非常にありがたいものでした。また、slackのチャンネルが用意されているので、疑問点などはすぐに質問できる体制にも何度か助けられました。

Juicerではリードナーチャリングを行う機能があり、そこで機会学習を利用しているのですが、TreasureDataではHivemallを使って機会学習を行うことができるのも、決め手となった理由の1つです。

※1 Hivemall:http://hivemall.incubator.apache.org/


まとめ

  1. TreasureDataはデータ分析を身近な事にしてくれた
  2. TreasureDataには分析基盤に必要なすべてが存在する
  3. 他社様とのデータ連携もより簡単に

TreasureDataJuicerのデータ分析にスピードパワーを与えてくれました。

はじめはJuicerにとってTreasureDataはフルマネージドなHadoop環境でしたが、今やJuicerのビジネスにも影響を与えてくれており、Juicerの成長には欠かせないプラットフォームになりました。

今後もJuicerではTreasureDataを活用しながら、サービスの品質をどんどんあげていこうと考えています。