MongoDBとは?
近年主にWebアプリケーションのデータストアとしてRDBMSの代わりにNoSQLと呼ばれるミドルウェアが注目を集めている。NoSQLは、RDBMS以外のデータストアの総称であり様々な製品が存在するが、いずれもRDBMSよりも機能がシンプルな分高速に動作し、スケーラビリティに優れるという特徴を持っているものが多い。
MongoDBは数あるNoSQL製品の中でも特に人気の高いもののひとつで、スキーマレスなドキュメント指向のデータベースだ。今回は、このMongoDBのフロントエンドとして利用可能なツールを紹介したい。
mViewer
mViewerは、Javaで実装されたWebベースのMongoDBフロントエンドだ。軽量サーブレットコンテナであるwinstoneが同梱されており単体で実行できるようになっているため、Javaが動作する環境があればすぐに利用することができる。
データベースやコレクションの作成・削除、ドキュメントの作成・更新・削除、検索や内容の参照など一通りの操作をGUIで行うことができる。ドキュメントはJSONテキスト形式とテーブルツリー形式のいずれかで内容を確認することができるが、ドキュメントを変更する場合はJSON形式のテキストを直接編集する必要がある。また、少し変わった機能として、CRUDの状況をグラフ表示する機能がある。
JMongoBrowser
JMongBrowserは、Javaで実装されたスタンドアロンアプリケーションだ。Swingを使用しており様々なプラットフォームで動作するのが特徴だ(ダウンロードページにはWindows、Linux、Mac用のアーカイブが用意されている)。mViewer同様、データベースやコレクションの作成・削除、ドキュメントの作成・更新・削除、検索や内容の参照など一通りの操作をGUIで行うことができる。
また、同時に複数のMongoDBインスタンスに接続可能なほか、ドキュメントの作成・更新や検索条件の入力時はグラフィカルに操作可能なJSONエディタを利用することができたり(もちろんテキストで直接JSONを入力することも可能)、検索結果をJSONやCSV、BSONでエクスポート・インポートする機能もある。
その他のスタンドアロンで動作するMongoDBフロントエンドには、.NETで実装されたMongoVUEやMac専用のMongoHubなどがある。
Meclipse
Meclipseは、Eclipseプラグインとして動作するMongoDBフロントエンドだ。以下の更新サイトからインストールすることができる。
http://update.exoanalytic.com/org.mongodb.meclipse/。