Când SQL nu este suficient: controale pentru centrele de date masive noi

Autor: Judy Howell
Data Creației: 3 Iulie 2021
Data Actualizării: 1 Iulie 2024
Anonim
Când SQL nu este suficient: controale pentru centrele de date masive noi - Tehnologie
Când SQL nu este suficient: controale pentru centrele de date masive noi - Tehnologie

Conţinut



La pachet:

Dezvoltatorii și inginerii trebuie să lucreze continuu pentru a accelera și îmbunătăți serviciile pe platforme care au depășit mult dincolo de arhetipurile lor clasice din anii 90.

Cu toată zgomotul despre centrele de date enorme ale ANS care dețin gazete de biți de date despre viața noastră privată, există un lucru despre care nu s-a vorbit despre multe, cel puțin pe CNN. Aceasta implică o problemă de inginerie care a apărut împreună cu tehnologia cloud, date mari și impresionantele centre de stocare a datelor fizice care sunt acum construite în întreaga lume. Deci ce este? Ei bine, indiferent cine administrează unul dintre sistemele IT mamut care administrează aceste facilități, este nevoie de sisteme software care ajută toate aceste date să intre și să iasă din conductă rapid. Acea nevoie reprezintă una dintre cele mai interesante întrebări IT sau puzzle-uri cu care se confruntă profesioniștii de astăzi.


După cum subliniază mulți experți, cererea extremă de astăzi pentru prelucrarea datelor depășește cu mult abordările tradiționale. Simplu spus, folosind structuri și instrumente simple de baze de date precum interfața de interogare SQL nu va oferi o putere sau o funcționalitate suficientă pentru procesarea sistemelor proprii care s-au dezvoltat în ultimii ani. Arhivele marilor companii tehnologice de astăzi au nevoie de o tehnologie extrem de scalabilă. Au nevoie de instrumente de procesare a datelor care pot introduce și produce rezultate într-un volum mult mai mare decât ceea ce poate facilita un singur server. Acestea au nevoie de soluții care pot fi rapid promovate pentru creștere, soluții care includ niveluri complexe de inteligență artificială, soluții care sunt proiectate pentru un management ușor de către un departament IT.

Întrebarea este: cum pot cuceri companiile și agențiile guvernamentale limitările căii tradiționale de gestionare a datelor? Aici ar trebui să aruncăm o privire asupra unei opțiuni foarte promițătoare: un software care gestionează date mari și administrarea mai multor centre de date.


Sistem de fișiere Google: Un studiu de caz important

Tehnologia proprie pe care Google o folosește pentru a accesa centrele sale de date este unul dintre cele mai bune exemple de modele obișnuite pentru manipularea datelor mari și administrarea mai multor centre de date. Sistemul de fișiere Google (GFS), dezvoltat în 2003, este conceput pentru a sprijini volumul uriaș de modificări de mare viteză la sistemele de date care fac parte din obținerea atât de multă informație nouă în și dintr-o singură platformă, cât milioane de utilizatori fac clic pe acelasi timp. Experții se referă la acest lucru ca la un sistem de fișiere distribuit și folosesc termenul „stocare obiecte de date” pentru a descrie aceste tehnici extrem de complexe. În realitate, acești termeni nu zgârie nici măcar suprafața în termeni care descriu ceea ce este la lucru.

În mod individual, este posibil ca funcțiile și componentele care alcătuiesc un sistem precum GFS să nu mai fie de ultimă oră, dar sunt complexe. Multe dintre ele au fost acoperite pe acest site ca inovații relativ noi, care fac parte din temelii pentru un nou sistem informatic permanent permanent conectat. Colectiv, un sistem precum GFS este mult mai mult decât suma părților sale: este o rețea în mare măsură invizibilă, dar extrem de complexă, cu bucăți de date individuale obținute în acest fel și care într-un proces care ar fi, dacă este modelat complet vizual, ar fi un haos. Înțelegerea unde se duc toate datele necesită multă energie și angajament, deoarece cei care vor conduce stațiile de luptă ale acestor sisteme vor recunoaște cu ușurință.

"Există prea multe detalii care au un impact profund asupra domeniilor de utilizare - incluzând fragmentarea externă și internă, actualizările bazate pe jurnal vs. nivelul și coerența tranzacțiilor - pentru a rezuma modul în care funcționează într-o singură propoziție succintă ", spune Momchil Michailov, CEO și cofondator al Sanbolic.

"Un sistem de fișiere distribuit este fie un agregator distribuit de spații de nume locale și spații libere ale nodurilor participante, fie un sistem de fișiere local care rulează pe mai multe noduri care accesează spațiu de stocare partajat cu ajutorul unei componente distribuite de manager de blocare", a spus el.

Kerry Lebel este senior product manager la Automic, o companie cunoscută pentru platformele sale de automatizare scalabile. Lebel spune că, deși este precis să descrieți un DFS ca un sistem care atribuie pur și simplu sarcini de lucru serverelor atașate la piese hardware ieftine, aceasta nu spune cu adevărat întreaga poveste.

Fără bug-uri, fără stres - Ghidul dvs. pas cu pas pentru crearea de programe care schimbă viața fără a vă distruge viața

Nu îți poți îmbunătăți abilitățile de programare atunci când nimeni nu îi pasă de calitatea software-ului.

„Ceea ce sfârșești lipsește este tot factorul cool Cum fac ceea ce fac ", a spus Lebel.

Când te îndepărtezi de detaliile tehnice și te gândești doar la ideea de bază din spatele sistemului de fișiere distribuit, „factorul cool” despre care vorbește Lebel este evident. Aceste sisteme mari de manipulare a datelor înlocuiesc sistemele vechi de fișiere / folder cu structuri care implică nu numai mai multe sisteme de livrare, ci o abordare „orientată spre obiect”, unde un număr mare de unități sunt scutite aici și acolo pentru a preveni blocajele.

Gândiți-vă, de exemplu, la un sistem de autostrăzi de ultimă generație, în care sute de mii de mașini nu sunt doar pâlpâite pe un drept pe mai multe planete, ci se prind într-o frunză mică de trifoi sau afluenți de bule, care sunt învârtiți și trimiși spre destinațiile lor pe o diversitate de ocoliri. Din cer, totul arată la fel de coregraf ca un ceas elvețian. Acesta este tipul de model vizual pe care inginerii îl privesc atunci când visează noi modalități de direcționare a informațiilor în jurul limitărilor, prin „lovirea” acesteia către diferite niveluri ale unei scheme de conținere a datelor cu mai multe niveluri. Lăsând la o parte specificațiile, acesta este obiectivul de prim nivel al unui sistem de manipulare: să menții acele obiecte de sine stătătoare, cu metadatele încorporate să se deplaseze cu viteză maximă până unde trebuie să fie, să atingă obiective de consecvență, să satisfacă un utilizator final sau chiar pentru a informa o observație sau o analiză de nivel superior.

O privire la tehnologia de bază

Un articol al lui Sean Gallagher apărut pe Ars Technica descompune designul GFS în piese ceva mai ușor de gestionat și sugerează ce se află sub foaia de la Google.

GFS începe cu un model redundant și tolerant la erori pentru citirea și scrierea datelor. Ideea aici este că în loc să scrie o actualizare specifică pe o singură unitate, noile sisteme scriu bucăți de date în mai multe destinații. În acest fel, dacă o scriere nu reușește, vor rămâne altele. Pentru a acomoda acest lucru, o componentă de rețea primară combină tratarea datelor către alte unități subordonate, reagregând datele atunci când un client „apelează” pentru acestea. Toate acestea sunt posibile printr-un protocol de metadate care ajută la identificarea locurilor în care anumite actualizări și rezultate ale transmisiei se află în cadrul sistemului mai mare.

Un alt aspect foarte important în acest sens este modul în care aceste sisteme dublă-grele aplică coerența datelor. După cum remarcă Gallagher, designul GFS sacrifică o anumită consistență, în timp ce „aplică atomicitatea” sau protejează principiul modului în care datele sunt actualizate pe mai multe unități de stocare pentru a se potrivi în timp. „Modelul de consistență relaxată” al Google pare să urmeze teoria esențială a modelului BASE, care oferă mai multă flexibilitate în schimbul unui interval de timp mai lung pentru aplicarea consecvenței.

Cum realizează alte sisteme mari?

„Când se ajunge la o scară suficient de mare, inconsecvențele sau corupțiile datelor devin inevitabile”, spune Michailov. "Prin urmare, un obiectiv principal al sistemelor de fișiere distribuite ar trebui să fie capacitatea de a efectua cât mai multe operațiuni în prezența corupției, oferind în același timp metode eficiente de a face față corupției simultan." Michailov menționează, de asemenea, necesitatea de a menține performanța prin implementarea atentă a concedierii.

"De exemplu, crearea de metadate (date despre date) pe fiecare disc permite acelui disc să-și reconstruiască structura de date corespunzătoare dacă copia sa oglindă este coruptă", a spus Michailov. "În plus, nivelurile RAID pot fi utilizate pentru a combate defecțiunile de stocare la nivelul agregatorului de sistem de fișiere sau la nivelurile de gestionare a volumului partajat."

În discutarea unui alt model de consecvență, Lebel se concentrează pe un sistem numit sistem de fișiere distribuit Hadoop (HDFS), pe care îl numește „standard de facto al industriei”.

În HDFS, spune Lebel, fiecare bloc de date este reprodus de trei ori pe noduri diferite și pe două rafturi diferite. Datele sunt verificate de la capăt la capăt. Eșecurile sunt raportate la NameNode, un instrument de gestionare a datelor care scapă de blocurile corupte și creează altele noi.

Toate acestea susțin tipurile de „date curate” care sunt atât de importante pentru integritatea unuia dintre aceste sisteme de date în masă.

Menținerea unui DFS

Un alt aspect foarte diferit asupra GFS provine dintr-un articol din octombrie 2012 al scriitorului Wired Steven Levy. Este mult mai luminos să caracterizăm abordarea software pentru gestionarea colectivă a rețelei Google de sus în jos.

"De-a lungul anilor", scrie Levy, "Google a construit, de asemenea, un sistem software care îi permite să-și gestioneze nenumăratele servere ca și cum ar fi o entitate gigantă. Dezvoltatorii săi interni pot acționa ca maeștri de păpuși, trimitând mii de calculatoare pentru a performa. sarcini la fel de ușor precum rularea unei singure mașini. "

A face acest lucru implică, de asemenea, tone de cibernetică și întreținere de mediu, de la echipe dedicate de testare care încearcă să „spargă” sistemele de server, până la temperaturi controlate cu atenție pe holurile criptelor de date.

Levy menționează, de asemenea, tehnologii suplimentare pentru GFS, cum ar fi MapReduce, un instrument de aplicație cloud și Hadoop, un motor de analiză care împărtășește unele principii de design cu GFS. Aceste instrumente au propriul impact asupra modului în care sunt concepute sistemele de manipulare a centrelor de date și ce este posibil să apară în viitor. (Aflați mai multe despre aceste tehnologii în Evoluția datelor mari.)

Michailov consideră că MapReduce are potențialul de a sprijini sisteme din ce în ce mai mari de centre de date și vorbește despre o „implementare unică” a sistemelor de fișiere partajate și agregate care ar putea „păstra nodurile de nume ale unui sistem de fișiere agregate într-un cluster partajat cu SSD-uri pentru stocare .“

Din partea sa, Lebel vede o îndepărtare de procesarea lotului (metoda acceptată de Hadoop) la procesarea în flux, ceea ce va aduce aceste operațiuni de date mai aproape de timp real.

„Cu cât putem prelucra mai rapid datele și le punem la dispoziția decidenților de afaceri sau clienților noștri, cu atât va avea un avantaj competitiv”, spune Lebel, care sugerează și înlocuirea terminologiei de prelucrare de mai sus cu termeni care se concentrează pe Utilizator final. Prin gândirea la activități „sincrone” sau activități sincronizate cu acțiuni ale utilizatorului final și activități „asincrone”, care sunt mai flexibile din punct de vedere al implementării, Lebel spune că companiile pot utiliza SLA-urile și alte resurse pentru a defini modul în care va funcționa un anumit sistem de servicii. .

La toate acestea se reduce, într-un anumit sens, faptul că dezvoltatorii și inginerii trebuie să lucreze continuu pentru a accelera și a îmbunătăți serviciile peste platformele care au depășit mult dincolo de arhetipurile lor clasice din anii 1990. Asta înseamnă să analizezi în mod critic mașinile de date și să treci prin blocaje în moduri care să sprijine nu doar o populație în creștere, dar această schimbare exponențială care se întâmplă la viteza de decupaj pe care punditele o numesc „următoarea revoluție industrială”. Este probabil ca cei care sparg cel mai mult teren pe aceste fronturi să ajungă să domine pe piețele și economiile viitorului.