MongoDB is certainly one of the most popular open source, document-oriented NoSQL databases. Developed and maintained by 10gen, MongoDB is available in both a free version and a paid-for enterprise version, which adds features such as Kerberos security, SNMP access, and live monitoring features. However, neither the free version nor the enterprise version comes with a management GUI.
Sometimes, however, a GUI-based management console makes a welcome alternative. A graphical interface can display the components of a multidatabase server in hierarchical fashion, simplifying navigation through the database's elements. Put another way, with a GUI, you don't have to remember (or type correctly) the exact names of things. The GUI will figure them out, display them, and let you select them. In addition, a GUI's editing capabilities are typically more sophisticated than what's available at the command-line interface.
In this article, we'll examine four open source MongoDB GUI management tools:
RockMongo, a PHP-based application with a surprising array of features
phpMoAdmin, also written in PHP, based on a compact framework that reduces the footprint to a single PHP file
UMongo, a Java-based application that is both full-featured and easy to navigate
Genghis, a clean and straightforward GUI management console that has been released in both Ruby and PHP
I tested these management consoles on a small MongoDB cluster running in an array of virtual machines. I ran the applications on Windows 7 and Linux client systems, but they are all written in languages that allow them to run on any popular operating system.
Genghis: Clean GUI, PHP or Ruby
Genghis is unique in that versions exist for both Ruby and PHP. I had problems installing the Ruby version, which has many dependencies. Ultimately, I used the PHP version. It is a single file, and it can be launched from the command line to be executed within PHP 5.4's built-in Web server. Genghis's creator, Justin Hileman, assured me that the PHP version was identical to the Ruby version.
Launch Genghis in the PHP Web server and point your browser to the port you've selected as one of the command-line arguments -- there's Genghis. The PHP version's only external dependency is PHP's MongoDB driver.
Genghis's layout is sheer simplicity. Everything that isn't a BSON document is displayed in tables. Of course, the content of a given table depends on the level you're at. The top level is Servers. Click on a server from the displayed table of MongoDB servers and you drill down a level to databases. Click on an entry in the table of databases; down a level you go to collections. Select a collection and you come to the lowest level: documents.
Sign up for CIO Asia eNewsletters.