Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

MongoDB, Maturity, and "let's implement ourselves"

DZone's Guide to

MongoDB, Maturity, and "let's implement ourselves"

· Database Zone
Free Resource

Traditional relational databases weren’t designed for today’s customers. Learn about the world’s first NoSQL Engagement Database purpose-built for the new era of customer experience.

One common theme I've seen in the past few years is developers downplaying products and features that typically take a long time to implement and to get to a mature state, like data store and data replication. Even when the discussion is finished with the answer is that "our problem is much more limited", "it can't be that difficult", or the plain "we're smart than they are", I haven't been really convinced that the advocates of implementing their own feature (you name it) really knew the consequences of moving forward with it.

An example of how some things are very complex, let's take a look at MongoDB. Here you can find a couple of good posts on the topic of maturity:

How much credibility does the post "Don't use MongoDB" have?
Which companies have moved away from MongoDB and why?
Goodbye MongoDB
Don't use MongoDB

10gen is the company behind MongoDb and we're talking about tens of people working on this system for years - and it still has its issues. This is just normal. I once heard that it takes around 10 years to have a mature DB system - yes, 10 years.

Above you can see that replication is one of the common issues. If you go ahead and download MongoDB source code, you will see that it is under 7,000 lines of code. To repeat the common question: "How hard can it be?", how hard can it be to get 7,000 lines of code right? :-)

Long time back, when I worked on the Linux kernel, my changes amounted to around 5,000 lines of code. Those were the hardest 5,000 lines of code I wrote - hardest to get to work, to get to some stability. And I was able to make good progress with a lot of people trying it out and providing feedback, but it was still far from really declaring a stable patch that anyone in the world could use. And that was a code for non-distributed system, without all the complexities of remote failures, network partition, etc.

 

Learn how the world’s first NoSQL Engagement Database delivers unparalleled performance at any scale for customer experience innovation that never ends.

Topics:

Published at DZone with permission of Rodrigo De Castro, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

THE DZONE NEWSLETTER

Dev Resources & Solutions Straight to Your Inbox

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

X

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}