Acasă Finanțe personale Manipularea partițiilor în NoSQL - dummies

Manipularea partițiilor în NoSQL - dummies

Cuprins:

Video: HDD EXTERN NU SE VEDE IN WINDOWS 2024

Video: HDD EXTERN NU SE VEDE IN WINDOWS 2024
Anonim

Partiția de cuvinte este folosită pentru două concepte diferite în terenurile NoSQL. O partiție de date este un mecanism care asigură distribuirea uniformă a datelor într-un cluster. Pe de altă parte, o partiție de rețea apare atunci când două părți ale aceluiași grup de baze de date nu pot comunica. În cazul sistemelor foarte complexe, este din ce în ce mai probabil să se întâmple o eșec al unui echipament. Dacă un comutator de rețea între servere dintr-un grup nu reușește, apare un fenomen denumit (în jargonul computerului)

creierul divizat . În acest caz, serverele individuale primesc încă solicitări, dar nu pot comunica între ele.

Acest scenariu poate duce la inconsecvența datelor sau pur și simplu la reducerea capacității de stocare a datelor, deoarece partiția de rețea cu cele mai mici servere este eliminată din cluster (sau "votat off").

Partiții tolerante

Aveți două opțiuni atunci când se efectuează o partiție de rețea:

Continuați, la un anumit nivel, să efectuați operații de citire și scriere.

  • "Votează" o parte a partiției și decide să corecteze datele mai târziu când ambele părți pot comunica. Aceasta implică, de obicei, că clusterul votează o replică citită ca noul master pentru fiecare nod lipsă de partiție principală.

  • Mânerele Riak scrie atunci când serverul de partiții primare coboară, folosind un sistem numit

hinted shift

. Când datele sunt replicate inițial, primul nod pentru o anumită partiție cheie este scris la, împreună cu (în mod implicit) două dintre următoarele noduri vecine.

În cazul în care elementul primar nu poate fi scris, următorul nod din ring este scris la. Aceste scrieri sunt predate efectiv la următorul nod. Când serverul primar revine în sus, scrierile sunt reluate către acel nod înainte de a prelua din nou operațiile de scriere primare.

În ambele aceste operații, inconsistențele de versiuni se pot întâmpla deoarece replicile diferite pot fi în diferite stări de versiune, chiar dacă numai pentru câteva milisecunde.

Riak folosește un alt sistem numit

entropie activă

- pentru a atenua această problemă. Acest sistem trage prin valori actualizate și asigură faptul că replicile sunt actualizate la un moment dat, preferabil mai devreme decât mai târziu.Acest lucru ajută la evitarea conflictelor la citire, menținând în același timp o viteză ridicată de ingestie, ceea ce evită o comitere în două faze utilizată de alte baze de date NoSQL cu suport pentru clusterizare master-slave. Dacă se întâmplă un conflict în citire, Riak utilizează citește reparația

pentru a încerca să returneze numai cele mai recente date. În cele din urmă, dar în funcție de setările de consistență și de disponibilitate pe care le utilizați, aplicația client poate fi prezentată cu mai multe versiuni și solicitată să decidă singură. În anumite situații, acest compromis este de dorit, iar multe aplicații pot cunoaște intuitiv, pe baza datelor prezentate, ce versiune să utilizeze și ce versiune să se debarasă. Indexarea secundară

Indicii secundari sunt indicii privind datele specifice dintr-o valoare. Cele mai multe magazine cu valoare cheie părăsesc această indexare până la aplicație. Cu toate acestea, Riak este diferit, folosind o schemă numită

document

- partiție bazată pe care permite indexarea secundară. Partiționarea pe bază de documente presupune că scrieți structuri JSON la baza de date Riak. Apoi puteți seta indexuri pe anumite proprietăți denumite în cadrul acestei structuri JSON, după cum se arată: {"order-id": 5001, "id-client": 1429857, "order-date": "2014-09-24 "," Total ": 134. 24}

Dacă aveți o aplicație care arată comenzile unui client pentru luna precedentă, atunci doriți să interogați toate înregistrările, după cum se arată, în cazul în care ID-ul clientului este o valoare fixă ​​(1429857) iar data comenzii se încadrează într-un anumit interval (începutul și sfârșitul lunii).

În majoritatea magazinelor cu valoare cheie, creați o altă găleată a cărei cheie este numărul de clienți combinat și luna și valoarea este o listă a numelor de ordine. Cu toate acestea, în Riak, pur și simplu adăugați un index secundar atât pe id client (integer), cât și pe data de comandă (data), care necesită spațiu suplimentar de stocare, dar are avantajul de a fi transparent pentru dezvoltatorul de aplicații.

Acești indexuri sunt, de asemenea, actualizați live - ceea ce înseamnă că nu există o întârziere între actualizarea unei valori a documentului în Riak și actualizarea indexurilor. Acest acces viu la date este mai greu de tras decât pare. La urma urmei, dacă indicii sunt incoerenți, nu veți găsi niciodată datele păstrate în mod consecvent!

Evaluarea Riak

Basho, entitatea comercială din spatele Riak, spune că versiunea sa viitoare 2. O bază de date NoSQL are întotdeauna o consistență puternică, o afirmație pe care o fac și alți furnizori NoSQL. Afirmația furnizorilor NoSQL de a avea întotdeauna o consistență puternică este ca și cum ați pretinde că sunteți un vegetarian puternic … cu excepția duminicilor, când aveți carne de vită friptă.

Riak nu este o bază de date compatibilă cu ACID. Configurația sa nu poate fi modificată astfel încât să funcționeze în modul de conformitate ACID. Clienții pot obține date incoerente în timpul operațiunilor normale sau în timpul partițiilor din rețea. Riak tratează consistența absolută pentru o disponibilitate sporită și toleranță la partiție.

Riak-ul care rulează într-un mod puternic de consistență înseamnă că replicile citite sunt actualizate în același timp cu comandantul principal. Aceasta implică o comitere în două faze - în esență, scrierea nodului principal către celelalte noduri înainte de a confirma că scrierea este completă.

La momentul acestei scrieri, modul de consistență puternic al lui Riak nu suportă indici secundari sau tipuri de date complexe (de exemplu, JSON). Sperăm că Basho va remedia această problemă în viitoarele versiuni ale bazei de date.

Riak Search (un motor de căutare rebrandat și integrat Apache Solr utilizează un model de actualizare consistent) poate produce false poziții atunci când se folosește o consistență puternică. Această situație apare deoarece datele pot fi scrise și apoi tranzacția abandonată, dar datele sunt încă folosite pentru indexare - lăsând un rezultat de căutare "fals pozitiv" - rezultatul nu mai este valabil pentru interogarea de căutare.

sentinel

pentru a determina care nod devine un master în condiții de eroare. Acest proces, totuși, nu este foarte disponibil, ceea ce înseamnă că pentru câteva secunde este posibil ca, în timp ce o nouă copie a procesului santinel

să fie adusă online, un nou nod nu poate fi adăugat sau un nou maestru ales. Trebuie să fiți conștienți de această posibilitate în condiții de depășire a stresului de mare stres.

Riak are câteva caracteristici frumoase pentru dezvoltatorii de aplicații, cum ar fi indexarea secundară și suportul pentru valoarea JSON încorporată. Replicarea bazei de date pentru recuperarea în caz de dezastru către alte centre de date este disponibilă numai în versiunea plătită pentru versiune a cărei preț poate fi găsit pe site-ul lor web (prețurile de închiriere indicate, prețurile permise de licență date numai la cerere). Instrumentul de monitorizare a clusterului Control Riak nu este, de asemenea, foarte apreciat din cauza timpului său de întârziere la monitorizarea clusterelor. Riak deține o mulțime de promisiuni și dacă Basho va adăuga mai multe facilități de management al clusterului

întreprindere

-

nivel în viitoarele versiuni, acesta va deveni cel mai bun produs din clasă.

Manipularea partițiilor în NoSQL - dummies

Alegerea editorilor

Administrator de rețea: Zone de căutare inversă - dummies

Administrator de rețea: Zone de căutare inversă - dummies

Interogări DNS obișnuite sunt interogări de căutare înainte corespunde unui nume de domeniu complet calificat. O căutare inversă este opusul unei căutări forward: returnează numele de domeniu complet calificat al unei gazde pe baza adresei sale IP. Căutările inverse sunt posibile din cauza unui domeniu special numit ...

Rețea Elemente de bază: Clienți și servere - manechine

Rețea Elemente de bază: Clienți și servere - manechine

Computerul de rețea care conține hard disk-urile, imprimantele și alte resurse care sunt partajate cu alte calculatoare de rețea se numește un server. Acest termen vine în repetate rânduri, deci trebuie să-l amintiți. Scrie-o pe spatele mâinii tale stângi. Orice computer care nu este un server este numit client. Aveți ...

Retea Bazele: Poduri - dummies

Retea Bazele: Poduri - dummies

O punte este un dispozitiv care conecteaza doua retele astfel incat sa actioneze ca si cum ar fi o rețea. Podurile sunt utilizate pentru a împărți o rețea mare în două rețele mai mici din motive de performanță. Vă puteți gândi la un pod ca pe un repetor inteligent. Repetoarele ascultă semnale care coboară pe un cablu de rețea, amplifică ...

Alegerea editorilor

ÎMprumuta și tweak idei de la alte comunități online - dummies

ÎMprumuta și tweak idei de la alte comunități online - dummies

, Mai degrabă decât să ia ideile altcuiva complet pentru dvs. comunitate online, încercați să riffați pe aceeași idee, dar nu atât de mult încât este evident că nu sunteți creierul din spatele brainstorming-ului. Idei sunt acolo pentru a lua, dar nu ar fi mai degrabă văzute ca cineva inovatoare, nu cineva care scours pe web ...

Branding Blogul tău

Branding Blogul tău

Branding blog-ul tău merge mult spre a face dacă este ușor de recunoscut pentru cititorii tăi. Când vedeți un punct roșu în interiorul unui cerc roșu, ce magazin vine în minte? Ce zici de acele arcuri de aur? Un nume de marcă apare în minte atunci când vedeți simbolul swoosh? La fel ca magazinele populare, restaurantele și încălțămintea ...

Construiți un Blog Mama care este Sellable - dummies

Construiți un Blog Mama care este Sellable - dummies

Dacă obiectivul pe termen lung este de a vinde blogul dvs. ar trebui să o construiască cu acest scop în minte. Evitați asocierea prea intensă a blogului cu marca dvs. personală. Un blog care poate fi valoros cu orice scriitor la cârma trebuie să îndeplinească majoritatea, dacă nu toate, următoarele criterii: Blogul este concentrat ...

Alegerea editorilor

Cum să creați o nouă campanie de anunțuri LinkedIn - dummies

Cum să creați o nouă campanie de anunțuri LinkedIn - dummies

LinkedIn oferă servicii de publicitate pentru afacerea dvs. Dacă vă decideți să utilizați LinkedIn ca instrument de marketing, va trebui doar să obțineți o nouă campanie de anunțuri în lucrări. Când sunteți gata să începeți o nouă campanie, urmați acești pași:

Opțiuni de filtrare pentru anunțul dvs. LinkedIn - manechine

Opțiuni de filtrare pentru anunțul dvs. LinkedIn - manechine

Ce opțiuni de filtrare aveți pentru anunțul dvs. LinkedIn? Alte rețele de publicitate vă permit să filtrați publicul vizat de câteva atribute cunoscute ale persoanei care vă va vedea anunțul, sexul și locația membrilor din public. LinkedIn vă permite să faceți un pas mai departe permițându-vă ...

Oferind și primind viziuni pe LinkedIn - manechine

Oferind și primind viziuni pe LinkedIn - manechine

Deși mulți oameni cred că "Nu este ceea ce știi, știi, "care este unul dintre principalele motive pentru care LinkedIn este atât de valoros, mulți oameni (recrutorii, angajații, directorii executivi, investitorii și altele) sunt foarte interesați de ceea ce știi. În mod logic, oamenii care vă cunosc cel mai bine sunt oamenii din rețeaua dvs., care ...