This is not explicitly about software, but MongoDB, the company behind the database, is up about 17% (as I write this) after announcing earnings and outlook.
Full story in the news
That means that MongoDB is climbing towards a $6 billion valuation as a publicly traded company. Amazon's release of DocumentDB worried some people about Mongo's outlookโbut apparently the picture is still pretty rosie.
Disclosure: I own a bit of MongoDB stock.
Top comments (10)
MongoDB is a very interesting experiment, business-wise. It is answering the question "What if we invest in marketing first, and product second". It's not the first case study of its kind either, we had Oracle for "What if we invest in sales first, and product second".
The results so far have been disheartening.
I will beat the drum once more: I give you 99% odds that your data is relational and you shouldn't be using a non-relational database for it. The only use case I could find was when unknown data is coming in and you just want to store and figure out what to do with it later.
You don't get to throw away database standards, ACID-compliance and general sanity in the name of reads and inserts... Yet $6B say that you can.
Me, an intellectual:
I thought MongoDB is ACID compliant since 4.0?
It barely is. 1-minute transaction limits make them useless for a lot of workloads. I have scripts which need up to 10 minutes to complete and heard of scripts which take days and require ACIDity. Time limits on transactions shouldnโt be there.
But suppose that it has real transactions. Weโre talking about a database which could not guarantee that when it says that something has been saved, that it was actually saved until the 4th major release. Marketing over product.
You say "should" and "you don't get to."
Yet lots of people are using MongoDB to ship products, solve business problems and make money.
Are they wrong?
If a carpenter uses a screw-driver to enter nails, ship products, solve business problems and make money, is he wrong?
Lots of people are suffering for their decision to go with Mongo based on hype generated by the marketing. If you have non-relational data, then yes, MongoDB is hard to match (I'm not super familiar with the NoSQL space). But very few people do.
It's simply that there are better ways to do these things.
None of this should be taken as a stand against NoSQL in general however, Redis for example is great. The problem with MongoDB is the lie that it is a general purpose database.
I consider MongoDB to be a special case of a relational database. One that can be easily expressed as a hashmap (i.e. a single relation of key -> value). Because of this it is easier to set up as such (replica sets, sharding, blah blah).
I'm therefore curious, what kind of data is non-relational?
That is interesting! A few years back I got interested in NoSQL, specifically MongoDB, for some projects of mine due to the simplicity of modelling data against it.
MongoDB isn't without issues with mine being primarily the .NET Driver, it has a lot of weird quirks. I currently wrap the driver in a library I wrote called MongoFramework but I am tempted to fully replace it instead (though the time needed for that would be immense).
I'm not a fan of MongoDB but my company is using this. This is indeed a great news.
Congrats!