RedashのVimプラグインvim-redashを作りました
VimからRedashを操作できるプラグイン、vim-redashを作りました。
vim-redashについて
vim-redashとはRedashを操作するVimプラグインです。バッファ上のSQLを実行し、その実行結果を Vim へ出力/Redashに投稿できます。
- Vimのquickrunプラグインみたいに出力結果をVimで出力できる
- Redashに投稿し結果をブラウザで開くこともできます
- DataSourceのテーブル一覧、テーブルスキーマ(カラム名のみ)を取得できる
Redash is 何
Redashとはデータ民主化ツールです。Redashを通して社内で管理している様々なデータ・ソース(DB、Google SpreadSheetなど)の情報にアクセスすることができます。またクエリ結果を可視化し、ダッシュボードとして表示することができます。
考えられる用途としては
- KPIの可視化、追跡
- 異常値の追跡
- サポートメール対応/障害調査時の情報取得
エンジニアに限らず、SQLさえ使える人であれば社内の情報にアクセスできます。
また以下のようにSlackとの親和性もよく、素晴らしいです。
きっかけ
Redashにより様々な人が社内データを活用できるようになりますが、手軽に情報を取得できるかというと人それぞれです。 エンジニアとしてiTerm2とVimを行き来した生活をしていると、以下のような難点が見えてきました:
- 機能改善のKPIやバグ対応の調査をしているとき、大体プロダクションコードをみながらその場でSQL作成したくなる
- RedashのNew Queryページ開くまでが既にめんどくさい
- RedashのエディタがVimみたいに操作できない。わかる。しょうがない。
そのためやっていきました。
感想
かなり手軽で最高です。
実際に弊社サービスのサポートメール対応でvim-redashを使う機会がありましたが、
- ユーザーにQ&Aのあらし対応してくれと言われる
- おもむろにVimで新しいバッファを開いてユーザーの回答内容をクエリし、名指しされた人のうちアウトな人たちを確認する
- いい感じのあらし対応の機構があるので、プロダクションコードみつつさらにクエリする
- 状況把握したので、然るべき対応をする
RedashをWebから使わない場合はSSH経由でDBアクセスしていて、それも面倒な作業でした。余計な一手間がなくなって楽...
まとめ
自分のために作ったvim-redash、今のところすごい便利につかえています。 Redashを使う際、いままでに作成したクエリを参考にする事が多いので、もし余裕があればuniteを用いて参照できるようにしたいです。
今回初めてVimscriptを触ったのですが、なかなかまだ慣れないです。PRウェルカムです。
以下のレポジトリを参考に作りました。ありがとうございます。