3 ms·
Tools that we use influence our decision making, shape our experience and ultimately architectures of our systems. Different constraints lead to very different
by zzzcpan 10y ago
Tools that we use influence our decision making, shape our experience and ultimately architectures of our systems. Different constraints lead to very different designs.
And using databases designed in the nineties just cannot get you to fast resilient services or to any relevant experience necessary to build them at some point in the future. But it will waste just as much time if not more. CRDTs and eventual consistency are actually easier to understand and reason about, than transactions. Don't get fooled by familiarity. Don't choose MySQL, choose Cassandra, Riak, DynamoDB, don't choose POSIX storage for the same reasons, choose object storages, Swift, S3, etc.
- jhugg 10y ago> CRDTs and eventual consistency are actually easier to understand and reason about, than transactions. I suspect we’re going to have to agree to disagree on this one. Without spending too much time on this, it’s pretty easy to cite the Google F1 paper (http://static.googleusercontent.com/media/research.google.com/en/us/pubs/archive/41344.pdf http://static.googleusercontent.com/media/research.google.co...): "The system must provide ACID transactions, and must always present applications with consistent and correct data. Designing applications to cope with concurrency anomalies in their data is very error-prone, time-consuming, and ultimately not worth the performance gains."