1. A non-transitory computer-readable medium embodying a program executable in a computing device, the program comprising: code that determines by consensus with other computing devices in a distributed data store whether the computing device is designated as a master data store; code that retrieves a most recent log entry of a log associated with the computing device; code that determines whether the most recent log entry is durably persisted in a quorum of slave data stores in the distributed data store; code that generates a new data store identifier, the new data store identifier identifying the identity of the master data store; code that generates a new log entry associated with an update to a data item that is received by the master data store, the new log entry comprising a next transaction identifier in a gapless sequence and the new data store identifier; and code that replicates the update and the new log entry to the slave data stores.