4 ms·
Please do not put nginx and crap like mongodb in the same basket. nginx won its user-base solely due to brilliant engineering, attention to details and superior
by dschiptsov 13y ago
Please do not put nginx and crap like mongodb in the same basket. nginx won its user-base solely due to brilliant engineering, attention to details and superior code quality, while mongodb "success" is based on using deceptive sales techniques and media manipulations.
There are hundreds of blog posts that describe in great details all the pitfalls and bad design withing mongodb, along with their cheating with benchmarks and calling "transactions" non-atomic writes, etc. It is no use to describe all the details here. Use Google search.)
- diziet 13y agoWhat were the specific cases of Mongodb doing 'media manipulations', dschiptsov? I am curious to read up on the history.
- dschiptsov 13y agoIn short, the strategy was to develop a brand instead of code. It is nothing wrong to have a brand when you already have a superior design or innovative technology, not the other way around. One of such manipulations were so-called benchmarks when in a mode in which the control returns to a caller function before an I/O operation is finished, successfully or not, without any error checking, which has to be done by calling a separate function explicitly. Basically, what did they measured was the performance of writing into a memory buffers. There was later some nonsense about default mode of operation, and when you really need your data consistent you should turn on a synchronous mode. The story of table-level write locks is less dramatic.) But the stories of "customer satisfaction", "increased productivity" (never to see an error) "features to jump-start the development" (by ignoring how your data is stored) were all over the site and paid content mills like techcrunch. In case there are questions about design here is the link: http://hackingdistributed.com/2013/01/29/mongo-ft/ http://hackingdistributed.com/2013/01/29/mongo-ft/ Keep in mind that this very crap is now "valued" at a sum compared to a budget of small country. In case you don't get it, the design of a fault-tolerant storage engine is a much harder problem. Serious systems, such as Informix at its time, resorted to write data in a chunks they call "pages" on so-called raw-devices (without any buffering by OS or hardware). They had page-level instead of row-level locking, and in case of failure they knew which pages were written and which not, so they could rollback the unfinished transactions. btw, they used the same pages for shared memory operations. This was a technology IBM brought for a billion dollars back in 2000. Compared to that MongoDB is just a Herbalife or any other scam.
- fragsworth 13y agoI can see being angry about their marketing tactics, but MongoDB has been around for a while now and it's arguably the best choice for a NoSQL database simply because it's so popular. I wouldn't let the notion of code cleanliness or "proper engineering" get in the way of making a sound business decision for your tech. Being the most popular database means you've got lots of large companies using it, satisfied with its reliability, and you get plenty of extra features written by 3rd parties when you need them. And web searching will find answers to your problems, when you have them, way better than with a lesser-known database.
- dschiptsov 13y agoThere are literally millions of people who are satisfied with "the most popular language for the web" - PHP, but this doesn't magically make it even a good language. http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design/ http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-de... Let's say that MongoDB is PHP of database world.)