Blockchains og databaser har meget til fælles; til at begynde med bruges de begge til lagring af data, hvorfor du ofte ser begge udtryk dukke op, hvor der er en diskussion om blockchain-teknologi. Man kan endda sige, at blockchains er en type database uden at være helt forkert.
Blockchains og databaser er dog strukturelt og funktionelt forskellige fra hinanden. Så hvad er en database? Hvad er en blockchain? Og hvad er forskellen?
Hvad er en database?
En database er en samling af organiseret information, der lagres og tilgås elektronisk. Databaser administreres gennem et Database Management System (DBMS), som er den software, hvorigennem slutbrugere interagerer med databasen. Databasen, DBMS'et og alle andre tilknyttede applikationer omtales som "databasesystemer".
Databaser klassificeres efter deres design, dvs. hvordan de sorterer, organiserer og lagrer data. Databasedesign tager flere teknikker og praktiske overvejelser i betragtning, herunder datamodellering, effektiv datalagring og repræsentation, sikkerhed, privatliv og distribuerede computerproblemer, såsom fejl tolerance.
Der er flere typer datamodeller, herunder de hierarkiske, netværks-, objekt- og dokumentmodeller, med mest populær er den relationelle model, som arrangerer data i tabeller sammensat af rækker og tabeller kaldet "forhold."
Men bragt med fremkomsten af internettet oplevede 2000'erne en stigning i efterspørgslen efter store distribuerede databaser med høj partitionstolerance, hvilket var et problem for relationelle databaser. Som svar blev andre datamodeller, der kunne håndtere skalerbarhed bedre, populære, såsom NoSQL og NewSQL.
Selvom der er flere typer databaser, er der én ting, som de alle har til fælles. En administrator kører dem centralt gennem DBMS, uanset om de er distribueret eller ej, og administratoren har mulighed for ikke kun at læse men skrive.
Databaser har mange praktiske anvendelsessager, herunder inden for økonomi, telekommunikation og transport industrier og bruges til at holde bibliotekssystemer, flyreservationer, indholdsstyringssystemer og mere.
Hvad er en Blockchain?
En blockchain er ganske enkelt en distribueret hovedbog, som nogle kunne sige er en form for distribueret database. Og de ville ikke tage helt fejl. Da begge er et produkt af distribueret databehandling, deler blockchains og distribuerede databaser mange af deres underliggende teknologier.
Blockchains distribueres, fordi de ligesom distribuerede databaser ikke er placeret et enkelt sted, men på tværs forskellige noder, som er forbundet sammen gennem et peer-to-peer-netværk, hvilket praktisk talt gør det til et enkelt økosystem. Men det er så vidt deres ligheder rækker.
I modsætning til distribuerede databaser styres blockchains ikke centralt. I stedet fungerer blockchains som en decentraliserede peer-to-peer-netværk, med noder, der bekræfter og accepterer den aktuelle tilstand af blockchain gennem en konsensus mekanisme.
Blockchains gemmer data i form af "blokke", hvor hver blok indeholder en kryptografisk hash af den forrige blok, et tidsstempel og transaktionsdata. Endelig, når konsensus er nået, tilføjes nye blokke til blockchainen ved at forbinde dem sikkert sammen gennem kryptografi.
Selvom poster på en blockchain i teorien kan ændres, betragtes blockchains af nogle som sikker ved design og er et godt eksempel på et distribueret computersystem med høj partition tolerance.
Blockchain-teknologien udvikles stadig, og der bliver fundet mange nye use cases hver dag. Dens brugssager er som en digital hovedbog for kryptovalutaer, afvikling af smarte kontrakter, tokenisering af virtuelle genstande og forsyningskædestyring.
Hvad er forskellen mellem en database og en blockchain?
Selvom databaser og blockchains begge fungerer som datalagre, er de strukturelt og funktionelt forskellige fra hinanden, lige fra den måde, de opbevarer og organiserer data på, til den måde, de administreres på.
Blockchains registrerer data i form af blokke i modsætning til andre datastrukturer, der traditionelt bruges af databaser, og fordi de er decentraliserede, fjerner de behovet for en administrator. Af alle disse grunde beskrives blockchains bedst ikke som en database, men snarere som et datalager.