Uit de cursus: Basisprincipes van blockchain

Traditionele client-server computing heroverwegen

Uit de cursus: Basisprincipes van blockchain

Traditionele client-server computing heroverwegen

- Om de basisprincipes van hoe blockchain-technologie werkt te begrijpen, moeten we eerst de basisprincipes van een database in een clientserveromgeving behandelen. Als je al weet wat een traditionele relationele database is en hoe deze werkt, kun je overwegen deze video over te slaan. Ik denk echter dat iedereen kan genieten van een korte inleiding over het onderwerp. In principe is een database software waarin we bestanden en records op een computersysteem opslaan en beheren. We kunnen deze items opslaan. Ik noem ze voortaan gewoon data op een gestructureerde of ongestructureerde manier. Laten we eerst eens kijken naar een gestructureerde database. Ik gebruik het voorbeeld van een contactendatabase, een plek waar we de namen en telefoonnummers van mensen opslaan. Om een persoon en zijn telefoonnummer in de database te vinden, wordt een bepaalde softwarecode uitgevoerd om de database te doorzoeken en het juiste resultaat te retourneren. Goed ontworpen databases kunnen miljoenen, zelfs miljarden records doorzoeken en een resultaat retourneren, vaak in een fractie van een sectie. In een gestructureerde database worden de gegevens op een georganiseerde en logische manier opgeslagen. Stel je even kolommen en rijen voor. In elke rij staat de voor- en achternaam van een andere persoon en zijn telefoonnummer met elk afzonderlijk stuk gegevens in zijn eigen kolom. We noemen dit een databasetabel en omdat deze items een logische relatie tussen elkaar hebben, krijgen we de term relationele database. Laten we nu eens kijken naar een ongestructureerde database. Het is eigenlijk het tegenovergestelde van een gestructureerde database in die zin dat er geen consistente en georganiseerde structuur bestaat. Opmerkelijk is dat de meeste gegevens die vandaag worden verzameld, in een ongestructureerd formaat zijn. Sommigen zeggen dat het zo hoog is als tussen de 80 en 90% van alle gegevens. Overweeg alle gegevens die worden verzameld en opgeslagen op sociale mediaplatforms en e-mails en andere online documenten. In tegenstelling tot de voorspelbaarheid van een gestructureerde contactdatabase met voornaam, achternaam en telefoonnummer in rijen en kolommen, moeten deze ongestructureerde systemen allerlei gegevens beheren. In Facebook kunnen berichten bijvoorbeeld verschillende lengtes en soorten tekst bevatten en foto's, video's en muziek bevatten. Gelukkig heeft een gezond ecosysteem van providers tools gecreëerd om ongestructureerde data heel goed te beheren. Zowel gestructureerde als ongestructureerde databases vormen de basis van bijna alle computersystemen die vandaag de dag bestaan. Of het nu gaat om de interne systemen van een organisatie voor bijvoorbeeld financiële boekhouding of klantcontactinformatie, of voor populaire commerciële diensten die worden aangeboden door uw bank, Amazon of Google, het zijn databases die alle inhoud voor elk van deze opslaan en beheren. De databases die ik heb beschreven, bevinden zich meestal op een krachtige centrale computer met toegang tot aanzienlijke opslag. Het kan zich in een datacenter in een bedrijf of bij een externe provider bevinden. Laten we deze blokken gebruiken om dit ontwerp te illustreren en het vervolgens te contrasteren met een ander ontwerp. Dit blok in het midden vertegenwoordigt een centrale server. Deze blokken die de server omringen, noemen we dan clients. En ze hebben toegang tot de gegevens op de centrale server. Dit is clientserverarchitectuur. Deze clients kunnen laptopcomputers, smartphones, tablets en andere apparaten zijn. Waar we hier naar kijken, is een gecentraliseerde architectuur met al het databasebeheer op één plek. Laten we eens kijken naar een ander ontwerp. In plaats van een centrale server, deze nieuwe blokken die ik in het midden plaats, zal het equivalent van verschillende servers allemaal alle, gedeeltelijke of unieke gegevens bevatten die zich op slechts één centrale architectuur zouden hebben bevonden. Clients hebben toegang tot gegevens zoals normaal, vaak onbewust dat de gegevens gedecentraliseerd zijn en verdeeld over systemen. Dit ontwerp is complexer dan een gecentraliseerd systeem, maar het verbetert de prestaties en heeft een betere ondersteuning voor storingen. Dat komt omdat een gecentraliseerd systeem technisch gezien een single point of failure heeft. Laten we ten slotte eens kijken hoe clienttoegang wordt beheerd in deze traditionele databaseomgevingen. In alle gevallen zijn er mechanismen om bepaalde mensen specifieke toegangsrechten te geven. Met het ene toegangstype kan een gebruiker alleen informatie in de database opzoeken, terwijl een ander type schrijfbewerkingen kan inschakelen om gegevens toe te voegen of te verwijderen. In elk geval waarin rechten worden verleend aan een gebruiker, is er een autoriteit die deze rechten biedt. Een snel voorbeeld kan hier echt helpen. Stel je een universitair systeem voor dat cijfers van studenten bevat. Professoren kunnen cijfers invoeren en wijzigen, maar studenten kunnen alleen cijfers bekijken. Een systeembeheerder zou die toegangsrechten toewijzen en beheren aan professoren en studenten. Deze vereenvoudigde uitleg van databasebeveiliging komt organisaties over het algemeen goed van pas. Maar het heeft beperkingen. Wat gebeurt er bijvoorbeeld als iemand die niet bevoegd is bepaalde rechten verkrijgt en toegang krijgt tot een database. Afhankelijk van het toegangsniveau kunnen ze records maken, lezen, bijwerken en verwijderen, wat allerlei problemen veroorzaakt. Het gebeurt vaker dan we zouden willen. Studenten zouden bijvoorbeeld hun cijfers niet moeten kunnen wijzigen. Wat je al snel zult ontdekken, is dat een blockchain in de kern een nieuw type database is met een specifieke netwerkarchitectuur. Het maakt gebruik van de positieve elementen van een traditionele database en vindt andere elementen opnieuw uit om bestaande uitdagingen het hoofd te bieden. Wat duidelijk zal worden als we doorgaan in deze cursus, is dat blockchain bij het herontwerpen van deze systemen een volledig nieuw platform voor innovatie creëert.

Inhoud