
MongoDB seems to be the database that everyone flocks to when they are starting out with a NoSQL Database, and for good reason. This week was a bit more interesting going through the book as I had to look a lot of stuff up on my own since a few assumptions were made by the authors. It all worked out though.
Impressions of the Book
This chapter seemed a bit terse and shy on information. Oh there was a lot of good information exchange done in this chapter, but I felt it could have done more, specifically with a few more examples on querying data based on scenarios. Other than that the chapter was much like the rest a lot of information, not a lot of fluff.
What I learned
I spent a lot of time doing examples to be sure I really understood them. Also compared to the other NoSQL databases there are a couple of things I liked they didn’t have. I am going to avoid being redundant so I will not expand on how easy it is to scale MongoDB as well.
Querying Data
Unlike previous NoSQL Databases you can actually do some really cool queries on the data to pull back specific information you need. There are some great mechanisms in place to do just this. I really liked there was a couple of reasonable scenarios to use these queries on.
Indexes
One of the biggest surprises I had was that MongoDB has indexes automatically, and ones you can write as well. I have always read the propaganda about NoSQL it generally talks about how fast NoSQL is so it doesn’t require as much tuning, if any at all. I guess it is relative compared to RDBMS’s. Anyway, I was pleasantly surprised at the speed of MongoDB out of the box, and even more so once you start using indexes.
Overall
I can definitely understand why people jump to MongoDB as their first NoSQL database. With a strong query language and great support in ORMs it is easy to get started with and, almost, not notice it is there. I am definitely going to play with it some more, and try out a couple of scenarios I would like to throw at it. It was an exciting chapter to get through as pieces are coming together in my head to understand more and more of the NoSQL world.
Another week down, and a few more to go. Next week we will jump into CouchDB. I shall be interested in this one because I tried to use it once and failed miserably. Part of the problem was not understanding map reduce, and the other was my lack of knowledge of Document databases. We shall see how things go.

