実データで学べるRedashハンズオンをやってみたら完全に求めていたものだった

Redash?

RedashとはさまざまなデータソースからSQLなどのクエリを駆使してデータを取り出し、グラフやレポートをGUIで作ることのできるオープンソースのツールです。
Webエンジニアをされていれば、いい感じにデータを抽出してほしいという依頼が飛んできたりすることもあるのではないでしょうか?
Redashでは実行したクエリを保存して別の人が違うタイミングで実行したり、ダッシュボードにまとめてレポートを作ったりすることができるので、その辺の要求に簡単に応えられるようになるのではないかと思います。

Redashハンズオン?

この記事のタイトルにもありますRedashハンズオンid:kakku22 さんが作られているもので、ハンズオン中で使うデータを含め環境構築まですべてが書かれています。
MacでもWindowsでも問題なくできるそうなのでこれも嬉しいなと思いました。

動機

どのくらいの知識量なのか?

僕自身、SQLはふつうに書ける(チョット調べたら複雑なものも書ける)くらいです。
また、今回紹介するハンズオンではDockerで環境構築を行っており、僕のDockerの基礎知識は限りなく0でしたが、全く問題なく最後まで終えることができました。

なぜこれなのか?

Redashについては以前から知っており、会社でも溜まってきたデータをそろそろ可視化して次の施策につなげたいなどの要求が高まってきたこともあって「自分で使ってみよう!」と思ったこともありました。
使ってみよう、と思ったはいいものの、公式の解説ページであるSetting up a Redash Instanceからいろいろやってみたのですが、何故か*1うまくいかず、Redash怖いという印象で終わってしまっていました。

id:ariarijp さんとid:kakku22 さんが主催でRedash Meetup #0 - Redash 初心者向けハンズオンを開催されるとのことをconnpassのサイトから知り、ハンズオンならやれそう!と思って申し込んだものの業務都合で参加できなくなりました。
一度やる気が出たのでこれを逃す手はないということで、公開されている資料を見て実行に移しました。*2

スクリーンショット 2017-12-29 12.25.20.png (69.5 kB)

内容

実際の内容について、詳しくは元の資料を参照してください。

Dockerのインストール、環境構築から、基本的な操作

環境構築から基本操作が出来るようになるまでの流れが一通り体験できます。 基本的な操作とは、

  • クエリ作成
  • グラフ作成
  • ダッシュボード作成

のことを指しています。 Redashは基本的に使う分にはすごくシンプルなので、簡単なSELECT文が書けたらこのあたりは2回目何も見ずとも実行することができると思います。 僕は普段、MySQLのクエリを探索的に使う際にはSequel Proを利用していますが、それよりもSQLの補完がいい感じに効いていて楽に書けるなと思いました。 これはチームで触る際に、特にBizDevの方々に触り始めてもらうに当たってすごく良いことだと思います。 一部補完が強すぎて、Enter Keyを押すときに違ったクエリになってしまうことがあり、行末に空白を打つという工夫によって回避していたりしました。

クエリ操作をサポートする機能を使ってみる

SQL文を書く際に、上記の機能だけで言うと、Sequel Proなどでもできますが、こちらで紹介されている - パラメータ付きクエリ - フィルタ - クエリスニペット - クエリに色を付ける

などの機能を利用すると、より快適なSQL生活ができると感じました。 普段は、Google 日本語入力を使って、よく使うSQLを出力したりしていますが、クエリスニペットを使うとそこも覚えなくてすむのでコストが削減できますし、チームの知見を共有できるという意味ではすごく良いと思いました。

フォーク、リンク集作成、結果のダウンロード、アラート通知などの機能の紹介

簡単ではありますが、これらの発展した機能にも触れられていました。
特にアラート通知機能は革命的に便利で、Slack通知をいとも簡単に実現できました。
コードをわざわざ書いて、cron回してということをしていましたが、GUIで作成からメンテナンスまでできるので、楽に評価高くできそうですね!

その他、自由課題

また、ミートアップの発表資料を見ると早く終わった方のための自由課題がありました。
そちらもやってみると、先程も書いたとおり基本操作はすんなりできたので、自分ひとりでも簡単に最後まで終えることができました。
振り返り記事では、追加演習も紹介されており、admin周りのページも一通り目を通してみました。
同じく紹介されているGoogle Spreadsheets連携についても、社内便利ツールとして使い所がかなりありそうなので、次に学びたいなと思っています。

まとめ

Dockerをやってみたら意外と楽にできた

おまけチックですが、Dockerについて少しだけ耐性ができました。
「Dockerよくわからん」という状態で、以前にRedashを試そうとしたときもAWSを選択してしまっていました。
今回Dockerを入れて触ってみて、*3特に問題なく環境構築できたので、Dockerいけるんじゃね感が高まってきました。そういう意味でも0からとりあえず1まで動く前提で工程が記されているハンズオンって偉大だなと思いました。

実際の業務でチームに導入していこうと思う

実際にやってみて、これならお試しでチームに導入できそうだなと思いました。
そういえば、つい最近BizDevの方が、「クエリ触れる用になりたいんですよね」的なことを話されたので、年始に導入やれるんじゃないかと思いました。

ただ、実際運用する際にDockerでいいのか?
など、あくまでハンズオンでわかりやすくしてくださっていた部分で嵌りそうなので、その辺を公式ドキュメント読みつつやってみようと思います。

初心者向けハンズオン再演があるようです

一回目のハンズオン回の再演があるそうです。
こちらから申し込むことができるので興味がある方は是非行ってみてはいかがでしょうか?*4 redash-meetup.connpass.com

*1:春頃なので詳細には覚えていないですが

*2:その週ではできませんでしたが...汗

*3:あまりわからないながらも

*4:すでに定員オーバーしていますが、1月末なのでキャンセルも見込めると思います