EDIT: since I wrote this article, Antoine Girbal released a promising admin ui, JMongoBrowser. First experiences with it good. Let’s see!
As a side note, I’m also writting a series on my mongoDB experience, so feel free to have a look and comment!
lastly, I’ve been looking for a better than command line admin ui for MongoDB. The reason for that is simple: large documents, spanning on more than a console screen, are a pain to work with in the console. You have to heavily scroll, there’s no "content" search on the document output, filter means extra query with no auto completion.
The MongoDB website offers a list of admin ui, but with no details of them. So one has to figure out which one to use.
As an ubuntu user, all non linux platform solutions were out, making the list shorter, and letting me mostly with php based web admin ui. I narrowed it down to rockmongo and phpmoadmin, thanks i part to Mitch Pirtle, who told me as well he was working on some joomla based admin ui, not yet ready for prime time. Still nice to know and maybe something to look at later.
Installation of the php server and mongo php driver was pretty straightforward, once I found this blog entry: How To : Install PHP MongoDB (mongo) Driver on Linux (Ubuntu). One extra note about the installation process: the blog entry isn’t cristal clear on the need to add the line "extension=mongo.so" (without the double quotes) to the php.ini file.
Installations of rockmongo and phpmoadmin were as easy, you just have to drop the extracted files in /var/www, preferably in new folders. As we’ll see later, memory consumption by the php pages is quickly an issue, so maybe you are better increasing upfront the memory_limit of the php.ini file. Personnaly I went for 128Mo.
So, let’s about the 2 ui in details.
- rockmongo 1.0.8: the interface is pretty user friendly. Accessible list of databases, easy to browse to the right collection. Pagination by default for the collection content. Diverse admin tools like master/slave, import/export and the like.
However, the ui doesn’t call nicely. Browsing large documents is just damn slow. Actually, at first, it was simply not working, not enough memory failure. And then one couldn’t even do a simple query on the collection, since this was part of the page crashing. With 128Mo, it’s just dead slow. Furthermore, it burns resources like hell: a chromium 6 instance with just a tab on rockmongo took frequently (on the large document browsing) as much as… 1.1 gig of ram!!
- phpmoadmin 1.0.8: as they put it, it’s "Built on a stripped-down version of the Vork high-performance framework". They really mean it: the ui allows to do one thing at a time, no more no less. To see the other collections from one collection, one has to navigate away from the current page.
On the large document collection, the memory error was show as well yet the query interface was still accessible: it’s still possible to go at just one doc and display it. On top of that, one can easily limit the result (by default the 100 items of my collection were displayed, or at least it tried to display them but ran out of mem in the middle of it). Limiting the page to 10 made it usable.
Overall, the scaling issue of rockmongo takes it out, even if the ui looks and feels better. So I’m left with phpmoadmin for now. Let’s see how it withstands the test of daily use!