MongoDB: A NoSQL Database with RDBMS Qualities

by Hieu H
MongoDB is a NoSQL database with qualities of a relational database management system. Of the many NoSQL DBMS’ around, MongoDB is one of the most popularly used by the open source community. One of the main differences is that it is a document-oriented database. Relational databases store data in tables, with columns and rows. Document-oriented databases store the data in separate documents. From a programming point of view, documents are easier to handle and manipulate. Developers can in a sense treat each document as an object.

As a developer, it’s always difficult to keep up with all the new technologies available. I stumbled across MongoDB several months ago and have been playing with it ever since. Although I think MongoDB has many great features, there are still some disadvantages such as the lack of referential integrity support and the inability to join across collections. It’s also not optimal to run a single instance of MongoDB and is preferred to have at least 2 nodes in a cluster.

I find that for smaller applications that aren’t as heavily dependent on databases, MongoDB might not be the right choice. Whenever I work on a new project and am in the stage where we’re deciding on which technologies to use, I always want to go with the latest and greatest. MongoDB might be overkill for say a personal website or blog, although it should work just fine.

Glover, A., (September 28, 2010) MongoDB: A NoSQL datastore with (all the right) RDBMS moves. Retrieved October 2, 2012 from https://www.ibm.com/developerworks/java/library/j-javadev2-12/index.html

2 thoughts on “MongoDB: A NoSQL Database with RDBMS Qualities

  • October 14, 2012 at 9:48 pm
    Permalink

    Good article, it’s interesting to see them using a document-oriented database rather than a relational database. I’ll definitely have to look into how they work to see if they really are easier to manipulate as a programmer. If I had to guess, I would say that programatically reading through rows and columns would be easier than reading through a document. Thanks for the post.

  • October 14, 2012 at 9:50 pm
    Permalink

    Dude I think it’s awesome you work with NoSQL. I only ran accross MongoDB recently (meaning last week when searching for an article to write about – lol) and it seemed pretty interesting. Your article helped me get a better grasp of NoSQL – before I didn’t know that it worked off of documents… since we’ve only been exposed to RDBMS and, personally, I’ve only worked with SQL databases I was under the assumption that every DB worked off of tables and thought with NoSQL the code or something must be different. Kudos for the good post, and great advice as well!

    Sidenote – do you have samples of your work that use MongoDB? Or did you just work with it locally? It would be awesome to see noSQL in action.

Comments are closed.