Cuprins:
Video: Planul Roșu de intervenție - Exercițiu tactic Suceava, 30 iunie 2016 2024
Ca și în cazul altor tipuri de baze de date NoSQL, cu magazine cu valoare cheie, puteți face schimburi de consistență pentru unele disponibilități. Magazinele cu valoare cheie oferă de obicei o gamă largă de modele de consistență și durabilitate - adică între disponibilitatea și toleranța partițiilor și între toleranța consistentă și partiționarea.
Unele magazine cu cheie-valoare merg mult mai departe pe brațul de consistență, abandonând BASE pentru suportul complet de consistență tranzacțională ACID. Înțelegerea unde puteți desena linia vă poate ajuta să scurtați lista de potențiale baze de date pe care să le luați în considerare pentru cazul dvs. de utilizare.
Consistența tranzacțiilor
Magazinele de valoare-cheie comercializează de obicei coerența datelor (adică posibilitatea de a citi întotdeauna ultima copie a unei valori imediat după o actualizare) pentru a îmbunătăți timpul de scriere.
Voldemort, Riak și Oracle NoSQL sunt în cele din urmă stocuri cu valoare cheie. Ei folosesc o metodă numită read repair . Iată cele două etape implicate în citiți reparația :
-
În momentul citirii unei înregistrări, determinați care dintre câteva valori disponibile pentru o cheie este cea mai recentă și cea mai valabilă.
-
Dacă valoarea cea mai recentă nu poate fi stabilită, atunci clientul bazei de date este prezentat cu toate opțiunile de valoare și este lăsat să decidă pentru sine.
Exemple bune pentru utilizarea în cele din urmă a unor magazine coerente cu valoare cheie includ trimiterea de posturi media sociale și livrarea către utilizatorii vizați. Dacă un tweet sosește târziu sau este afișat un vechi de cinci minute, nu există pierderi catastrofale ale datelor.
Implementarea suportului ACID
Aerospike și Redis sunt excepții notabile la eventuala consistență. Ambele utilizează clustere partajate-nimic , ceea ce înseamnă că fiecare cheie are următoarele:
-
Un nod principal: Doar comandanții oferă răspunsuri pentru o singură cheie, ceea ce asigură cea mai recentă copie.
-
Mai multe noduri de replici slave: Acestea conțin copii ale tuturor datelor dintr-un nod principal. Aerospike oferă o consecvență completă a tranzacțiilor ACID, permițând ca modificările să fie spulberate imediat pe disc înainte ca tranzacția să fie semnalizată ca fiind completă pentru clientul bazei de date.
Aerospike reușește să facă acest lucru la viteze foarte mari (ceea ce respinge pretențiile că ACID-ul scade viteza de scriere). Aerospike se ocupă de SSD-uri brute pentru scrierea de date, ocolind suportul sistemului de operare al sistemelor de operare mai lent.
Desigur, mai multe SSD înseamnă costuri mai mari pentru server. Puteți decide că utilizarea programului Redis (configurat să elimine toate datele de pe disc în momentul în care acesta ajunge) este suficient de rapid și garantează suficientă durabilitate pentru nevoile dvs.Setarea implicită în Redis este de a șterge datele pe disc la fiecare câteva secunde, lăsând o mică fereastră de pierderi potențiale de date dacă un server eșuează.
Iată câteva exemple de cazuri în care este posibil să aveți nevoie de un magazin de valoare-cheie compatibil cu ACID:
-
Când primiți datele senzorilor de care aveți nevoie pentru un experiment.
-
Într-un sistem de mesagerie în care trebuie să garantați primirea.
Redis, de exemplu, oferă un mecanism de publicare / abonare care acționează ca un server de mesagerie înapoi. Această caracteristică, combinată cu suportul ACID, permite transmiterea mesajelor durabile.