最強の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クライアントについて悩みを持っている方、どのクライアントを使おうか迷ってた方、ぜひ一度インストールして使ってみてください。それではまた!

関連記事
-
-
自社サービスのDocker化(前編)
こんにちは。 インフラ開発部の上田です。 普段は自社開発システムのインフラ担当として、日々頑張って仕事をしています。 今回は、近年話題になっているDockerについて、取り上げてみようと思います! なぜDockerなのか・・・? そもそもDockerとは何か・・・? 当社では様々なサー …
-
-
kubernetes の全ノード上で同じコンテナを動かす
今回は、kubernetes上で同一コンテナを全ノードで動かす方法を紹介したいと思います。kubernetes自体の起動方法はここでは割愛します。 はじめに 以前、CoreOSのFleet上でmackerel-agentを動かすということを行いました。今回は、kubernetes上で同じようにクラス …
-
-
巨大データベースのスケールアップと引越作業
はじめに ビッグデータ解析部でオーディエンスデータ解析基盤の開発、運用を担当している Mike です。 弊社ではインターネット広告配信ログをはじめとする「ビッグデータ」と呼ぶにふさわしいデータボリュームを扱うオーディエンスデータ解析基盤を構築しています。今秋、そのうちの1構成要素である、データサイズ …
-
-
Treasure Dataで大規模なマスタデータを扱う際にはtimeカラムインデックスを活用しよう
DACではTreasure Dataを利用して各種データの蓄積や集計を行っています。Treasure Dataは時系列のデータを扱うのに特にすぐれたアーキテクチャなのですが、セグメントIDとユーザーIDの組み合わせといった大量のマスタデータを利用した計算にも利用することもできます。そのような場合にt …
-
-
Scala番外編「Boxに保存したファイルをBox APIを使ってダウンロードしよう!」
はじめに みなさんこんにちは、プロダクト開発本部の亀梨です。 普段はXmediaOneというメディアプランニング・広告運用管理・トラッキング・マーケティング分析を行う 統合プラットフォームの開発を担当しています。 Box APIを使う背景・目的 DACはメディアレップです メディアレップとは、インタ …
-
-
初心者がRailsで開発 – deviseでユーザー認証設定 –
こんにちは、2年目のYukaです。 開発部所属でありながら実は、、 実際に自分で手を動かして開発する機会がなかなかありませんでした。。 しかしついに、、、 開発初心者がRailsでWebアプリの開発に挑戦します!! 今回のゴールは社内でも使用しているGoogleアカウントで簡単にログインができるよう …
-
-
ゼロからAngularでSPAを作ってみた(2) デプロイ・公開編
前回のおさらいと今回やること 前回(はじめてのアプリ編)では、Angular で簡単なチャットアプリを作るところまでやりました。ディレクトリ構成については説明できていなかったのですが、次のようになっています。(主なディレクトリとファイルのみ抜粋) + dist (ビルド・コンパイル後のファイルのディ …
-
-
x-callback-urlを使ってみた
x-callback-urlとは? iOSのアプリ間連携の仕様の一つみたいです。簡単に言うと、ディープリンクを行うためにカスタムURLスキームを利用するが、アプリ毎にバラバラな規則でURLスキームを設定するとアプリ間連携をスムーズに行うことができないため、どのような規則でURLスキームを設定するかを …
-
-
AWSにRailsアプリをデプロイする(準備編)
今回は、せっかくRailsで開発したアプリをAWS上に公開してみたいので その構築方法をまとめていきたいと思います。 (前回の記事:初心者がRailsで開発 – deviseでユーザー認証設定 ) AWSの設定はすでに社内で使用できるようになっていたので割愛します。 ★やりたいこと Gitlabでコ …
-
-
いまさらですが… GNU screen チートシート
最近はローカル環境で開発するようになってきたので、screen コマンドを使う機会も少なくなって来たような気がします。で、使ってないと忘れてしまうので、チートシートを作ってみました。 参照サイト GNU screen [quick_reference] 起動 コマンド 動作 screen -S &l …