On February 14th, Dave Salmela shared some Valentine’s Day love by presenting some intro thoughts on Mongo DB and NoSQL. Above are his presentation slides.
Dave shared with how Mongo DB is a NoSQL database but that really it should be called a “No relational” database since it is not structured in relationships the same way that SQL is structured. In relational databases, entities often have relationships with each other using primary and foreign keys. With NoSQL, those same relationships are not present and so it is less formal and more flexible. NoSQL databases are also known to be agile, loose, and “quick” since you can add columns to your data on the fly and don’t have to change your database table structure in order to do this.
There are a number of popular NoSQL databases and Mongo DB is just one of several. Before seriously considering any of these databases for a long-term production web development project, you need to consider the longevity of the database and if it will be around and supported over the long term. Usually, this means that you gravitate towards a more popular version of NoSQL so that it will be supported and other developers will be around to work on it if needed later on.
Mongo DB is an open source database and is a full featured, high performance database. It works in most languages. What makes it different is that the database is “document” based in that data sets are called documents. This structure allows for the database to be horizontally scalable. The documents are similar to JSON in that you can put things in arrays similar to python or PHP. The terminology for a NoSQL database is different as well and can viewed using this chart:
A number of case studies and examples of how to use Mongo DB are in the presentation. Hope you enjoy!