BigchainDB项目及相关资料

其他链评论1,063阅读模式
摘要

BigchainDB是在一个企业级的分布式数据库上构建的,采用Tendermint共识,具有高吞吐量,大容量特性,全NoSQL查询语言支持。针对BigchainDB研究,整理相关资料。

一. BigchainDB架构与关键组件

1.网络架构

如下图所示,在BigchainDB中,每个节点拥有自己独立的mongodb数据库,节点之间的通信采用Tendermint协议。当节点本地的MongoDB数据库受到攻击时,其他节点的MongoDB数据库不会受到影响。

BigchainDB项目及相关资料

网络架构示意图

内容来自:https://docs.bigchaindb.com/en/latest/query.html

2. 服务组件

在BigChainDB网络中,每个节点必须包括BigchainDB Server、MongoDB Server以及Scalable storage for MongoDB。这些关键组件的关系如下图所示,其中BigChainDB server必须能够与所有mongod实例相连,所有的mongod之间相互连接组成分布式数据库。

BigchainDB项目及相关资料

单节点组件服务示意图

综上所述,BigchainDB是在一个企业级的分布式数据库上构建的,因此BigchainDB继承了高吞吐量,大容量,全NoSQL查询语言支持,高效的查询和权限管理。因此可以通过增加节点来增加吞吐量和容量。

二.源码

语言:Python

源码:https://github.com/bigchaindb/bigchaindb

三.共识:Tendermint(一种拜占庭容错)

BFT共识之Tendermint算法介绍:

https://blog.csdn.net/niyuelin1990/article/details/80537329

https://cloud.tencent.com/developer/news/217750

BigchainDB项目及相关资料

Tendermint框架

Tendermint框架由两部分组成:Tendermint Core以及ABCI (Application BlockChain Interface)。Tendermint Core也就是Tendermint的核心,是POS+BFT共识引擎。应用是指基于Tendermint Core的区块数据的具体应用。ABCI是Tendermint Core和应用间的接口。

四.智能合约

支持合约:ERC-20 (fungible token) or ERC-721 (non-fungible token)以太坊合约

https://docs.bigchaindb.com/en/latest/smart-contracts.html

五.存储结构——MongoDB数据库

MongoDB介绍:

https://www.cnblogs.com/clsn/p/8214194.html

MongoDB优点:

BigchainDB项目及相关资料

MongoDB的3大技术特色

除了上图所示外MongoDB还支持:二级索引、动态查询、全文搜索 、聚合框架、MapReduce、GridFS、地理位置索引、内存引擎 、地理分布等一系列的强大功能。

MongoDB缺点:

  • 多表关联: 仅仅支持Left Outer Join
  • SQL 语句支持: 查询为主,部分支持
  • 多表原子事务: 不支持
  • 多文档原子事务:不支持
  • 16MB 文档大小限制,不支持中文排序 ,服务端 Javascript 性能欠佳

六.基于MongoDB的大数据系统搭建

如果使用该链作为数据存储的底层,则大数据平台可采用MongoDB + Spark架构。

MongoDB + Spark方案:

https://blog.csdn.net/u011596455/article/details/77018202

七 其他

1.官方文档:

https://docs.bigchaindb.com/en/latest/

2. BigchainDB白皮书中文

https://blog.csdn.net/u010159842/article/details/79635694

3. BigchainDB分布式数据库分析

http://www.elecfans.com/blockchain/833231.html

4. 新型数据库区块链与人工智能

http://www.raincent.com/content-10-8273-1.html

FISCO BCOS证书与鉴权体系 BCOS

FISCO BCOS证书与鉴权体系

区块链之所以被称为“信任的机器”,是因为其通过密码学算法使各不信任的节点互相协作达到信任。这一理念在联盟链中的体现主要是基于PKI(公钥基础设施)建立证书体系,FISCO BCOS中的证书主要满足SS...