3 ms·
I disagree here. First, in order to achieve strong consistency in a distributed system with replication enabled, you will always have to write to multiple repl
by sbtourist 14y ago
I disagree here.
First, in order to achieve strong consistency in a distributed system with replication enabled, you will always have to write to multiple replicas: provided the number of replicas is the same, whether you're using a consistent-hashing based replication (Cassandra) or a distributed file system (HBase) it really doesn't matter much, as I/O latencies (both network and disk related) will always play a large role here.
That said, you can have different performances if you:
1) Change the replication factor: this is something you can do regardless of the actual system you're using, so it doesn't count.
2) Change the number of "acknowledged" writes/reads as a fraction of the replication factor: strongly consistent systems will always provide at least as much acknowledges as Cassandra's QUORUM, so no big win here.
3) Change the point where you acknowledge writes, either memory, disk or physical sync: this is about durability, and if you use different settings for different systems (i.e. Mongo VS Cassandra) it is apples and oranges.
4) Change your physical storage structure (provided same level of durability as explained above): different databases use different structures, Cassandra uses Memtables+SSTables, which I don't expect to be slower than HBase HDFS-based ones.
So in the end, Cassandra is at least as fast as other distributed databases, even when working in strongly consistent fashion.