|
|
|
|
|
by skyde
1750 days ago
|
|
All those noSQL or newSQL have more than one leader per table they have a distinct leader for each partition. So if you have 6 server and 2 partition you could have 3 servers for partition number #1 and 3 different servers for partition number #2. If you want extra performance you could make the server simply store key->value mapping using quorum write like Cassandra is doing but to keep data consistency you still have 2 choice #1 use Optimistic concurrency (an app performing an update will verify if the data has changed since the app last read that data). #2 using some kind of Lease, elect one machine to be the only one allowed to write to that partition for some time period. Option #1 do not give faster transaction throughput but could offer lower tail latency. Option #2 bring you back to square one of having a leader so you better just use (Paxos/Raf) |
|