Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Make World State View (WSV) backend modular and add new in-process WSV backend provider.


PROJECT SCOPE

HL Iroha currently uses a separate relational database (PostgreSQL) to store its state. That requires another process to start – so it takes resources and is not very efficient. This project aims to switch from a separate database to a module that would allow storing the state within the same process.

Also, the project aims to not only make the architecture neat but also on improving performance positively. The newly selected database must provide good in-memory cache with disk backed persistent state that can be reliably saved when the block is committed. Also, the database must able to hold big volumes of data which is larger than the RAM can hold.


DELIVERABLES

  •  Research on what key-value storage solution would work the best for storing WSV
  •  Approve the researched solution
  •  Refactor the code to decouple the storage and allow an easier way of changing it
  •  Execute the approved solution
  •  Research and analyse the performance affected by the decoupled storage.
  •  Create a configuration parameter to allow backward compatibility
  •  Documentation
  •  Testing


MILESTONES

  •   Complete the Research of finding the best storage solution and also get it approved
  •   Decouple the storage
  •   Execute the approved solution
  •  10 Aug Implement RocksDB block Storage.
  •   Write tests once Implemented solution is approved.
  •   Code Refactoring and Performace Analysis
  •  19 Aug Code Review and Testing
  •  20 Aug Documentation and discuss the future plans
     

...