最強のSQLクライアント(GUIツール)「TeamSQL」を使ってみた!

     - データベース, 開発ツール , , ,  


はじめに

みなさんこんにちは、プロダクト開発本部の亀梨です。
普段はXmediaOneというメディアプランニング・広告運用管理・トラッキング・マーケティング分析を行う
統合プラットフォームの開発を担当しています。

エンジニアの皆さん、SQLクライアント(GUIツール)って何使ってます?

わたくしはこれまでデータベースの種類に応じて様々なSQLクライアント(全て無料)を使ってきました。

  • PostgreSql -> pgAdmin・Postico・PG Commander
  • MySQL -> Sequel Pro
  • Redis -> Medis

といった感じです。PostgreSQLはPosticeをメインに使用しているのですが、無料版は接続先が9つと限られているので他のも併用しています。というわけで常時4つ程度のクライアントを使い分けているわけです。手間だし、面倒だし、PCにも優しくない。。。なんとかしたいなぁ。。。

そんなあなたに朗報!TeamSQLがやってきた!!

というわけでTeamSQLの紹介です。まずはサイトをご覧あれ!
TeamSQL – Cross-platform SQL Client

はい、シュッとしたサイトですね。もうこの時点で好きです(笑)。
そして大きな文字で目に飛び込んでくるキャッチコピーがTeamSQLの最大の魅力「Cross-Platform SQL Client」です。
Cross-Platform、つまり、データーベースの種類に関係なく横断的に使えるSQLクライアントっていう意味ですね。

はい、この時点で最初に書いたわたくしの悩みは万事解決!めでたしめでたし♫
…なのですが、それでは紹介したことにならない(笑)ので、これからこのツールの魅力を4点に分けて詳しく書いていきます。

TeamSQLの魅力

その1:DB横断で使える!接続数に上限無し!!そして無料!!!

先に書いたとおり、DBの種類に関係なく接続ができます。公式サイトには…

と既に主要なDBはほぼカバーしており、使えるDBは順次拡大予定とのこと。
ちなみにわたくしのTeamSQLインストール前のMacのDockはこんな感じ。

そしてTeamSQLのDockはこんな感じ。

だいぶスッキリしました。目にもPCにも優しいです(笑い)。
というわけでクロスプラットフォームなTeamSQLですが、これが接続数無制限でしかも無料で使えるなんて、どうかしてるぜ!!!(古)

注意点

TeamSQLは他のSQLクライアントと同様SSHトンネルが設定できるのですが、現在はバグが発生しておりSSHトンネリングが使用できません(;_;)

すでにわたくしが開発元にGitHubでissueを投げておりますが、修正アップデートされるのはもうしばらく先かもしれません。
なので現状は商用環境では実質まだ使えない感じですかね。。。

その2:UIが洗練されてる!

SQLクライアントには珍しく、イケてるUIになっています。こちらがトップ画面。

クエリ入力・結果表示エリアがあって、左側に各機能タブがコンパクトに並んでおり、接続先表示エリアでは接続先ごとにDBのアイコンが表示されてて分かりやすい。本番環境の接続先には「PROD」と表示できるのも気配りが効いてます。あとメニュータブの大きさや全体のカラーデザインは選べるようになっているようになっています。

素晴らしいUIだなぁ。。。あれ、でもこんな感じのUI外でも見たことあるような。。。
.
.
.
あっ!VS Codeだ!酷似!!(笑)。

というわけで普段VS Code使ってる方は馴染みやすいかと^^;

その3:クエリ実行履歴が見やすい!予めクエリを保存・管理できる!

お次は履歴画面。こんな感じです。

はい、非常に見やすいです。履歴をクリックすると右側に実行結果が表示されます。
続いてクエリ管理画面はこちら。

予め作成したクエリを保存しておけます。フォルダ分けして管理も可能です。
しかもこのクエリはクラウドで他のユーザーと共有可能なんだとか!わんだふぉー!!

その4:拡張機能がどんどん追加される!

拡張メニューの画面はこんな感じです。

さまざまな機能が拡張できるのが便利ですね。
たとえばSELECT実行結果をGoogleスプレッドシートに投入するとか。至れり尽くせり。

まとめ

というわけで、簡単ではありますが魅力を紹介させていただきました。
これからわたくしもTeamSQLを使い倒していきたいと思います。同じようにSQLクライアントについて悩みを持っている方、どのクライアントを使おうか迷ってた方、ぜひ一度インストールして使ってみてください。それではまた!


DACエンジニア採用情報

  関連記事

クラウド電話API “Twilio”で起こされてみた

どうも、開発部のクラヴマガです。 弊社サービスも最近はAWSの様なクラウド環境でサービスを構築することが多くなりました。 そこで問題になるのが、障害などによる深夜対応・・・。 データセンターに物理サーバをおいていた頃は、データセンターから障害発生時に 電話連絡をもらっていたのですが、クラウド環境では …

ゼロからAngularでSPAを作ってみた(2) デプロイ・公開編

前回のおさらいと今回やること 前回(はじめてのアプリ編)では、Angular で簡単なチャットアプリを作るところまでやりました。ディレクトリ構成については説明できていなかったのですが、次のようになっています。(主なディレクトリとファイルのみ抜粋) + dist (ビルド・コンパイル後のファイルのディ …

ゼロからAngularでSPAを作ってみた(1) はじめてのアプリ編

はじめに Single Page Application (SPA)って知っていますか? Webサイトでコンテンツのリンクをクリックした時に妙に表示が早いな〜というとき、実はページを移動するのではなくてページの一部のみを書き換えていたりします。 こういったサイトの作り方を Single Page A …

Vagrantの機能を使って開発環境の効率をあげてみた。

プラットフォーム・ワンのシステムの運用・保守担当のエンジニアです。 保守の仕事に関わると、 ユーザからのお問い合わせだったり、監視アラートによる検知から システムを調査することがあります。 ログとソースコードを見て、不具合を特定し改修する。 すぐできればカッコいいですが、 「本番環境に反映して別のエ …

自社サービスのDocker化(後編)

こんにちは。 インフラ開発部の上田です。 前回、前編としてDockerについて書き、早半年も経ちました。 前編はこちらです 今回は後編として、以下について書いてみたいと思います。 ■複数プロセス起動 前編で書いた通り、通常のOS起動時とは異なり、コンテナ上で個別にプロセスを起動する必要があります。 …

Scala番外編「Boxに保存したファイルをBox APIを使ってダウンロードしよう!」

はじめに みなさんこんにちは、プロダクト開発本部の亀梨です。 普段はXmediaOneというメディアプランニング・広告運用管理・トラッキング・マーケティング分析を行う 統合プラットフォームの開発を担当しています。 Box APIを使う背景・目的 DACはメディアレップです メディアレップとは、インタ …

Android 非同期処理についてまとめてみた

Androidには、UIに影響を与えないよういくつか非同期処理が用意されています。 今回は非同期処理の代表的な ・Service ・IntentService ・HandlerThread について違いを踏まえながらまとめます! 非同期処理について(http://codezine.jp/articl …

x-callback-urlを使ってみた

x-callback-urlとは? iOSのアプリ間連携の仕様の一つみたいです。簡単に言うと、ディープリンクを行うためにカスタムURLスキームを利用するが、アプリ毎にバラバラな規則でURLスキームを設定するとアプリ間連携をスムーズに行うことができないため、どのような規則でURLスキームを設定するかを …

全ファイルを検索
意外と知らないかも? Chrome DevTools の機能10選

みんな使っている Chrome DevTools。 Web開発やトラブルシューティングには必須ですが、便利な機能を知らないで使っている人がいたり、Web で使い方を調べても古い情報だったりすることがあるので、部内で Chrome DevTools についての勉強会を開催しました。 ここでは、その中か …

kubernetes の全ノード上で同じコンテナを動かす

今回は、kubernetes上で同一コンテナを全ノードで動かす方法を紹介したいと思います。kubernetes自体の起動方法はここでは割愛します。 はじめに 以前、CoreOSのFleet上でmackerel-agentを動かすということを行いました。今回は、kubernetes上で同じようにクラス …