Sorry but you lost me on Microsoft SQL.
How can you host a reliable platform on Windows?
How can you give up the speed of the linux kernel?
For example blk-mq (multi queue block) is a simple patch of the linux kernel. It is based on the idea of a single mathematician on how to efficiently solve the lock of shared resources problem, which again poured down from the research on parallel computing.
This single patch can speed up your random write and reads (a typical database payload) up to 10 times. But I’ve seen even faster improvement in real case scenarios (large arrays of PCIe SSDs, multi socket servers, …). SourceOriginal 2013 Presentation, now benchmarks are even better
So you go from needing 10 windows servers, to be able to use 2 or 3 linux machine. Without rewriting a single line of code. How can you give that up? How is it even thinkable?
And this is just one example, I have 10 more in mind.
I understand I’m very opinionated, and that I have a very academic point of view, as I spent most of my time with computers using pen and paper rather than a keyboard. I dealt mostly with abstract problems, with no direct applications, so sometimes I’m not so connected with the harsh reality of production, but my humble opinion is that most of the people who complains about the speed of NoSQL databases just need to write better queries. I apologize if this might offend anyone, but it’s worth to think about it.
Let’s take a step backward: Everything is a turing machine. There’s no magic behind it. There’s no special IO code that makes writes faster (except blk-mq ). If it was there, the mongodb devs would copy it, or viceversa it would be ported to MySQL.
Moreover a noSQL database can emulate (with a performance penality) a SQL database. That’s a mathematical theorem. So the MongoDB devs can make it as reliable as any other database, if that becomes the priority.
So there’s no qualitative difference between MongoDB and any other DB. It’s just how well we model data, and how much the database helps us to write correct queries.
Given that, a modern linux kernel, NVME PCIe SSDs and a terabyte of RAM gives you so much performance that you can keep writing poor queries, and forget about mongoDB vs anything elese. Computational power is soooo cheap nowdays, a single 25k$ machine outperform the 500k$ cluster my university bought in 2001.