When to use blockchain? Will it be a replacement for DB?
After spending some time working with few blockchain platforms I thought of sharing few key points that would be useful for new comers.
I need to use simplest possible language in this article that everyone is able to understand.
Can we save data on blockchain?
Simple answer is yes. A transaction can contains data we need to save in a block in a chain. Ill write a separate article about using smart contracts to persist data in blockchain later on, stay tuned!
Is it same as DB storage?
DB is many more than just storing data. They have been evaluated from years to achieve optimal performance, support to filter and process data. Execute various support functions like triggers, analytics etc. Think about MS SQL server, Oracle or MySQL.
So why everyone care about blockchain then?
There are few very important reasons.
- Data immutability ( Once you store data no one can change it. Remember DB records can update :) )
- Decentralization / Destributed
The ultimate concept of blockchain is about decentralizing the data. The whole set of data can be store in my computer where as exact copy is in your computer at the same time. And we are connected in a chain. So If someone want to add a record to the copy in my version they need approval from you. Ultimately you and me agrees and we share the same new copy again.
Therefore security and safety is ensured while resolving single point of failure issue exists in traditional DB s.
Yes . Most of the popular blockchain platforms are reasonably slow in transaction processing. Because each and every transaction got to be validated before it add in to the block. So chains such as bitcoin and ethereum are reasonably slower. But there are new techniques being adding to blockchain space to improve transaction throughput such as sharding. Zilliqa is a good example. They use sharding technique to achieve maximum possible transaction speed/ throughput. So ethereum can only process 7–8 transactions / sec where as Zilliqa can process about 1000–7000 / sec.
Can we use blockchain for our new project?
We need to think, and re-think to answer this question. It is compromising leaving out your old DB that has been evaluated over the years with a relatively new technology provider ? So chose wisely. You can use blockchain only for the use cases it actually make sense.
Where you actually need data immutability, transparency or when highest grade security is prominent than performance factor.
You can always use both. Use relational DB for where it matters for usual operational transactions and integrate suitable blockchain solution for special use cases.
Get started with blockchain
I have started basic get started video series with Zilliqa blockchain. Have a look!
Hope this helps!