Neon Blog: Why does Neon use Paxos instead of Raft, and what's the difference?.
All happy databases are alike; each unhappy database is unhappy in its own way.
— Kyle Kingsbury
Postgres + agent + consensus store
- Patroni and Stolon
- etcd, ZooKeeper, or Consul
Raft and Paxos operate under the following assumptions: computers can crash or restart and lose in-memory state, but the disk state will be preserved upon restart; the network may lose or duplicate messages but can't generate them out of thin air, and eventually, some messages would be delivered.
Separating storage and compute
- Postgres Compute
- WAL Service: Safekeeper (distributed consensus)
- Pageserver: main storage
- Object Storage: cold storage
Architecture decisions in Neon
Paxos vs Raft: Have we reached consensus on distributed consensus?