因为良好的追加写入性能,从比特币到以太坊再到Hyperledge的Fabric,都选用了LevelDB作为存储方案,这个很好理解。
Fabric除了LevelDB以外,还提供了一个选项是CouchDB。以前一直比较好奇选择CouchDB的理由是什么,今天有时间查了一下相关的资料。
先上图:
简单来说,跟MongoDB一样,CouchDB是一个文档类型的NOSQL,不同的是,它在CAP中选择的是AP。在联盟链这种多中心语境下,关心A跟P是顺理成章的事情。在Fabric中,CouchDB负责存储的是World State,文档型的NoSQL可以存储复杂的数据类型,不需要预先定义schema,自然是不二之选。
网友评论