Avantajele și dezavantajele sistemelor distribuite

Vedere de sus prin paharul unui inginer IT care lucrează cu laptopul într-un centru de date plin de servere rack active.

Credit imagine: gorodenkoff/iStock/GettyImages

Sistemele distribuite sunt sisteme informatice în care mai multe sisteme informatice lucrează împreună eficient ca o singură unitate. Exemple de sisteme distribuite includ rețele de distribuție de conținut utilizate pentru a servi site-uri web și videoclipuri online, supercalculatoare construite din mai multe procesoare matematice puternice și baze de date distribuite utilizate în multe online sisteme. Sistemele distribuite pot fi mai rezistente, mai puternice și mai rapide decât sistemele cu un singur computer, dar pot necesita, de asemenea, mai multă întreținere și o gândire atentă la organizare și la problemele care pot apărea gresit.

Avantajele unui sistem distribuit

Există o serie de avantaje potențiale ale utilizării unui sistem distribuit. Una dintre cele mai ușor de înțeles este redundanța și reziliența. Dacă o companie își servește site-ul web de pe un set distribuit de servere, mai degrabă decât de pe un singur server, poate fi capabilă să rămână activă chiar dacă un server eșuează fizic. Dacă datele sunt distribuite între mai multe servere sau discuri, o apariție comună în sistemele moderne distribuite, este posibil să nu existe nicio pierdere de date chiar dacă un dispozitiv de stocare nu mai funcționează.

Videoclipul zilei

Viteza și distribuția conținutului

Sistemele distribuite pot fi, de asemenea, mai rapide decât sistemele cu un singur computer. Unul dintre avantajele unei baze de date distribuite este că interogările pot fi direcționate către un server cu a anumite informații ale utilizatorului, mai degrabă decât toate cererile care trebuie să fie trimise la o singură mașină care poate fi supraîncărcat.

Solicitările pot fi, de asemenea, direcționate către servere apropiate fizic sau pe o conexiune rapidă de rețea către oricine dorește datele, ceea ce poate însemna mai puțin timp și alte resurse alocate gestionării traficului de rețea și blocajele. Acesta este o întâmplare comună în rețelele de distribuție de conținut utilizate pentru media online.

Scalare și paralelism

Odată ce sistemele distribuite sunt configurate pentru a distribui date între serverele implicate, acestea pot fi, de asemenea, ușor scalabile. Dacă sunt bine proiectate, poate fi la fel de simplu ca adăugarea de hardware nou și spunerea rețelei să-l adauge la sistemul distribuit.

Sistemele distribuite pot fi proiectate și pentru paralelism. Acest lucru este obișnuit în operațiunile matematice pentru lucruri precum modelarea vremii și calculul științific, unde mai multe puternice procesoarele pot împărți părți independente ale simulărilor complexe și pot obține răspunsul mai repede decât le-ar rula serie.

Provocări de calcul distribuit

O mare provocare cu calculul distribuit este că poate fi greu pentru programatori să raționeze. Pot exista provocări în ceea ce privește distribuirea datelor pentru a se asigura că cerințele de reziliență sunt îndeplinite în diferite condiții neașteptate.

Dacă dispozitivele trebuie să se sincronizeze, pot exista erori greu de detectat care le fac să se aștepte unul pe celălalt să transmită date sau să încerce accidental să citească sau să scrie aceeași bucată de date în același timp, provocând erori.

Securitatea și confidențialitatea pot deveni, de asemenea, o problemă cu sistemele distribuite, deoarece datele oamenilor sunt stocate pe mai multe computere, uneori în mai multe locații fizice. Sistemele distribuite pot fi, de asemenea, excesive pentru unele sarcini, folosind mai multe resurse fizice și timp de inginerie decât este necesar.