2013 · 142 citations · 48 references
ComputingComputer SystemsDatabasesDistributed SystemsStorage SystemsDistributed ComputingDistributed StorageDistributed Storage SystemsDistributed TransactionsTransaction ManagementTransaction Processing SystemsDistributed Transaction ProcessingGeo-distributed StorageGeo-distributed SystemsGeo-replicationGeographically Distributed StorageSecondary IndexesThroughputTransactions
Currently, users of geo-distributed storage systems face a hard choice between having serializable transactions with high latency, or limited or no transactions with low latency. We show that it is possible to obtain both serializable transactions and low latency, under two conditions. First, transactions are known ahead of time, permitting an a priori static analysis of conflicts. Second, transactions are structured as transaction chains consisting of a sequence of hops, each hop modifying data at one server. To demonstrate this idea, we built Lynx, a geo-distributed storage system that offers transaction chains, secondary indexes, materialized join views, and geo-replication. Lynx uses static analysis to determine if each hop can execute separately while preserving serializability---if so, a client needs wait only for the first hop to complete, which occurs quickly. To evaluate Lynx, we built three applications: an auction service, a Twitter-like microblogging site and a social networking site. These applications successfully use chains to achieve low latency operation and good throughput.
48
Giuseppe DeCandia, Deniz Hastorun, Madan Jampani et al. · 2007 · 3.5K citations
Bigtable: a distributed storage system for structured data
Fay W. Chang, Jay B. Dean, Sanjay Ghemawat et al. · 2006 · 2K citations
Sanjay Ghemawat, Howard Gobioff, Shun-Tak A. Leung · 2003 · 1.4K citations
David J. DeWitt, Jim Gray · Communications of the ACM · 1992 · 1.3K citations · Full text