Is foundationdb dealing with distributed transactions similar to 2pc, can someone analyze the similarities and differences?
Hello! As I understand it, 2pc only deals with achieving atomicity in a distributed setting. You can read about how FoundationDB provides strict serializability (which implies atomicity and much more) here. The gist of it is that FoundationDB uses Paxos for a leader election protocol, and the leader generates sequence numbers that define a total order on writes. This sounds like it would be a bottleneck, but a surprising amount of work can be batched, done in parallel, or pipelined to still achieve high throughput.