少ないエンジニアでデータをビジネスサイドに共有するため、 Redash を導入しています。
よくあることだとは思いますが、当社ではやりたいことに比べてエンジニアの数が少ないです。 開発を行う傍、 運営している音楽教室も運営しています。 そのため、開発中に特殊なデータのリクエストが来たりします。 開発してシステム内に組み込めれば良いものもありますが、 いつまで継続的に使われるかわからない画面・機能をつくってリリースするのはそれなりに負担です。
そういう理由があって、2019年以前は各担当者がクライアント端末(パソコン)上で SQL を使えるようにしていました。 SQLを自分で組み立てられる人はごくわずかなので、公式のクライアントアプリケーションを各端末にインストールして、アカウントを作成して、接続設定などの手順書を書いて、エンジニアが SQL を書いて各担当者に送り、 各担当者がクライアントアプリケーション上で SQL を実行していました。 これでも一応仕事は回っていましたが、 「SQLがなにもしてないのに壊れた」という問い合わせがあったり、 手順書を作ったところで「クライアントの設定方法がわからない」という問い合わせは止むことがありませんでした。 同じ業務を行なっているはずの人の間で SQL が引き継ぎされていなかったこともありました。 ちなみに、当社で使っている DBMS はほとんど PostgreSQL だったので、 pgAdmin を各端末にインストールしていました。
そういった状況だったため、エンジニアチーム内ではもうすこし楽に運用したいという希望がありました。 そんな中、あるひとりのエンジニアの声から導入されたのが Redash でした。
Redash とは
Redash は OSS で提供されているダッシュボードツールです。 サービスの重要指標を可視化し、共有するためには欠かせないダッシュボードを簡単に作ることができます。
利用できるデータは様々で、 RDBMSである MySQL、PostgreSQL だけでなく GoogleSpreadsheets からもデータを取得できます。 当社ではまだやっていませんが、 Pythonのコードを直接実行することもできるそうです。
Redash の利点
サーバアプリケーションなので、各端末へのアプリケーションインストールをしなくてよい
各端末での接続設定の必要がなくなりました。 これにより端末セットアップと設定に関する問い合わせから解放されました。 セキュリティのため、 各利用者のアカウントの作成は必要です。 OAuth や SAML との連携もできるので、すでにそういった認証基盤を使っている場合はアカウント管理も楽になります。
OSSなので余計なコストがかからない
Saasとして利用することができますが、OSSであるため自前のサーバにインストールしてしまえば、負担するのはサーバの運用コストだけになります。
当社では AWS の t2.small で運用しているため、サーバそのもののコストは 0.023USD/時間 です。 月にすると17.112USD/月になります。 ここへEBSのコストが乗ってきます。 8GB だとして 18USD/月 かかります。 Saas利用の場合だと最低の Starterプランで も 49USD/月 なので、 Saas の最低プランの 36% 程度の金額で使えていることになります。
特に AWS では 無料で公開されている redash の AMI を使って EC2 のセットアップができます。
パラメータ付きのクエリを蓄積・共有できる
作成した SQL を登録することができ、さらにSQLの結果をいつでも誰でも参照することができます。
一度作ったSQLがどこかに捨てられることなく Redash に貯められていくので、同じようなSQLを何度も作成する手間がなくなります。
さらに、パラメータ付きでクエリを実行できます。 SQL の中に {{ }} で囲んでパラメータを書いておくと、入力欄が出現します。 クエリを実行するときには、そのパラメータを変えることができます。
ファイルでの共有がなくなり、パラメータのみ変更するようになったことで、 いつのまにか動かなくなるトラブルがなくなりました。
グラフ描画、ピボットテーブルの作成も可能
SQLの結果を参照できるだけではなく、結果を棒グラフ、線グラフ、ピボットテーブル等の作成もできます。
(画像は GitHub より引用)
当社でも会員様や講師に関するKPIをグラフで確認できるようにして、会議資料として使っています。 また Slack での情報連携も行なっています。
redash 導入で変わったこと
どんな指標の集計がされているのかがわかるようになり、複数人で似たような数値の集計をする必要がなくなりました。 データも可視化されるようになり、現在の会社の状況がわかりやすくなりました。 データを共有しながら事業を進めていけるようになったのは Redash の効果が大きく現れたところだと思います。
開発者視点では、データ分析・表示の開発作業が減り、本来集中するべき作業に集中しやすくなりました。
当社では、そんな効率を求めて改善を積み重ねていくエンジニアチームのマネージャを募集しています。 興味ある方は是非Wantedlyよりご連絡ください!