知识卡片

账本拆成六个数据库背后的读写分工

专业/工作 · 531.k

内容

Fabric账本不是单一数据库,而是按访问模式拆成六种:区块数据文件顺序追加保存所有历史区块(只写不改);状态数据库保存最新的”世界状态”供链码快速读取当前值;历史数据库记录每个键的历史变化供审计追溯;区块索引数据库支持按哈希/区块号/交易ID快速定位文件位置;隐私数据库单独保存隐私数据明文;transient隐私数据库只是Gossip协议分发隐私数据时的临时中转站,提交账本后即清理。把”顺序写的账本”和”随机读的最新状态”拆成两套存储,是典型的用空间换查询效率的设计——否则每次查询当前余额都要重放全部历史交易。

参考来源

《Hyperledger Fabric技术内幕:架构设计与实现原理》第1章《区块链基础与Hyperledger Fabric架构》