Jepsen: Testing Partition Tolerance of PostgreSQL, Redis, MongoDB, Riak (2013)
infoq.com
infoq.com
To what degree do I care about the data? How long would it take to recreate? What's the cost to my business if data is lost.
Time and time again, I end up choosing PostgreSQL for ANY data that I care about (i.e. anything that is not simply 'in-flight data'.
Seconds, or even minutes worth of lost data do cost the company, but not nearly as much as poor performance. And unfortunately, developers tend to over-value data in the equation, leading to decisions which cause a company problems when it comes time to grow.
Ultimately, the best tools for ensuring business continuity (with few exceptions) is redundancy coupled with a set of proper backups.
You can also shard your database to distribute write load.
Not to mention there are still hard limits on how quickly you can insert data into a database with 100% durability (which is, of course, impossible, but another topic entirely), and there are scales where even these mitigation tactics can't help you anymore (in particular, online casino games have this problem since they are persisting the state of multiple players very frequently).
Closed source + very narrow limits due to system design makes this a very hard sell.
It's a pitty because they do seem to have some decent ideas in there. I like the layers that build more complex data models upon a transactional distributed key-value store.
I wasn't able to find anything with some quick searches but hopefully others on this thread are more familiar with these projects.