Fordeler og ulemper med distribuerte systemer

Toppvisning gjennom glasset av IT-ingeniør som arbeider med bærbar datamaskin i datasenteret fullt av aktive rackservere.

Bildekreditt: gorodenkoff/iStock/GettyImages

Distribuerte systemer er datasystemer der flere datasystemer fungerer effektivt sammen som en enkelt enhet. Eksempler på distribuerte systemer inkluderer innholdsdistribusjonsnettverk som brukes til å betjene nettsteder og nettvideoer, superdatamaskiner bygget ut av flere kraftige matematiske prosessorer og distribuerte databaser brukt i mange online systemer. Distribuerte systemer kan være mer robuste, kraftigere og raskere enn enkeltdatasystemer, men de kan også kreve mer vedlikehold og nøye gjennomtenkning av organisering og problemer som kan oppstå feil.

Fordeler med et distribuert system

Det er en rekke potensielle fordeler ved å bruke et distribuert system. En av de enkleste å forstå er redundans og motstandskraft. Hvis et selskap betjener nettstedet sitt fra et distribuert sett med servere, i stedet for en enkelt server, kan det være i stand til å holde seg oppe selv om en server fysisk svikter. Hvis data distribueres mellom flere servere eller disker, en vanlig forekomst i moderne distribuerte systemer, kan det hende at det ikke er noe tap av data selv om en lagringsenhet slutter å fungere.

Dagens video

Hastighet og innholdsdistribusjon

Distribuerte systemer kan også være raskere enn enkeltdatasystemer. En av fordelene med en distribuert database er at spørringer kan rutes til en server med en bestemt brukers informasjon, i stedet for at alle forespørsler må gå til en enkelt maskin som kan være overbelastet.

Forespørsler kan også rutes til servere som er fysisk nære eller på en rask nettverksforbindelse til hvem som helst dataene, noe som kan bety mindre tid og andre ressurser som er allokert til å håndtere nettverkstrafikk og flaskehalser. Det er en vanlig forekomst i innholdsdistribusjonsnettverk som brukes til nettbaserte medier.

Skalering og parallellisme

Når distribuerte systemer er satt opp for å distribuere data mellom de involverte serverne, kan de også enkelt skaleres. Hvis de er godt utformet, kan det være så enkelt som å legge til ny maskinvare og be nettverket om å legge det til det distribuerte systemet.

Distribuerte systemer kan også designes for parallellitet. Dette er vanlig i matematiske operasjoner for ting som værmodellering og vitenskapelig databehandling, der flere kraftige prosessorer kan dele opp uavhengige deler av komplekse simuleringer og få svaret raskere enn de ville kjøre dem inn serie.

Distribuerte datautfordringer

En stor utfordring med distribuert databehandling er at det kan være vanskelig for programmerere å resonnere rundt. Det kan være utfordringer med hvordan man distribuerer data for å sikre at krav til motstandskraft oppfylles under ulike uventede forhold.

Hvis enheter må synkroniseres, kan det være vanskelig å oppdage feil som får dem til å vente på hverandre å overføre data eller ved et uhell prøve å lese eller skrive samme data samtidig, noe som forårsaker feil.

Sikkerhet og personvern kan også bli et problem med distribuerte systemer, siden folks data lagres på flere datamaskiner, noen ganger på flere fysiske steder. Distribuerte systemer kan også være overkill for noen oppgaver, og bruker mer fysiske ressurser og ingeniørtid enn nødvendig.