Afbeelding tegoed: gorodenkoff/iStock/GettyImages
Gedistribueerde systemen zijn computersystemen waarbij meerdere computersystemen effectief samenwerken als een enkele eenheid. Voorbeelden van gedistribueerde systemen zijn onder meer contentdistributienetwerken die worden gebruikt om websites en online video's te bedienen, supercomputers opgebouwd uit meerdere krachtige wiskundige processors en gedistribueerde databases die in veel online systemen. Gedistribueerde systemen kunnen veerkrachtiger, krachtiger en sneller zijn dan systemen met één computer, maar ze kunnen ook meer onderhoud vergen en zorgvuldig nadenken over de organisatie en problemen die kunnen verdwijnen mis.
Voordelen van een gedistribueerd systeem
Er zijn een aantal potentiële voordelen verbonden aan het gebruik van een gedistribueerd systeem. Een van de gemakkelijkst te begrijpen is redundantie en veerkracht. Als een bedrijf zijn website bedient vanaf een gedistribueerde set servers in plaats van een enkele server, kan het mogelijk in de lucht blijven, zelfs als een server fysiek uitvalt. Als gegevens worden gedistribueerd tussen meerdere servers of schijven, wat vaak voorkomt in moderne gedistribueerde systemen, is er mogelijk geen gegevensverlies, zelfs als een opslagapparaat niet meer werkt.
Video van de dag
Snelheid en inhoudsdistributie
Gedistribueerde systemen kunnen ook sneller zijn dan systemen met één computer. Een van de voordelen van een gedistribueerde database is dat query's kunnen worden gerouteerd naar een server met een bepaalde gebruikersinformatie, in plaats van dat alle verzoeken naar een enkele machine moeten gaan die kan worden overbelast.
Verzoeken kunnen ook worden doorgestuurd naar servers die fysiek dichtbij zijn of via een snelle netwerkverbinding naar wie maar wil de gegevens, wat kan betekenen dat er minder tijd en andere middelen worden toegewezen aan het afhandelen van netwerkverkeer en knelpunten. Dat is een veelvoorkomend verschijnsel in contentdistributienetwerken die worden gebruikt voor online media.
Schalen en parallellisme
Zodra gedistribueerde systemen zijn opgezet om gegevens over de betrokken servers te distribueren, kunnen ze ook gemakkelijk schaalbaar zijn. Als ze goed zijn ontworpen, kan het zo simpel zijn als het toevoegen van wat nieuwe hardware en het netwerk vertellen om het toe te voegen aan het gedistribueerde systeem.
Gedistribueerde systemen kunnen ook worden ontworpen voor parallellisme. Dit is gebruikelijk bij wiskundige bewerkingen voor zaken als weermodellering en wetenschappelijk computergebruik, waarbij meerdere krachtige processors kunnen onafhankelijke delen van complexe simulaties opsplitsen en het antwoord sneller krijgen dan wanneer ze ze zouden uitvoeren serie.
Gedistribueerde computeruitdagingen
Een grote uitdaging bij gedistribueerd computergebruik is dat het voor programmeurs moeilijk kan zijn om erover te redeneren. Er kunnen uitdagingen zijn bij het distribueren van gegevens om ervoor te zorgen dat onder verschillende onverwachte omstandigheden aan de veerkrachtvereisten wordt voldaan.
Als apparaten moeten worden gesynchroniseerd, kunnen er moeilijk te herkennen bugs zijn waardoor ze op elkaar moeten wachten om gegevens te verzenden of per ongeluk hetzelfde stuk gegevens tegelijkertijd te lezen of te schrijven, waardoor: fouten.
Beveiliging en privacy kunnen ook een probleem worden met gedistribueerde systemen, aangezien de gegevens van mensen worden opgeslagen op meerdere computers, soms op meerdere fysieke locaties. Gedistribueerde systemen kunnen voor sommige taken ook overkill zijn, omdat ze meer fysieke middelen en engineeringtijd gebruiken dan nodig is.