クラウドワークス エンジニアブログ

日本最大級のクラウドソーシング「クラウドワークス」の開発の裏側をお届けするエンジニアブログ

HerokuのDataclipsを使って簡単にリアルタイムでデータを見える化した話

開発の山本です。最近いきなり寒くなってきて焼酎のお湯割りが飲みたくなる季節になりましたね!

今、私が携わっているプロダクトはHerokuで運用しており、サービスが稼働してから3ヶ月程立ちました。 実運用が始まりリリース直後のバタバタが落ち着いてくると、次のステップとして分析用にデータが欲しいという要望が当然でてきますね。
しかしながら、新規のプロダクトでは抽出のやり方も一から考えないといけず、正直アプリケーション開発に時間をかけたいので、あまり手間暇かけて仕組みを作りたくもないのが本音です。単純にCSVで落として渡すだけだと何度も依頼が来て(ノ`Д´)ノ彡┻━┻ってなることは目に見えてるのでそれも避けたいですね。

ということで今回はDataclipを使ってデータ抽出を簡単にやったよという話です。

ちなみに、Herokuでのサービス運用に興味がある方は @yo-iida のこちらのエントリを参考にして見て下さい。

engineer.crowdworks.jp

やりたいこと

  • 事業部からも分析データが見えるようにスプレッドシートで出力したい!
  • 依頼があるたびに繰り返しやらなくていいように自動で更新される仕組みにしたい!

自動で!。。。素敵な響きですね :D

それでは実際にやり方をみていきましょう!

その前にDataclipsとは?

Heroku Postgres::Databaseで使えてダッシュボードからSQLを実行できるサービスです。
一度書いたクエリを保存しておけるので便利!
https://devcenter.heroku.com/articles/dataclips

やってみた

Dataclipsは ダッシュボード右上のメニューと

f:id:moti245:20161017002048p:plain:w200

Heroku Postgres::Databaseから使えます。

f:id:moti245:20161017002023p:plain

中に入るとこのように保存したクエリの一覧が見れるダッシュボードが用意されてます。

f:id:moti245:20161017104455p:plain

Create Dataclipsから新しいクエリを作成してみましょう。
名前をつけてDBを選択してクエリを書くだけ。シンプルでいいですね!

f:id:moti245:20161017114046p:plain

今回はスプレッドシートに出力させたいので Share / Export から Google Drive を選択して

f:id:moti245:20161017113906p:plain

はい、できた(๑•̀ㅂ•́)و✧
ブログで書く内容ですか?ってぐらい簡単にできましたね。
モザイクだらけですみませんm(_ _ ;)m

f:id:moti245:20161017114546p:plain:w400

一度出力したらスプレッドシートのリンクが保存されるので便利です。

f:id:moti245:20161017115854p:plain:w300

スプレッドシートの ImportData を使ってURLから取ってきているだけなので
・1ブックにまとめてシートごとに管理してみるもよし!
・スプレッドシートのデータ探索を使ってグラフを軽く付けてみるもよし!
・こちらのエントリを参考にグラフをSlackに投稿してみるもよし!

engineer.crowdworks.jp

結果がURLで管理されているので開くたびにデータが更新されて、いつでも最新状況を把握することができるのがいいですね :D

最後に

今回は走り始めたアプリケーションでやってみました。
中長期稼働しているアプリケーションだとデータ量もそれなりになるので、 複雑なクエリを発行すれば更新が重くなったり負荷がかかる等の問題が発生するかもしれません。
用法用量を守って正しくお使い下さいm(_ _ ;)m

We're Hiring !

クラウドソーシングのクラウドワークスでは、エンジニアを募集中です。

www.wantedly.com

興味のある方はお寿司ランチを無料で食べながらお話してみませんか?

crowdworks.co.jp

© 2016 CrowdWorks, Inc., All rights reserved.