RedashのVimプラグインvim-redashを作りました

VimからRedashを操作できるプラグインvim-redashを作りました。

github.com

vim-redashについて

vim-redashとはRedashを操作するVimプラグインです。バッファ上のSQLを実行し、その実行結果を Vim へ出力/Redashに投稿できます。

f:id:koyamay:20180307041809g:plain:w500

Redash is 何

Redashとはデータ民主化ツールです。Redashを通して社内で管理している様々なデータ・ソース(DB、Google SpreadSheetなど)の情報にアクセスすることができます。またクエリ結果を可視化し、ダッシュボードとして表示することができます。

考えられる用途としては

  • KPIの可視化、追跡
  • 異常値の追跡
  • サポートメール対応/障害調査時の情報取得

エンジニアに限らず、SQLさえ使える人であれば社内の情報にアクセスできます。

techlife.cookpad.com

また以下のようにSlackとの親和性もよく、素晴らしいです。

data.gunosy.io

きっかけ

Redashにより様々な人が社内データを活用できるようになりますが、手軽に情報を取得できるかというと人それぞれです。 エンジニアとしてiTerm2とVimを行き来した生活をしていると、以下のような難点が見えてきました:

  • 機能改善のKPIやバグ対応の調査をしているとき、大体プロダクションコードをみながらその場でSQL作成したくなる
  • RedashのNew Queryページ開くまでが既にめんどくさい
  • RedashのエディタがVimみたいに操作できない。わかる。しょうがない。

そのためやっていきました。

感想

かなり手軽で最高です。

実際に弊社サービスのサポートメール対応でvim-redashを使う機会がありましたが、

  1. ユーザーにQ&Aのあらし対応してくれと言われる
  2. おもむろにVimで新しいバッファを開いてユーザーの回答内容をクエリし、名指しされた人のうちアウトな人たちを確認する
  3. いい感じのあらし対応の機構があるので、プロダクションコードみつつさらにクエリする
  4. 状況把握したので、然るべき対応をする

RedashをWebから使わない場合はSSH経由でDBアクセスしていて、それも面倒な作業でした。余計な一手間がなくなって楽...

まとめ

自分のために作ったvim-redash、今のところすごい便利につかえています。 Redashを使う際、いままでに作成したクエリを参考にする事が多いので、もし余裕があればuniteを用いて参照できるようにしたいです。

今回初めてVimscriptを触ったのですが、なかなかまだ慣れないです。PRウェルカムです。

以下のレポジトリを参考に作りました。ありがとうございます。