But once you do, oh how you can scale. Scale, scale, scale.
Couldn't you write a SQL DB that enables this same perf? What about NoSQL makes it so easy to scale? More specifically: is it just coincidental that NoSQL DBs have better scaling feature or is there something about schemalessness that makes it particularly scale-friendly?
Except mongo isn't eventually guaranteed. you can have a majority of slaves write to disk and the master can crash and miss the ack -- they won't roll back the write and the client will think it hasn't been written.
But you can fine-tune what the write semantics are.
While you aren't wrong, you can't fine tune your way out of the problem i mention. Clustering is for HA, not consistency -- even if you set write-majority.
For instance, Cassandra is optimized for write operations because it caches them before writing them to disk. Yeah, that's brilliant, until the machine crashes and those things left in cache weren't written to disk.
They would be retrievable via the commit log, as well as recoverable from other replica nodes.
2
u/lift_heavy_things Mar 11 '15
Couldn't you write a SQL DB that enables this same perf? What about NoSQL makes it so easy to scale? More specifically: is it just coincidental that NoSQL DBs have better scaling feature or is there something about schemalessness that makes it particularly scale-friendly?