Teorema PACELC
Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de
versiunea revizuită pe 17 mai 2021; verificările necesită
6 modificări .
Teorema PACELC este o extensie a teoremei CAP , care afirmă că în cazul separării rețelelor (P) într-un sistem informatic distribuit, trebuie să alegeți între disponibilitate (A) și consistență (C) (conform teoremei CAP), dar în orice caz, chiar dacă sistemul funcționează normal în absența separării (E), trebuie să alegeți între întârzieri (L) și consistență (C).
Descriere
Teorema PACELC se bazează pe teorema CAP . Ambele teoreme descriu limitările și compromisurile pe care le au bazele de date distribuite în termeni de consistență, disponibilitate și partiționare. Cu toate acestea, teorema PACELC afirmă că există un compromis între latență și consistență chiar și în absența partiționării, ceea ce oferă o imagine mai completă a posibilelor compromisuri pentru sistemele distribuite. [unu]
Cerința de disponibilitate ridicată implică faptul că sistemul trebuie să reproducă datele. În timp ce un sistem distribuit reproduce datele, există un compromis între consistență și latență.
Teorema PACELC a fost descrisă pentru prima dată de Daniel J. Abadi de la Universitatea Yale în 2010 într-o postare pe blog [2] și, de asemenea, ca articol în 2012 [1] . Scopul principal al teoremei PACELC este de a aborda teza sa „Ignorarea necesității de a alege între consistență și latență în sistemele replicate este o omisiune majoră [în cadrul CAP], deoarece necesitatea acestei alegeri este întotdeauna prezentă în timpul funcționării sistemului, în timp ce CAP este relevant doar pentru cazul rar discutat de separare a rețelei.
Evaluarea SGBD-ului principal conform teoremei PACELC
Estimări DBMS pentru [3]
- În mod implicit, Dynamo, Cassandra , Riak și Cosmos DB sunt sisteme PA/EL: atunci când împart rețeaua, pierd coerența pentru o disponibilitate mai mare, iar în timpul funcționării normale pierd coerența pentru o latență mai mică.
- Sistemele complet ACID precum VoltDB /H-Store și Megastore sunt PC/EC: nu renunță la consistență și vor fi dispuși să plătească cu disponibilitate și latență pentru a realiza acest lucru. BigTable și sistemele conexe precum HBase sunt, de asemenea, PC/EC.
- Couchbase oferă o gamă largă de opțiuni de consistență și disponibilitate, precum și o gamă de opțiuni de latență și de consistență non-split. Spre deosebire de majoritatea altor baze de date, Couchbase nu are un singur set de API-uri și nu reproduce toate serviciile de date în mod uniform. Pentru scriere, Couchbase preferă consistența în detrimentul accesibilității, făcându-l în mod formal CP, dar pentru citire, există mai multă variabilitate controlată de utilizator în funcție de replicarea indexului, nivelul de consistență dorit și tipul de acces (căutare un singur document vs. scanare în interval vs. text complet). căutare etc.) .) . În plus, există o variabilitate suplimentară în funcție de replicarea între centre de date (XDCR), care preia mai multe clustere CP și le conectează la replicarea asincronă, și Couchbase Lite, care este o bază de date încorporată și creează un multi-master complet (cu versiunea ).) topologie distribuită.
- Cosmos DB acceptă cinci niveluri de consistență configurabile care vă permit să alegeți între C/A în timpul partiționării rețelei și L/C în timpul funcționării normale. Cosmos DB nu încalcă niciodată nivelul de consistență specificat, motiv pentru care este formal un CP.
- MongoDB poate fi clasificat ca un sistem PA/EC. În cazul de bază, sistemul garantează că citirile și scrierile sunt consecvente.
- PNUTS este un sistem PC/EL.
DDBS
|
P+A
|
P+C
|
E+L
|
E+C
|
Dinam
|
da
|
|
da [a]
|
|
Cassandra
|
da
|
|
da [a]
|
|
Cosmos DB
|
da
|
|
da
|
|
Baza de canapea
|
|
da
|
da
|
da
|
Riak
|
da
|
|
da [a]
|
|
Magazin VoltDB/H
|
|
da
|
|
da
|
Mega magazin
|
|
da
|
|
da
|
MongoDB
|
da
|
|
|
da
|
NUCI
|
|
da
|
da
|
|
Vezi și
Note
- ↑ 1 2 3 Dynamo, Cassandra și Riak au setări pentru a controla selecția dintre L și C [3]
Surse
- ↑ 1 2 Daniel J. Abadi. Compensații de consistență în proiectarea unui sistem modern de baze de date distribuite // Universitatea Yale. - 2012. - 25 ianuarie. Arhivat din original pe 16 mai 2017.
- ↑ Daniel J. Abadi. DBMS Musings: Probleme cu CAP și sistemul NoSQL puțin cunoscut de la Yahoo . dbmsmusings.blogspot.ie (23 aprilie 2010). Consultat la 11 septembrie 2016. Arhivat din original pe 6 septembrie 2016. (nedefinit)
- ↑ 1 2 Arinto Murdopo. Compensații de consistență în proiectarea unui sistem modern de baze de date distribuite . - 2012. - 17 aprilie. Arhivat din original pe 22 august 2016.
Link -uri