请输入您要查询的百科知识:

 

词条 PACELC theorem
释义

  1. Overview

  2. Database PACELC ratings

  3. See also

  4. Notes

  5. References

  6. External links

In theoretical computer science, the PACELC theorem is an extension to the CAP theorem. It states that in case of network partitioning (P) in a distributed computer system, one has to choose between availability (A) and consistency (C) (as per the CAP theorem), but else (E), even when the system is running normally in the absence of partitions, one has to choose between latency (L) and consistency (C).

Overview

PACELC builds on the CAP theorem. Both theorems describe how distributed databases have limitations and tradeoffs regarding consistency, availability, and partition tolerance. PACELC however goes further and states that another trade-off also exists: this time between latency and consistency, even in absence of partitions, thus providing a more complete portrayal of the potential consistency tradeoffs for distributed systems.[1]

A high availability requirement implies that the system must replicate data. As soon as a distributed system replicates data, a tradeoff between consistency and latency arises.

The PACELC theorem was first described by Daniel J. Abadi from Yale University in 2010 in a blog post,[2] which he later formalized in a paper in 2012.[1] The purpose of PACELC is to address his thesis that "Ignoring the consistency/latency tradeoff of replicated systems is a major oversight [in CAP], as it is present at all times during system operation, whereas CAP is only relevant in the arguably rare case of a network partition."

Database PACELC ratings

Database PACELC ratings are from [3]

  • The default versions of DynamoDB, Cassandra, Riak and Cosmos DB are PA/EL systems: if a partition occurs, they give up consistency for availability, and under normal operation they give up consistency for lower latency.
  • Fully ACID systems such as VoltDB/H-Store, Megastore and MySQL Cluster are PC/EC: they refuse to give up consistency, and will pay the availability and latency costs to achieve it. BigTable and related systems such as HBase are also PC/EC.
  • Cosmos DB supports five tunable consistency levels that allow for tradeoffs between C/A during P, and L/C during E. Cosmos DB never violates the specified consistency level, so it’s formally CP.
  • MongoDB can be classified as a PC/EC system. In the baseline case, the system guarantees reads and writes to be consistent.
  • PNUTS is a PC/EL system.
  • Hazelcast IMDG and indeed most in-memory data grids are an implementation of a PA/EC system; Hazelcast can be configured to be EL rather than EC.[4]
  • [https://news.ycombinator.com/item?id=18257128 FaunaDB] implements [Http://cs.yale.edu/homes/thomson/publications/calvin-sigmod12.pdf%7CCalvin Calvin], a transaction protocol created by Dr. Daniel Abadi and author[1] of PACELC theorem, and offers users adjustable controls for LC tradeoff. It is PC/EC for strictly serializable transactions, and EL for serializable reads.
DDBS P+A P+C E+L E+C
DynamoDB Yesname=lctradeoff|Dynamo, Cassandra, and Riak have user-adjustable settings to control the LC tradeoff.[3]}}
Cassandra Yesname=lctradeoff}}
Cosmos DBYesYes
Riak Yesname=lctradeoff}}
VoltDB/H-Store Yes Yes
Megastore Yes Yes
BigTable/HBaseYesYes
MySQL ClusterYesYes
MongoDB Yes Yes
PNUTS Yes Yes
Hazelcast IMDG[5]YesYesYes
FaunaDB[6]YesYesYes

See also

  • CAP theorem
  • Consistency model
  • Fallacies of Distributed Computing
  • Paxos (computer science)
  • Project management triangle
  • Raft (computer science)
  • Trilemma

Notes

{{notelist}}

References

1. ^{{cite web | url = http://cs-www.cs.yale.edu/homes/dna/papers/abadi-pacelc.pdf | format = PDF | title = Consistency Tradeoffs in Modern Distributed Database System Design | first1 = Daniel J. | last1 = Abadi | publisher = Yale University }}
2. ^{{Cite web|url=http://dbmsmusings.blogspot.ie/2010/04/problems-with-cap-and-yahoos-little.html|title=DBMS Musings: Problems with CAP, and Yahoo’s little known NoSQL system | | first1 = Daniel J. | last1 = Abadi | date = 2010-04-23 | access-date=2016-09-11}}
3. ^"Consistency Tradeoffs in Modern Distributed Database System Design" slide summary by Arinto Murdopo, Research Engineer
4. ^{{Cite web|url=http://dbmsmusings.blogspot.com/2017/10/hazelcast-and-mythical-paec-system.html|title=DBMS Musings: Hazelcast and the Mythical PA/EC System|last=Abadi|first=Daniel|date=2017-10-08|website=DBMS Musings|access-date=2017-10-20}}
5. ^{{Cite web|url=http://dbmsmusings.blogspot.com/2017/10/hazelcast-and-mythical-paec-system.html|title=DBMS Musings: Hazelcast and the Mythical PA/EC System|last=Abadi|first=Daniel|date=2017-10-08|website=DBMS Musings|access-date=2017-10-20}}
6. ^{{Cite web|url=http://dbmsmusings.blogspot.com/2018/09/newsql-database-systems-are-failing-to.html|title=DBMS Musings: NewSQL database systems are failing to guarantee consistency, and I blame Spanner|last=Abadi|first=Daniel|date=2018-09-21|website=DBMS Musings|access-date=2019-02-23}}

External links

  • "Consistency Tradeoffs in Modern Distributed Database System Design", by Daniel J. Abadi, Yale University Original paper that formalized PACELC
  • "Problems with CAP, and Yahoo’s little known NoSQL system", by Daniel J. Abadi, Yale University. Original blog post that first described PACELC
{{DEFAULTSORT:Pacelc Theorem}}

2 : Distributed computing|Database theory

随便看

 

开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。

 

Copyright © 2023 OENC.NET All Rights Reserved
京ICP备2021023879号 更新时间:2024/9/20 19:29:01