I just learned about the Paxos algorithm. I think we might be able to use it to create a fully distributed version of ZODB. I found a document that explains Paxos in simple terms. Now I’m interested in learning about any ideas and software that might support integration of Paxos into ZODB. I would also like to know how much interest people have in such a project.
I think ZODB’s transaction layer already implements a sort of squashed version of Paxos, but it’s not currently possible to separate the pieces to make it distributed. To me, “distributed ZODB” means multiple servers accept writes while assuring consistency at all times. I also require sub-millisecond response timing on the majority of read operations, since that is what ZODB applications have come to rely upon. I suspect the speed requirement disqualifies systems like CouchDB.