What is the difference between blockchain and conventional database?
Blockchain and database overview
First, a brief description of the blockchain and database.
Blockchain is a P2P (Peer to Peer) distributed ledger technology. A distributed network based on blockchain and distributed ledger technology does not require the presence of privileged nodes.
"A high availability and data identity are realized by having a data structure that uses a digital signature and a hash pointer to easily detect tampering, and that holds the data in a large number of nodes distributed on a network. We call technology a blockchain in a broad sense"
What is a database?
The database is a centralized ledger run by an administrator. You can read, write, update, and delete data for organizing, integrating, and utilizing data. However, this operation depends on the permission level given by the administrator.
In some cases, a distributed database is built for the purpose of backup and speeding up processing, but basically, the determination of transaction history and the processing order are managed and managed centrally by an administrator (central server). It has been decided. Therefore, database management is easy and transaction processing is fast.
However, in addition to the possibility of data corruption, when non-administrators modify already written data, other problems may occur, such as the inability to modify the data.
Let's compare the blockchain with the database. Since the blockchain is divided into two types, a permission type chain and a public chain, the three types are compared here.
Although it is collectively referred to as "permission type", "hybrid type" aimed at having both the advantages of the public chain and private chain, and operated in a state in which the management organization has been determined in advance , Multiple types, such as "Federated Types".
Let's pick up points.
The database is always centralized in system administration and can only be controlled by privileged administrators or users who have been assigned a role by the administrator. Controls are clearly defined according to authority and level.
Blockchain, on the other hand, is designed to operate autonomously and decentralized, without the need for privileged administrators. It may be difficult to use public chains such as bitcoin, given that companies use it. However, a permission-based blockchain that can control access to the network according to ID will be an option.
Traditional databases are based on a client-server model. This is a server-centric network, with clients acting as receivers. This model is an architecture that works in both small and large environments.
On the other hand, blockchain builds a P2P distributed ledger network. Since there is no central node for managing the network, anyone can participate in the consensus building process if only predetermined conditions are met.
Of course, the database does not need a consensus algorithm because there is an administrator.
Blockchains and databases are also very different when it comes to storing and processing data.
Traditional databases are pre-built with CRUD (Create, Read, Update, and Delete), four key features required for the application to work properly. A traditional database can add, update, or delete data depending on the situation.
In contrast, data on the blockchain has immutability. Blockchain data storage is write and read only. Once written, data cannot be erased or replaced. Therefore, the data on the blockchain is tamper-resistant.
Databases are not transparent because data is managed centrally. Data may be made public depending on the wishes of the administrator, but it is difficult for ordinary users to verify the integrity of the data.
In the case of blockchain, data transparency and verifiability can be ensured. If it is a public chain, it is open to the public so that anyone can view and verify the data. Permission-type chains also have falsification resistance using digital signatures and hashes. Therefore, you can verify the integrity of the data.
The performance of the blockchain is inferior to that of the database. This is because, in a distributed network, each node forms a consensus and performs the processing necessary to build a common ledger autonomously (such as the Bitcoin Proof of Work). It can be said that there is a trade-off between data reliability and transparency and processing power.
Since blockchain is a relatively new technology, there is still room for improvement in performance.
Finally, let's briefly sort out where databases and blockchains are suitable.
Databases are fast, and popular database management systems already exist. It is therefore ideal for enterprise solutions and networks. For example, conventional databases are suitable for systems such as stock exchanges that require high-speed processing.
Also, in systems that do not need to store confidential information or verify data, it can be said that using a conventional database is suitable.
Blockchain is suitable for ensuring data transparency and reliability, or when stakeholders want to build a distributed network on an equal footing. Blockchain-based systems are advantageous in situations where multiple stakeholders conduct transactions.
Examples include areas such as supply chain, inventory management, and distribution. It will also be suitable for voting systems that require data validation, and for automating operations using smart contracts.
However, unlike databases, blockchains are not suitable for systems that rely on relational data.
If you think about some kind of service and consider the use of blockchain, a common debate about “why blockchain”, if you have no experience in blockchain development, you can use “blockchain” or “existing blockchain”. I often think of it as a "database."
However, if you want to take advantage of blockchain in your service, you should consider using both instead of choosing one or the other.
The following cases are often seen as a combination pattern of the existing database and blockchain.
Converts data that would otherwise be changed to a hash value and writes it to the blockchain. In that case, only the hash value is written, so less data is handled on the blockchain. However, since the written hash value is difficult to falsify, the reliability of the data can be secured.
On the other hand, since personal information is required to be kept in a form that can be changed by law, it is stored in an existing database that can be changed.
At present, it is not realistic to put all data on the blockchain. However, by using it with an existing database, it is possible to build services while taking advantage of the characteristics of the blockchain.
It is important to consider how to handle and how to handle the data depending on the data to be saved.
In the case of blockchain, performance has to be reduced compared to the traditional database. At this point, databases are better for practicality, speed and accuracy.
On the other hand, the blockchain guarantees auditability and verification of data, and can be expected to automate business processes.
Databases and blockchains are technologies with different characteristics, but if you want to use blockchains, you should consider using both together.
...and you will also help the author collect more tips.