This article highlights key differences between World State Database (DB) and Transaction Logs which comprise the Hyperledger Fabric Distributed Ledger.
Hyperledger Fabric Distributed Ledger can be said to be a combination of World State Database (DB) and transaction logs. It requires invocation of chaincode (smart contracts) for interacting with distributed ledgers (world state DB and transaction logs). The transactions are stored in the block in the same sequence in which they occured and this is responsibility of ordering service to ensure the ordering sequence of transactions in the block.
|World State Database||Transaction Logs|
|Stores the chain’s state information in form of key-value pairs||Stores chain of blocks consisting of transaction details in form of sequence of transactions|
|Stored in database such as LevelDB or CouchDB||Stored as files in peer file system (local or attached storage)|
|Analogy: Classical Database such as RDBMS or NoSQL||Analogy: Write Ahead Logging (WAL)|
|Can be regenerated/recreated from transaction logs||—|