In stand-alone databases, the two functions of ordering the transaction commits and making the effects of transactions durable are generally performed in one action, namely in the writing of the commit record to disk. In replicated database systems where all replicas agree on the commit order of update transactions, these two functions are naturally separated; specifically, the replication middleware determines the global commit order, while database replicas make transactions durable. The contribution of this paper is to demonstrate that the traditional separation of commit ordering from durability in replicated designs forces update transactions to be made durable serially to disk, a potentially significant scalability bottleneck. Two solutions are possible: (1) keep durability in the database and pass the global commit order from the replication middleware to the database, or (2) move durability from the database to the replication middleware. We show that regardless of the method,...
Sameh Elnikety, Steven G. Dropsho, Fernando Pedone