Blockchains and databases have a lot in common; to begin with, they are both used for storing data, which is why you often see both terms pop up wherever there is a discussion about blockchain technology. You could even say that blockchains are a type of database without being completely wrong.
However, blockchains and databases are structurally and functionally different from each other. So, what is a database? What is a blockchain? And what is the difference?
What is a database?
A database is a collection of organized information that is stored and accessible electronically. Databases are managed through a Database Management System (DBMS), which is the software through which end users interact with the database. The database, DBMS and other associated applications are referred to as “database systems”.
Databases are classified according to their design, i.e. how they sort, organize and store data. Database design takes into account several techniques and practical considerations, including data modeling, efficient data storage and representation, security, privacy, and distributed computing issues such as fault tolerance.
There are several types of data models, including hierarchical, network, object and document models, with the most popular being the relational model, which arranges data in tables composed of rows and tables called “relations”.
However, brought with the rise of the internet, the 2000s saw an increase in demand for large distributed databases with high partition tolerance, which was a problem for relational databases. In response, other data models that could handle scalability better became popular, such as NoSQL and NewSQL.
Although there are several types of databases, there is one thing they all have in common. An administrator runs them centrally through the DBMS, whether they are distributed or not, and the administrator has the ability not only to read but to write.
Databases have many practical use cases, including in the financial, telecommunications, and transportation industries, and are used to hold library systems, flight reservations, content management systems, and more.
What is a blockchain?
A blockchain is, simply put, a distributed ledger, which some might say is a type of distributed database. And they wouldn’t be entirely wrong. Since both are products of distributed computing, blockchains and distributed databases share many of their underlying technologies.
Blockchains are distributed because, like distributed databases, they are not located in a single location, but across different nodes connected through a peer-to-peer network, effectively making it a single ecosystem. But that’s as far as their similarities go.
Unlike distributed databases, blockchains are not centrally managed. Instead, blockchains operate as a decentralized peer-to-peer network, with nodes confirming and agreeing to the current state of the blockchain through a consensus mechanism.
Blockchains store data in the form of “blocks”, where each block contains a cryptographic hash of the previous block, a timestamp and transaction data. Finally, once consensus is reached, new blocks are added to the blockchain by securely linking them together through cryptography.
Although records on a blockchain can in theory be changed, blockchains are considered by some to be secure by design and are a good example of a distributed computing system with high partition tolerance.
Blockchain technology is still being developed, and many new use cases are being found every day. The use cases are like digital ledger for cryptocurrencies, settlement of smart contracts, tokenization of virtual objects and supply chain management.
What is the difference between a database and a blockchain?
Although databases and blockchains both act as data stores, they are structurally and functionally different from each other, from the way they store and organize data to the way they are managed.
Blockchains record data in the form of blocks unlike other data structures traditionally used by databases, and because they are decentralized, they remove the need for an administrator. For all these reasons, blockchains are best described not as a database, but rather as a data store.