モダンなSQLクライアントソフト「DBeaver」の紹介
DBeaver とは?
公式の説明を引用すると下記のとおりです。(Google 翻訳)
開発者、SQL プログラマー、データベース管理者、アナリスト向けの無料のマルチプラットフォームデータベースツール。
JDBC ドライバーを備えたすべてのデータベースをサポートします(基本的には-ANY データベースを意味します)。 商用バージョンは、MongoDB、Cassandra、Couchbase、Redis、BigTable、DynamoDB などの非 JDBC データソースもサポートしています。商用バージョンでサポートされているすべてのデータベースのリストは、ここにあります。
・メタデータエディタ、SQL エディタ、リッチデータエディタ、ERD、データのエクスポート/インポート/移行、SQL 実行プランなどの多くの機能を備えています。
・Eclipse プラットフォームに基づいています。
・プラグインアーキテクチャを使用し、MySQL / MariaDB、PostgreSQL、Greenplum、Oracle、DB2 LUW、Exasol、SQL Server、Sybase / SAP ASE、SQLite、Firebird、H2、HSQLDB、Derby、Teradata、Vertica、 Netezza、Informix など。
詳しくはGitHub リポジトリや公式サイトをご覧ください。
色々書いていますが、要するに様々な DBMS をサポートする SQL クライアントソフトです。
A5:SQL Mk-2 や Table Plus などと類似の機能を持っています。
類似の SQL クライアントソフトとの違い
対応する DBMS
SQL クライアントソフトの多くは特定の DBMS 専用であることが多いですが、DBeaver は様々な DBMS に対応しており、一つのソフトで様々な環境に対応できます。
プロジェクトが変わって DBMS も変わったからと言ってソフトを別途導入・慣れる必要が無くなるのでかなり楽です。
マルチプラットフォーム
機能的に競合している A5:SQL Mk-2 は国内ではかなりの支持を得ていますが、Windows 限定となっています。
その点 DBeaver は Windows・macOS・Linux に対応しており、私のように複数の OS で作業する人からするとソフトを統一できるのでかなりメリットとなります。
無料だが制限が特に無い
様々な DBMS に対応していてマルチプラットフォームである点は Table Plus も同じですが、無料版は機能制限もあります。
DBeaver は無料版でも特に支障を感じる制限は無いので、ストレスなく使用することができます。
DBeaver の良い(好きな)ところ
正直この手のソフトの選定理由は利用者の細かい用途や好みによるところが大きいです。
なぜなら最低限の機能は競合するソフトでもほとんど実現されているためです。
ですので主観的な理由も含めて DBeaver の良い(好きな)点を列挙してみます。
GUI がモダン
私はもともと A5:SQL Mk-2 を愛用していたのですが、Windows 以外で使用できないこととは別に、見た目が古臭い(※)のがどうしても気になっていました。
その点 DBeaver はめっちゃかっこいいとまでは行きませんが、不満なく使えるレベルのモダンさになっていると思います。
他にもモダンな SQL クライアントソフトはありますが、劣らず十分なレベルかと思います。
※製作者様、いままでお世話になったのに辛口ですみません…
比較としての記載のためご容赦ください…
GUI の例
開発が活発
DBeaver は OSS として開発されています。
頻繁にアップデートがなされており、現在も開発中です。
最近は認知度も上がってきていますし、将来性は十分に思えます。
Excel への貼り付け、Excel からの貼り付けが可能
レコードをコピーしてそのまま Excel や Google スプレッドシートに貼り付けすることができます。
また、Excel や Google スプレッドシートからコピーしてそのまま DBeaver で貼り付けを行うとレコードの追加が可能です。
テストデータを作成するときなどにかなり便利です。
※DBeaver への貼り付け時は新規レコードでctrl + shift + v
か、右クリックして「高度な貼付け」を選択する
機能が十分
前提ではあるのですが、SQL クライアントソフトとして競合ソフトに匹敵もしくは上回る機能が備わっている必要があります。
DBeaver は十分な機能が備わっているように感じています。
私が主に気にしている要素は下記になります。
- DBMS(RDBMS)に接続してデータの登録・参照・更新・削除が可能
- CSV や SQL などでデータのエクスポート・インポートが可能
- 接続先の設定を保存しておいて、初回以降瞬時に接続可能
- 接続先をグルーピング可能
- 接続先の環境ごとに GUI のカラー・コミットタイミングの制御などを設定可能
- SSH トンネルによる接続が可能
- SQL エディタおよび SQL 実行が可能
- タブにより複数テーブル、複数接続先をシームレスに操作可能
インストール方法
- 公式サイトへアクセスする
- ダウンロードリンクをクリックする
- インストール対象の OS に合わせてダウンロードする
- ダウンロードしたインストーラーを実行してインストールを行う
機能紹介(一部)
全部の機能を紹介するのは無理なので、(私にとって)主要な箇所だけ紹介します。
接続先追加
例で MySQL での接続例を記載します。
- [ データベース > 新しい接続 ] をクリックする
- 「MySQL」をクリックする
- 接続情報を入力する
- 「テスト接続」をクリックして成功メッセージの表示を確認する
- 「接続の詳細」をクリックする
- 「接続名」と「接続タイプ」を設定する
- 「終了」をクリックする
- 作成された接続先を右クリックして、[ 作成 > 新しいフォルダ ] をクリックする
- フォルダ名を入力して OK をクリックする
- [ 接続先名 > データベース > スキーマ名 ] と展開していき、テーブルが表示されることを確認する
SSH トンネル
- 接続設定の SSH タブを開き、「SSH Tonnel を使用する」を選択する
- 接続先情報を入力の上「Test tonnel configuration」をクリックして、成功メッセージが表示されることを確認する
- 一般タブには SSH トンネリングした先から見た接続情報を入力して、「テスト接続」をクリックする
レコード表示
テーブル右クリックして「ビュー 表」をクリックする
レコード追加
- レコードを表示した状態で「新しい行を追加」ボタンをクリックする
- 追加された行にデータを入力して、「Save」ボタンをクリックする
レコード更新
- 更新したいレコードのカラムをダブルクリックして書き換える
- 「Save」ボタンをクリックする
レコード削除
- 削除したいレコードを選択する
- 「現在の行を削除」ボタンをクリックする
- 「Save」ボタンをクリックする
Discussion
とある会社のブログでこちらの記事とほぼ同じ文章の記事があったのですが、盗用されているのかなと思ったので念のためお知らせします。ご認識済み、もしくは同じ方でしたら申し訳ありません。
ご報告ありがとうございます。
心当たりの無い件でした。
企業のサイトのようなので、問い合わせにて削除依頼を行いました。