Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Coordination avoidance in database systems

Published: 01 November 2014 Publication History

Abstract

Minimizing coordination, or blocking communication between concurrently executing operations, is key to maximizing scalability, availability, and high performance in database systems. However, uninhibited coordination-free execution can compromise application correctness, or consistency. When is coordination necessary for correctness? The classic use of serializable transactions is sufficient to maintain correctness but is not necessary for all applications, sacrificing potential scalability. In this paper, we develop a formal framework, invariant confluence, that determines whether an application requires coordination for correct execution. By operating on application-level invariants over database states (e.g., integrity constraints), invariant confluence analysis provides a necessary and sufficient condition for safe, coordination-free execution. When programmers specify their application invariants, this analysis allows databases to coordinate only when anomalies that might violate invariants are possible. We analyze the invariant confluence of common invariants and operations from real-world database systems (i.e., integrity constraints) and applications and show that many are invariant confluent and therefore achievable without coordination. We apply these results to a proof-of-concept coordination-avoiding database prototype and demonstrate sizable performance gains compared to serializable execution, notably a 25-fold improvement over prior TPC-C New-Order performance on a 200 server cluster.

References

[1]
D. J. Abadi. Consistency tradeoffs in modern distributed database system design: CAP is only part of the story. IEEE Computer, 45(2): 37--42, 2012.
[2]
A. Adya. Weak consistency: a generalized theory and optimistic implementations for distributed transactions. PhD thesis, MIT, 1999.
[3]
D. Agrawal et al. Consistency and orderability: semantics-based correctness criteria for databases. ACM TODS, 18(3): 460--486, Sept. 1993.
[4]
A. Aiken, J. Widom, and J. M. Hellerstein. Behavior of database production rules: Termination, confluence, and observable determinism. In SIGMOD 1992.
[5]
P. Alvaro, N. Conway, J. M. Hellerstein, and W. Marczak. Consistency analysis in Bloom: a CALM and collected approach. In CIDR 2011.
[6]
P. Alvaro et al. Consistency without borders. In SoCC 2013.
[7]
T. J. Ameloot, F. Neven, and J. Van Den Bussche. Relational transducers for declarative networking. J. ACM, 60(2): 15:1--15:38, May 2013.
[8]
H. Attiya, R. Guerraoui, D. Hendler, et al. Laws of order: Expensive synchronization in concurrent algorithms cannot be eliminated. In POPL 2011.
[9]
P. Bailis, A. Davidson, A. Fekete, A. Ghodsi, J. M. Hellerstein, and I. Stoica. Highly Available Transactions: Virtues and limitations. In VLDB 2014.
[10]
P. Bailis, A. Fekete, M. J. Franklin, A. Ghodsi, et al. Coordination avoidance in database systems (Extended version). 2014. arXiv: 1402.2237.
[11]
P. Bailis, A. Fekete, A. Ghodsi, J. M. Hellerstein, and I. Stoica. Scalable atomic visibility with RAMP transactions. In SIGMOD 2014.
[12]
P. Bailis and A. Ghodsi. Eventual Consistency today: Limitations, extensions, and beyond. ACM Queue, 11(3), 2013.
[13]
P. Bailis and K. Kingsbury. The network is reliable: An informal survey of real-world communications failures. ACM Queue, 12(7): 20, 2014.
[14]
A. J. Bernstein and P. M. Lewis. Transaction decomposition using transaction semantics. Distributed and Parallel Databases, 4(1): 25--47, 1996.
[15]
P. Bernstein, V. Hadzilacos, and N. Goodman. Concurrency control and recovery in database systems. Addison-wesley New York, 1987.
[16]
P. A. Bernstein, D. W. Shipman, and J. B. Rothnie, Jr. Concurrency control in a system for distributed databases (SDD-1). ACM TODS, 5(1): 18--51, Mar. 1980.
[17]
S. Burckhardt, D. Leijen, M. Fähndrich, and M. Sagiv. Eventually consistent transactions. In ESOP. 2012.
[18]
A. T. Clements et al. The scalable commutativity rule: designing scalable software for multicore processors. In SOSP 2013.
[19]
N. Conway et al. Logic and lattices for distributed programming. In SoCC 2012.
[20]
B. F. Cooper, R. Ramakrishnan, U. Srivastava, A. Silberstein, P. Bohannon, et al. PNUTS: Yahoo!'s hosted data serving platform. In VLDB 2008.
[21]
S. Davidson, H. Garcia-Molina, and D. Skeen. Consistency in partitioned networks. ACM Computing Surveys, 17(3): 341--370, 1985.
[22]
G. DeCandia, D. Hastorun, M. Jampani, G. Kakulapati, A. Lakshman, et al. Dynamo: Amazon's highly available key-value store. In SOSP 2007.
[23]
D. E. Difallah, A. Pavlo, C. Curino, and P. Cudre-Mauroux. OLTP-Bench: An extensible testbed for benchmarking relational databases. In VLDB 2014.
[24]
G. Duck, P. Stuckey, and M. Sulzmann. Observable confluence for constraint handling rules. In ICLP 2007.
[25]
K. P. Eswaran et al. The notions of consistency and predicate locks in a database system. Commun. ACM, 19(11): 624--633, 1976.
[26]
H. Garcia-Molina. Using semantic knowledge for transaction processing in a distributed database. ACM TODS, 8(2): 186--213, June 1983.
[27]
H. Garcia-Molina and K. Salem. Sagas. In SIGMOD 1987.
[28]
S. Gilbert and N. Lynch. Brewer's conjecture and the feasibility of consistent, available, partition-tolerant web services. SIGACT News, 33(2): 51--59, 2002.
[29]
P. Godfrey et al. Logics for databases and information systems, chapter Integrity constraints: Semantics and applications, pages 265--306. Springer, 1998.
[30]
J. Gray. The transaction concept: Virtues and limitations. In VLDB 1981.
[31]
J. Gray and L. Lamport. Consensus on transaction commit. ACM TODS, 31(1): 133--160, Mar. 2006.
[32]
P. W. Grefen and P. M. Apers. Integrity control in relational database systems--an overview. Data & Knowledge Engineering, 10(2): 187--223, 1993.
[33]
A. Gupta and J. Widom. Local verification of global integrity constraints in distributed databases. In SIGMOD 1993, pages 49--58.
[34]
R. Johnson, I. Pandis, and A. Ailamaki. Eliminating unscalable communication in transaction processing. The VLDB Journal, pages 1--23, 2013.
[35]
E. P. Jones, D. J. Abadi, and S. Madden. Low overhead concurrency control for partitioned main memory databases. In SIGMOD 2010.
[36]
J. W. Klop. Term rewriting systems. Stichting Mathematisch Centrum Amsterdam, 1990.
[37]
H. K. Korth and G. Speegle. Formal model of correctness without serializabilty. In SIGMOD 1988.
[38]
H.-T. Kung and C. H. Papadimitriou. An optimality theory of concurrency control for databases. In SIGMOD, 1979.
[39]
L. Lamport. Towards a theory of correctness for multi-user database systems. Technical report, CCA, 1976. Described in {3, 49}.
[40]
C. Li, J. Leitao, A. Clement, N. Preguiça, R. Rodrigues, et al. Automating the choice of consistency levels in replicated systems. In USENIX ATC 2014.
[41]
C. Li, D. Porto, A. Clement, J. Gehrke, et al. Making geo-replicated systems fast as possible, consistent when necessary. In OSDI 2012.
[42]
Y. Lin, B. Kemme, R. Jiménez-Peris, et al. Snapshot isolation and integrity constraints in replicated databases. ACM TODS, 34(2), July 2009.
[43]
S. Lu, A. Bernstein, and P. Lewis. Correct execution of transactions at different isolation levels. IEEE TKDE, 16(9), 2004.
[44]
N. A. Lynch, M. Merritt, W. Weihl, and A. Fekete. Atomic Transactions: In Concurrent and Distributed Systems. Morgan Kaufmann Publishers Inc., 1993.
[45]
K. Petersen, M. J. Spreitzer, D. B. Terry, M. M. Theimer, and A. J. Demers. Flexible update propagation for weakly consistent replication. In SOSP 1997.
[46]
K. Ren, A. Thomson, and D. J. Abadi. Lightweight locking for main memory database systems. VLDB 2013.
[47]
S. Roy, L. Kot, et al. Writes that fall in the forest and make no sound: Semantics-based adaptive data consistency, 2014. arXiv: 1403.2307.
[48]
Y. Saito and M. Shapiro. Optimistic replication. ACM CSUR, 37(1), Mar. 2005.
[49]
F. B. Schneider. On concurrent programming. Springer, 1997.
[50]
M. Shapiro et al. A comprehensive study of convergent and commutative replicated data types. Technical Report 7506, INRIA, 2011.
[51]
D. Shasha, F. Llirbat, E. Simon, and P. Valduriez. Transaction chopping: algorithms and performance studies. ACM TODS, 20(3): 325--363, Sept. 1995.
[52]
M. Stonebraker, S. Madden, D. J. Abadi, S. Harizopoulos, et al. The end of an architectural era: (it's time for a complete rewrite). In VLDB 2007.
[53]
M. Tamer Özsu and P. Valduriez. Principles of distributed database systems. Springer, 2011.
[54]
A. Thomson, T. Diamond, S. Weng, K. Ren, P. Shao, and D. Abadi. Calvin: Fast distributed transactions for partitioned database systems. In SIGMOD 2012.
[55]
TPC Council. TPC Benchmark C revision 5.11, 2010.
[56]
I. L. Traiger, J. Gray, C. A. Galtieri, and B. G. Lindsay. Transactions and consistency in distributed database systems. ACM TODS, 7(3): 323--342, 1982.
[57]
S. Tu, W. Zheng, E. Kohler, B. Liskov, and S. Madden. Speedy transactions in multicore in-memory databases. In SOSP 2013.
[58]
W. Weihl. Specification and implementation of atomic data types. PhD thesis, Massachusetts Institute of Technology, 1984.
[59]
J. Widom and S. Ceri. Active database systems: Triggers and rules for advanced database processing. Morgan Kaufmann, 1996.
[60]
Y. Xu et al. Bobtail: avoiding long tails in the cloud. In NSDI 2013.

Cited By

View all
  • (2024)Logical Clocks and Monotonicity for Byzantine-Tolerant Replicated Data TypesProceedings of the 11th Workshop on Principles and Practice of Consistency for Distributed Data10.1145/3642976.3653034(37-43)Online publication date: 22-Apr-2024
  • (2024)LoRe: A Programming Model for Verifiably Safe Local-first SoftwareACM Transactions on Programming Languages and Systems10.1145/363376946:1(1-26)Online publication date: 15-Jan-2024
  • (2024)Noctua: Towards Automated and Practical Fine-grained Consistency AnalysisProceedings of the Nineteenth European Conference on Computer Systems10.1145/3627703.3629570(704-719)Online publication date: 22-Apr-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Proceedings of the VLDB Endowment
Proceedings of the VLDB Endowment  Volume 8, Issue 3
November 2014
144 pages
ISSN:2150-8097
  • Editors:
  • Chen Li,
  • Volker Markl
Issue’s Table of Contents

Publisher

VLDB Endowment

Publication History

Published: 01 November 2014
Published in PVLDB Volume 8, Issue 3

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)29
  • Downloads (Last 6 weeks)4
Reflects downloads up to 14 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Logical Clocks and Monotonicity for Byzantine-Tolerant Replicated Data TypesProceedings of the 11th Workshop on Principles and Practice of Consistency for Distributed Data10.1145/3642976.3653034(37-43)Online publication date: 22-Apr-2024
  • (2024)LoRe: A Programming Model for Verifiably Safe Local-first SoftwareACM Transactions on Programming Languages and Systems10.1145/363376946:1(1-26)Online publication date: 15-Jan-2024
  • (2024)Noctua: Towards Automated and Practical Fine-grained Consistency AnalysisProceedings of the Nineteenth European Conference on Computer Systems10.1145/3627703.3629570(704-719)Online publication date: 22-Apr-2024
  • (2024)Synql: A CRDT-Based Approach for Replicated Relational Databases with Integrity ConstraintsDistributed Applications and Interoperable Systems10.1007/978-3-031-62638-8_2(18-35)Online publication date: 17-Jun-2024
  • (2023)RALF: Accuracy-Aware Scheduling for Feature Store MaintenanceProceedings of the VLDB Endowment10.14778/3632093.363211617:3(563-576)Online publication date: 1-Nov-2023
  • (2023)Ad Hoc Transactions through the Looking Glass: An Empirical Study of Application-Level Transactions in Web ApplicationsACM Transactions on Database Systems10.1145/363855349:1(1-43)Online publication date: 23-Dec-2023
  • (2023)Metaverse as a ServiceProceedings of the 2023 ACM Symposium on Cloud Computing10.1145/3620678.3624662(298-307)Online publication date: 30-Oct-2023
  • (2023)Ad Hoc Transactions: What They Are and Why We Should CareACM SIGMOD Record10.1145/3604437.360444052:1(7-15)Online publication date: 8-Jun-2023
  • (2023)Antipode: Enforcing Cross-Service Causal Consistency in Distributed ApplicationsProceedings of the 29th Symposium on Operating Systems Principles10.1145/3600006.3613176(298-313)Online publication date: 23-Oct-2023
  • (2023)OrderlessChainProceedings of the 24th International Middleware Conference10.1145/3590140.3629111(137-150)Online publication date: 27-Nov-2023
  • Show More Cited By

View Options

Get Access

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media