Tuesday, January 30

Does RDBMS tick all the check-boxes of a blockchain database for your system?

We know that Blockchain stores information in one immutable structure. Reliability, availability, and suitability are implicit characteristics of this decentralized database and multiple copies of data remain synchronized.
                         Just as cloud-based application services provide common functionality that allow developers to focus on key features to realize their applications, blockchain database incorporates data distribution, replication, synchronization, and update facilities, eliminating the need for developers to implement these features into each application. Storing all information in one place, allows for deploying a single suite of audit tools for reporting on all financial transactions as they are enriched by numerous applications during their processing.



Enterprises have been using  RDBMS like IBM DB2 and Oracle and would like to avoid another technology called blockchain if they can implement the same functionality & features using a existing database technologies. We know the strengths and weakness of RDBMS and we need to see how RDBMS can fit the blockchain use-case. If we have to use a database to implement say a Bitcoin use case where participating entities will either Read/Write and there is no requirement for updating or deleting rows from database then we can expect as very high improvement in the performance of a RDBMS.  Now add feature of partitioning to the database where you have option to partition a database by various parameters like transaction scope, day/week/month, partner_id and the resulting database will have even better performance for read and writes operations.
                                    So question to ask is why not implement a RDBMS database by designing it for blockchain use-case instead of investing in blockchain technology which requires additional investment and resources in terms of hardware, maintenance, security.

A partitioned distributed database system can perform the job of a Blockchain ledger and can be designed to give comparable or better performance than blockchain along with better reliability, availability and scalability. The following table highlights some key considerations that I could think of when I design a RDBMS database to support a Blockchain use-case



Lets take an automobile industry use-case. 

A car has a manufacturing defect that results in a part being replaced. The typical communication chain could follow the following pattern:
  • The car owner brings the car to the dealer to diagnose a problem
  • Car dealer inspects the car and notifies the manufacturer about the faulty part
  • Manufacturer works with the part supplier to determine where the fault lies
  • Part supplier and manufacturer agree that the part is faulty, then notify the dealer
  • Car dealer notifies the customer
  • Car owner brings the car back to the car dealer for part replacement
In this scenario, communication among the participants customer, car dealer, manufacturer, and part supplier can be delayed by incomplete information, so full and accurate responses along the chain are impossible. Second, all communication goes through email, telephone, or postal mail, and the customer has to visit the car dealership multiple times to have the part replaced, possibly being unable to use the vehicle until the car is repaired. This is a very shabby customer experience.

Now let’s look at the customer experience when blockchain style technology platform is implemented. In the same scenario, the communication chain will be as follows:
                                                                     

  • The IoT sensor automatically notifies the manufacturer, car dealer, and car owner about the defective part
  • Car dealer contacts the car owner and sets a service appointment for an inspection
  • Car owner brings car to the dealer for inspection, which confirms the faulty part
  • By now the information about the faulty part is already put on blockchain, which has by now notified all the parties – manufacturer, insurer, part supplier, car dealer, and owner
  • Manufacturer, dealer, and part supplier collaborate to analyze the car’s IoT sensors and dealer inspection report to identify where the fault lies
  • Manufacturer gives an instant approval for part replacement on blockchain, which automatically notifies all parties
  • Car dealer replaces the part and delivers the car back to the owner

When can we use Database with Blockchain design?

When all the participants of the transaction are known entities and registered in the system, Blockchain's universal availability feature is not going to be particularly useful here. What is useful from Blockchain is the concept of the immutable ledger , availability and notification to participants and it can be achieved by a traditional RDBMS.


No comments:

Post a Comment

Understanding Generative AI and Generative AI Platform leaders

We are hearing a lot about power of Generative AI. Generative AI is a vertical of AI that  holds the power to #Create content, artwork, code...