3 ms·
HBase and Cassandra both provide much weaker guarantees. At best they can support compare-and-set operations that are local to a single region/"row", whereas Fo
by voidmain 8y ago
HBase and Cassandra both provide much weaker guarantees. At best they can support compare-and-set operations that are local to a single region/"row", whereas FoundationDB lets you do optimistic transactions (and consistent read snapshots) on the entire database. And at least in cassandra even getting that level of consistency comes at a big performance cost.
The benefit of ACID transactions isn't just safety at the application level, it's the ability to compose abstractions and build complex data models on top of simple ones. For example, indexes in FoundationDB are typically more scalable than in the majority of other systems, where index queries often have to be broadcast to all the systems in a cluster. Yet FoundationDB doesn't even have indexes as a feature - higher layers build and maintain index invariants using transactions.
FoundationDB is also just really reliable and fault tolerant. Its testing story is drastically better than what the teams building these other products are doing.