From the perspective of a .NET software engineer / information management specialist who has spent ten years in a NoSQL environment, getting started with MongoDb is easy! For others, it is not difficult, but demands a large chunk of intellectual capital, relative to other technologies, due to its disruptive nature. By disruptive, I mean wherein the status-quo of consensus is concerned, and the status-quo of consensus is invariably concerned with how we store the data.
There is a long-standing, stubborn lack of enthusiasm in the industry, to embrace new information management technologies that are not built on the old data storage technologies. I often hear the following sentiment: I don’t see “company-x” getting rid of SQLServer, or Oracle, or MySQL, or the RDBMS of your choice, any time soon! It almost just as often causes me to wonder: how long will we conceivably continue to use SQL and the unfortunately ubiquitous RDBMS? After pondering this for a short while, I then put it aside and continue doing as I have done for over a decade already: conceive of information management solutions that do not involve the use of SQL or an RDBMS. I figure, the rest of the world will just have to catch up.
Of late, this particular pursuit of happiness of mine has entailed seeking out a new vehicle. After some research into what’s been going on in so-called, NoSQL-development-land, I became most intrigued by this awesome little thing known as MongoDB. Sure there are several other contenders in the arena currently, after all, lot’s of NoSQL efforts have been taking place over the last ten years while most of us slept on our collective bed of nails, but I am currently fixated on this particular specimen 🙂
At first glance, I was not impressed by some of the core “features” of this type of platform, like the fact that data is stored in JSON documents! Well, in fact, in MongoDB it is not JSON, but rather BSON; a bastardized version of JSON! Gasp! BSON is more efficient than its biological parent for various reasons peculiar to MongoDB, but this still seemed like a rather verbose means of data storage. This and a few other of-putting details about it’s character and nature, soon faded to black though, as I began to be mentally inundated with just how many things the MongoDB team got right. And when I say right, I mean wow, did they ever!
In fact, now that I have begun to understand the whole MongoDB enchilada, the more everything about how data is stored, retrieved and indexed in MongoDB, seems perfectly reasonable and perfectly elegant. It so happens that the underlying mechanisms of MongoDB lend themselves very well, to some incredibly awesome infrastructure features that are no small feat, even for the most established RDBMS platforms on the market today. Replication, sharding, in-place backups, virtually unlimited hands-off fail-over redundancy, massive parallelization of requests, reads and writes. They have it all, and all rolled into their most basic package, along with a driver for every major software development platform, and an installation for every major hardware platform. Then, there was of course, the tables, the schema, and the SQL interface…or rather, the lack thereof..! Sold! I’m in! Yes! Full intellectual and creative steam ahead, MongoDB it is! So be it.
So there you have it. As you may have already surmised, I have embarked on a new journey into the nether regions of information space, piloting a shiny new jet plane, built for speed: MongoDB. Hopefully, as I start to get the hang of the controls, I’ll find time to also share my experience and perspective with the various search engines that will spider my posts :-).
Now, let’s see about adjusting the seat and mirrors, move the dashboard controls around a bit…