Saturday 13 July 2013

MonjaDB - The Eclipse plugin for MongoDB

MonjaDB is an Eclipse plug-in for connecting to a mongoDB server and manipulating data records. It provides a simple intuitive interface for viewing, querying and performing CRUD operations on JSON documents stored within the database. As described in the screenshot below, the list of available databases is shown in the DBTree window. In this case, the blog database has been selected and from within it the posts table is active. Data from the posts table is visible in the central window, titled  Document List. The windows to the right of the Document List provide an interface for editing a particular data row.

monjaDB Interface


The bottom windows titled Actions and Saved Actions give the ability to re-run any database commands or queries and to save those commands for further reference. Finally, the console window captures log statements generated by the MongoDB server.
Overall, monjaDB is a simple yet powerful MongoDB GUI client that provides the ability to perform basic database operations and run queries against a MongoDB database.

Wednesday 3 July 2013

M101J : MongoDB for Java Developers by 10Gen

Recently, I undertook the MongoDB for Java developers course provided by 10gen Education. The course duration is 7 weeks with an estimated effort of 10 hours per week. Delivery of the course material  was online using videos and every week there were weekly assignments and at the conclusion of the 7th week, there was an exam.

As a part of the course-ware, every week there were several short video lectures that discussed various topics ranging from the installation of MongoDB to Sharding and Replication. Each video duration ranged from 2 minutes to 8 minutes and it would take around 2-4 hours to get through all the videos for the given week and complete the associated quiz questions. At the end of the course videos, every week there were also a set of homework questions which had to be completed before the end of the week. These homework questions had a 50% weight-age towards the final score while the final exam made up the other 50% of the course grade.

Overall my experience with the course was very positive. The course has been well designed and the instructors are closely related to the development of MongoDB at 10gen and so have a very clear working on the internals of MongoDB . I had no experience with MongoDB prior to undertaking this course and by the end of the 7th week, I was confident in setting up Replica Sets and Sharded servers.
The only irritant to the course was that it became clear that 10gen Education were running the course for the 1st time for Java developers as there were a few cases when they mixed up data sets and code from the Python version of the course which in turn led to confusion among the students. An unfortunate miss was incorrectly marking a correct answer wrong in the final exam which raised the ire of the students but  most of these problems were ironed out within a day. Apart from these issues, the course material and teaching was very good and if one is looking to learn MongoDB, this course would be a good place to start.

Finally, my exam score. I got 90% in the course. The 10% I lost was in the final exam where I got 2 questions wrong. According to the stats released my 10Gen, "Of the 7,105 students enrolled, 1,434 students completed the course successfully, a completion rate of 20%." To achieve a grade of completion, one needed to achieve a mark of above 65%.