PACELCova věta
Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od
verze recenzované 17. května 2021; kontroly vyžadují
6 úprav .
Věta PACELC je rozšířením věty CAP , která říká, že v případě oddělení sítě (P) v distribuovaném počítačovém systému je třeba volit mezi dostupností (A) a konzistencí (C) (podle věty CAP), ale v každém případě, i když systém pracuje normálně bez separace (E), je třeba volit mezi zpožděními (L) a konzistencí (C).
Popis
Věta PACELC staví na teorému CAP . Oba teorémy popisují omezení a kompromisy, které mají distribuované databáze z hlediska konzistence, dostupnosti a rozdělení. Teorém PACELC však uvádí, že existuje kompromis mezi latencí a konzistencí i při absenci dělení, což poskytuje úplnější obrázek o možných kompromisech pro distribuované systémy. [jeden]
Požadavek na vysokou dostupnost znamená, že systém musí replikovat data. Zatímco distribuovaný systém replikuje data, existuje kompromis mezi konzistencí a latencí.
Teorém PACELC poprvé popsal Daniel J. Abadi z Yale University v roce 2010 v příspěvku na blogu [2] a také jako článek v roce 2012 [1] . Hlavním účelem teorému PACELC je odpovědět na jeho tezi „Ignorování potřeby volby mezi konzistencí a latencí v replikovaných systémech je hlavním opomenutím [v rámci CAP], protože potřeba této volby je vždy přítomna během provozu systému, zatímco CAP je relevantní pouze pro diskutovaný vzácný případ oddělení sítě.
Hodnocení hlavních DBMS podle věty PACELC
Odhady DBMS pro [3]
- Ve výchozím nastavení jsou Dynamo, Cassandra , Riak a Cosmos DB systémy PA/EL: při rozdělení sítě ztrácejí koherenci kvůli vyšší dostupnosti a během normálního provozu ztrácejí koherenci kvůli nižší latenci.
- Plně ACID systémy jako VoltDB /H-Store a Megastore jsou PC/EC: nevzdávají se konzistence a budou ochotny zaplatit dostupností a latencí, aby toho dosáhly. BigTable a související systémy jako HBase jsou také PC/EC.
- Couchbase poskytuje řadu možností konzistence a dostupnosti v rozděleném čase, stejně jako řadu možností latence a nerozdělené konzistence. Na rozdíl od většiny ostatních databází Couchbase nemá jedinou sadu API a nereplikuje všechny datové služby jednotně. Pro zápis Couchbase upřednostňuje konzistenci před přístupností, takže je formálně CP, ale pro čtení existuje více uživatelsky řízená variabilita v závislosti na replikaci indexu, požadované úrovni konzistence a typu přístupu (vyhledávání jednoho dokumentu vs. skenování rozsahu vs. celý text vyhledávání atd.)). Kromě toho existuje další variabilita v závislosti na replikaci mezi datovými centry (XDCR), která bere více CP clusterů a spojuje je s asynchronní replikací, a Couchbase Lite, což je vestavěná databáze a vytváří plně multi-master (s verzováním ).) distribuovaná topologie.
- Cosmos DB podporuje pět konfigurovatelných úrovní konzistence, které vám umožňují vybrat si mezi C/A během dělení sítě a L/C během normálního provozu. Cosmos DB nikdy neporušuje zadanou úroveň konzistence, a proto je formálně CP.
- MongoDB lze klasifikovat jako systém PA/EC. V základním případě systém zaručuje, že čtení a zápis jsou konzistentní.
- PNUTS je systém PC/EL.
DDBS
|
P+A
|
P+C
|
E+L
|
E+C
|
Dynamo
|
Ano
|
|
ano [a]
|
|
Cassandra
|
Ano
|
|
ano [a]
|
|
Kosmos DB
|
Ano
|
|
Ano
|
|
Couchbase
|
|
Ano
|
Ano
|
Ano
|
Riak
|
Ano
|
|
ano [a]
|
|
Obchod VoltDB/H
|
|
Ano
|
|
Ano
|
Mega obchod
|
|
Ano
|
|
Ano
|
MongoDB
|
Ano
|
|
|
Ano
|
PNUTS
|
|
Ano
|
Ano
|
|
Viz také
Poznámky
- ↑ 1 2 3 Dynamo, Cassandra a Riak mají nastavení pro ovládání výběru mezi L a C [3]
Prameny
- ↑ 1 2 Daniel J. Abadi. Konzistentní kompromisy v moderním návrhu distribuovaného databázového systému // Yale University. - 2012. - 25. ledna. Archivováno z originálu 16. května 2017.
- ↑ Daniel J. Abadi. DBMS Musings: Problémy s CAP a málo známým systémem NoSQL společnosti Yahoo . dbmsmusings.blogspot.ie (23. dubna 2010). Získáno 11. září 2016. Archivováno z originálu 6. září 2016. (neurčitý)
- ↑ 1 2 Arinto Murdopo. Kompromisy konzistence v moderním návrhu distribuovaného databázového systému . - 2012. - 17. dubna. Archivováno z originálu 22. srpna 2016.
Odkazy