Calvin: Fast Distributed Transactions for Partitioned Database Systems [pdf]
cs.yale.edu
cs.yale.edu
Reddit comments on the blog post: http://www.reddit.com/r/programming/comments/trb7e/if_all_th...
A while back coworkers and I developed a system that made similar tradeoffs, and was capable of linear throughput scaling as well, but never made it into production for various reasons. The per-transaction latencies were in practice "good enough", though they theoretically could grow quite large. The necessity of combining the application logic with the transaction coordinator was a lot more difficult in practice than I'd expected, especially since we required completely lock-free logic. It turned out to be a real brainteaser for some applications. It's going to be much easier to write logic for Calvin, because locks are somewhat more intuitive and map more closely to existing systems.
Also, there are some details that leave me a bit confused... For example, they mention they use ZooKeeper for Paxos, while ZooKeeper uses a different protocol, ZooKeeper Atomic Broadcast.
http://gigaom.com/2012/05/16/calvin-a-fast-cheap-database-th...
If you dont have a lot of rollbacks I can see this being ok.