Fabric为什么用CouchDB

转载请注明出处:www.huamo.online
字节杭州 求贤若渴:

  1. https://job.toutiao.com/s/JXTdQaH
  2. https://job.toutiao.com/s/JXTMWW3
  3. https://job.toutiao.com/s/JXT1tpC
  4. https://job.toutiao.com/s/JXTdu6h

Why CouchDB

CouchDB是一种NoSQL解决方案。它是一个面向文档的数据库,文档中的字段都以key-value映射的形式存储在数据库中。字段可以是一个简单的key-value对list或者map。除了LevelDB支持的keyed / composite-key / key-range查询之外,CouchDB还能支持所有数据富查询的能力,比如相对于区块链数据的non-key查询,因为它的数据内容都以JSON格式存储并且是全部可查询的。因此,CouchDB可以满足chaincode,审计,以及在很多应用场景遇到的LevelDB不能支持的需求。

CouchDB还可以增强区块链中合规性和数据保护的安全性。因为它可以通过过滤和屏蔽事务中的各个属性来实现字段级的安全性,并且如果需要,可以只授权只读权限。

此外,CouchDB属于CAP定理中的AP类型(可用性和分区容错性)。它使用了一种具有最终一致性的主-主备份模型。更多详情可以参看Eventual Consistency page of the CouchDB documentation。然而,在每一个fabric peer中,并没有数据库备份,写数据库是保证一致并持久化的(不是最终一致性)。

CouchDBFabric第一个外部可插拔的状态数据库,并且可以也应该有其它外部的数据库选择。比如,IBM为它的区块链实现了关系型数据库。并且CP类型(一致性和分区容错性)的数据库可能也是需要的,以便在没有应用级保证的情况下实现数据一致性。

参考文章

  1. http://hyperledger-fabric.readthedocs.io/en/release/build_network.html#why-couchdb

转载请注明出处:www.huamo.online