So you read a paper from Google Research on Spanner. I had a different reaction: "Is Google so flush with cash that no one ever says, 'Why don't we use an existing solution?'" Dude, this is the same architecture as VMWare's Gemfire (formerly Gemstone and over a decade old) and Red Hat's Infinispan. There are several others out there. Of Spanner's architecture, Hoff asks:
What was the cost? It appears to be latency, but apparently not of the crippling sort, though we don't have benchmarks. In any case, Google thought dealing with latency was an easier task than programmers hacking around the lack of transactions. I find that just fascinating. It brings to mind so many years of RDBMS vs NoSQL arguments it's not even funny.
Yeah, so Google is a big company with many types of problems and many people solving those problems in different ways with loose coordination. "Loose coordination" is a redundant way to describe the way most big companies devvelop stuff; only Apple at least seems to move in cult like lock-steps, even off of a cliff.
What Google probably realizes, and most of its fanboys do not, is that it needs multiple types of databases. The "one size fits all" approach did not scale or perform well; we just beat it with a bigger hammer each year and suffered the consequences. There will never be one NoSQL database to destroy them all.
Diego Basch goes right after MongoDB with some rather specific accusations:
Sure enough, my database had reached 2GB in size, and the inserts started failing silently. WTF zomg LOL zombie sandwiches!
OK, so 2005 called and they want their computers back. The fact that that 32-bit processes are limited to 2GB to 4GB (depending on OS and page size) is common knowledge. It's baffling why anyone would deploy a "Web scale" database on 32-bit hardware. Did your dad loan you his old office computer? On the other hand, Basch says:
If you tell a database to store something, and it doesn't complain, you should safely assume that it was stored.
You got me there. I agree that the default MongoDB settings are probably not well chosen. Also, although I don't have a 32-bit OS or machine available to run my own tests, something tells me there is a log file with your name on it that you missed.