If you are starting with Blockchain, very first question comes to your mind, what is the difference between Database and Blockchain ?. or How Blockchain is different from Database ?.
Common in Blockchain and Database ?
One thing, that is common in Blockchain and Database at very high level is that both are used to store some transnational data.
Now question comes why there is need to have Blockchain if we already have Database ?. What all features Blockchain provide that we don't have in database.
Let's understand that in this post and see the key differences between Database and Blockchain.
What is difference between Database and Blockchain ?
Database is a centralized storage maintained by database administrator. Anyone who has administration access or required access, can delete, update, insert and query the records.
Blockchain is decentralized storage maintained by peer network. No one can delete or update the records in Blockchain rather you can append or query the data. In Blockchain, data stored in block where block is linked to previous block.
|It is centralized storage||It is decentralized storage as this is peer to peer network and same information is replicated on each node|
|Delete, Update, Insert and Query operation supported||Only append and query operation possible|
|Data can be changed later point of time based upon the access||It is immutable, means we can't change the data once written to blockchain|
|Not highly available||Highly available as this is peer to peer network and there are thousands of nodes running across glob. In case one node goes down, that does not impact the network.|
|Data is not secured, anyone who has access can read the data and misuse that.||Data is secured with the help of cryptography and stored in secured manner|
|Data is stored without any consensus||
Data is stored after reaching consensus among the peer nodes in network
|Data stored in ordered/unordered flat files, ISAM, heap files, hash buckets, or B+ trees form||
Data stored in block where current block has reference to previous block