复制库 区块链 区块链与分布式数据库:有什么区别?

入门知识 2周前 (09-16) 15次浏览 0个评论

简介

随着区块链技术的逐渐发展,区块链与分布式数据库之间的联系变得更加亲密和微妙。本文在 2021 ACM 数据管理大会上发表,从底层设计的角度分析了区块链和分布式数据库及其混合系统的分类。

首先,详细介绍了用于描述区块链、分布式数据库及其混合系统的分类方法:从复制、并发、存储和分片四个方面;然后,利用许可链仲裁和 Fabric,数据库 TiDB 和 etcd 设计了性能实验,并对实验结果进行了详细分析。最后,提出了一个可用于解释和评估混合系统性能的框架。

论文题目:区块链和分布式数据库:二分法和融合

作者:阮,田团安,Dumitre Rogan,,,,, Ben Chinoy

论文链接:区块链与分布式数据库 | 2021 年数据管理国际会议论文集

区块链和分布式数据库简介

从数据结构的角度来看,区块链是由哈希指针串联起来的区块链表,每个区块包含一系列交易;从系统的角度来看,区块链是一个分布式系统,由多个 节点共同维护全网一致的账本。

区块链可以分为授权链和非授权链。无牌链是完全开放的,每个人都有资格记账和读取数据,比如比特币和以太坊。权限链有一定的访问机制和权限控制,比如Fabric。虽然早期区块链的底层设计与数据库完全不同,但将智能合约应用到区块链后,用户可以自由部署和运行图灵完整代码,使得区块链堪比数据库。因此,本文对区块链与合约能力和数据库进行了对比研究。

分布式数据库是将数据存储在不同物理位置的数据库。多年来,传统的关系数据库一直是主流。由于大数据处理和硬件开发等实际原因,为了实现系统的高可用性和可扩展性,分布式系统开始演进。在这种新的设计趋势下,出现了 NoSQL 和 NewSQL。

为了增强系统的可扩展性,NoSQL 摒弃了传统数据库的关系模型和强酸性语义。 NoSQL有更灵活的数据存储结构,如键值存储、列存储、文档存储等。NoSQL的一致性较弱,可以实现最终一致性、顺序一致性或因果一致性。 NoSQL的设计更加灵活,但是增加了上层应用的复杂度。

NewSQL 是一种介于关系数据库和 NoSQL 之间的设计。它维护关系数据库的数据模型并支持 ACID 语义。同时具备NoSQL存储和管理海量数据的能力和扩展性。

下图显示了分布式数据库与许可链和无许可链的安全性和性能权衡。

类别

本文提出的分类方法如图所示。下面,我们将从四个方面一一介绍:

复制是一种在系统的多个节点上存储数据副本的技术。

从复制模型的角度来看,区块链复制了一个有序的事务日志。复制的单位是一个事务。事务包含应用程序级信息,例如事务上下文、签名和时间戳。 , 并且很容易验证。区块链和数据库中的“交易”一词都是指对底层数据执行的逻辑计算,是一系列操作。在区块链中,交易是以合约部署和调用的形式进行的,也就是我们通常所说的交易。例如,调用合约会导致对数据的一系列操作,这些操作是原子的,要么执行,要么不执行。完成后,系统状态会发生变化。

分布式数据库复制一个有序的读写操作日志,一次一个操作。如图所示,需要一个受信任的事务管理器进行协调。当复制单元是更细粒度的操作时,系统更方便实现并发。

从复制方法的角度来看,区块链和分布式数据库可以选择不同的方式来复制数据。本文将复制方式归纳为主备复制和状态机复制,其中状态机复制又分为共识协议和共享日志。

主备份复制是指其中一个主副本运行确定性状态机,而备份仅存储状态。主数据库通过处理操作计算一组新的应用程序状态,并按照它们生成的顺序将这些状态转发到每个备份。即主副本的整体状态实时传输到备服务器;状态机复制是为了让每个副本都实现一个确定的状态机。本质上,它维护每个副本上的操作或事务的有序日志。每个副本都从相同的初始状态开始,然后按照相同的顺序应用日志中的操作或事务。

基于共识协议的复制和基于共享日志的复制之间的区别在于,后者依赖于受信任的外部服务来提供共享日志,该共享日志在每个副本上执行此日志以更改状态。

从故障模型来看,区块链和分布式数据库有不同的故障问题需要解决,这决定了它们的共识层和上层应用的不同特性。

在分布式数据库中,节点属于受信任的内部系统,因此只需要容忍节点宕机。数据库通常使用 CFT(容错故障协议),如 Paxos 和 Raft。但是,在区块链中,所有节点都需要达成共识而不是相互信任,因此需要容忍节点的恶意行为。因此,区块链往往会使用更昂贵的 BFT(拜占庭容错协议),如 PBFT、PoW 等。

这是CFT和BFT协议在不同网络模型中需要达到的网络规模。同步网络是具有有限已知延迟的网络,而异步网络可能具有无限延迟。其中 f 是失败节点的数量。

让交易或交易同时执行更离谱。数据库中的并发控制技术一直是研究热点,良好的并发优化可以大大提高数据库系统的性能。然而,区块链中的交易通常是串行执行的,并发技术的使用并不多。主要原因是,在很多区块链系统中,交易执行并不是性能瓶颈。其次,交易的串行执行更简单、更安全,因为交易经常共享合约的状态数据。

它决定了存储系统中的数据存储机制。

在存储方式上,大部分数据库只存储最新的可以修改的数据。即使有历史信息,也只是作为节点故障恢复的日志;区块链存储所有历史数据并增量维护。

在索引方面,为了支持数据的正确性验证,区块链会使用Merkle Tree等数据结构来存储数据;分布式数据库更注重性能的同时,索引时会根据硬件的性质进行特殊优化。比如硬盘中的数据采用B+树数据结构存储,内存中的数据采用FAST或PSL结构存储复制库 区块链,对多核并行和缓存更加友好。

分片也是数据库领域的常用技术。它将数据分发到不同的分片中,分片中的节点对其进行处理,从而扩展系统或提高处理性能。

分片协议决定应该分配哪些分片节点和数据。数据库可以根据数据的哈希计算结果和数据的范围进行分片,而区块链更注重安全性,分片必须足够大,避免分片中的恶意节点数量超过安全性假设。此外,分片的分配机制不应受到节点行为的影响。

区块链第一个区块诞生_复制库 区块链_区块链论坛 区块链中文社区

分片的原子性要求跨分片的事务应该在所有涉及的分片中提交或中止,表现出一致的行为。在分布式数据库中,原子性通常由两阶段提交协议 (2PC) 保证,该协议依赖于受信任的协调器。但是,区块链中没有这样的协调器,因此将引入 BFT 协议来协调跨分片的交易。

最后根据分类方法对系统设计进行分析比较。

性能实验

在实验中,选择了 Quorum 和 Fabric 两个许可链系统,以及 TiDB 和 etcd 两个分布式数据库。

Quorum 是以太坊 Go 语言实现的一个分支,它为以太坊添加了交易和合约隐私、权限管理和基于 Raft 的共识机制。它以顺序执行的形式打包块。 Fabric是Linux基金会资助的全球合作项目中的一个子项目,其架构模型为执行-订单-验证; TiDB 是一个 NewSQL 数据库,继承了 MySQL 的大部分特性,由三个独立的模块组成:PD 用于协调集群管理,TiKV 用于 KV 存储、服务器解析和 SQL 查询的调度; etcd是NoSQL数据库,采用kv数据模型,事务限制宽松,注重可用性和一致性的权衡。

为了公平比较,所有系统中的每个节点都有状态数据的完整副本。对于 Fabric,交易由所有对等节点执行和签名,排序节点的数量固定为三个。仲裁和结构使用 Raft 协议。

实验从峰值性能五个方面,以及上述分类的四个方面,即复制、并发、存储和分片进行分析。

在峰值性能方面,区块链与分布式数据库的性能差距相当大。

在这里,每个系统都填充了 100K 条记录,每条记录的大小为 1KB。记录仅更新和仅查询工作负载下的吞吐量和延迟。 TiKV 作为 TiDB 的底层分布式数据库模块也参与了比对。

可以看出,NoSQL 的性能优于 NewSQL,因为它们不会产生支持 ACID 事务的开销。此外,TiDB 的吞吐量仍然比性能更好的区块链 Fabric 高 4 倍。可以看出,NoSQL 优于 NewSQL,因为它们不会产生支持 ACID 事务的开销。此外,TiDB 的吞吐量仍然是性能更好的区块链结构的 4 倍。

在复制方面,基于事务的复制模型影响系统的并发性,这是对系统性能的主要影响。

图 7 根据 Fabric 和 TiDB 的性能比较了基于事务和基于操作的复制模型的影响。除了比 TiDB 更高的延迟之外,Fabric 的延迟在系统饱和时也会显着增加。当请求率超过系统容量时,验证阶段成为瓶颈。纸张延迟的增加被认为是由于 Fabric 中的串行验证,其中块和块内的事务在提交之前顺序验证。

区块链论坛 区块链中文社区_区块链第一个区块诞生_复制库 区块链

图 8 显示了随着节点数量的增加,四个系统的吞吐量。其中,Fabric 的复制方式基于共享日志,其他的基于共识协议。结构的吞吐量随着节点数量的增加而降低。在实验中,观察到块验证的延迟增加。这是因为设置了签名策略,以便所有对等方都必须签署交易。 Quorum 使用 raft 协议,但其性能对节点数不敏感。这是因为 Quorum 的顺序执行架构,打包块的过程是顺序执行的。

图 8 显示了 Raft 和 IBFT 共识协议在仲裁中的吞吐量比较复制库 区块链,以分析不同故障模型对性能的影响。在较大的网络中,IBFT 的吞吐量方差较大,因为 IBFT 需要与比 Raft 更多的节点通信以避免主节点切换,恶意节点越多,主节点重选的概率越大,交易中断也更大。

在并发性方面,具有执行-命令-验证架构的区块链在高竞争和高度受限的工作负载下性能较低。

图 9 显示了偏差对性能的影响。每笔交易修改一条记录,记录的键值服从 Zipfian 分布,分布根据偏度系数 θ 变化。 θ越大,修改冲突的可能性越大,竞争也越大。可以看出,当竞争发生时,TiDB 的吞吐量急剧下降; Etcd 和 Quorum 串行执行事务,没有并发控制;而 Fabric 的性能下降了 31%,这是由于 Fabric 对读写冲突的乐观并发控制机制导致事务中止。此外,TiDB 的吞吐量下降与事务中止率的增加不成正比,因为它的锁存机制需要更多时间。

图 10 增加每个事务中的操作数,观察事务原子性对性能的影响。从左图可以看出,当每个事务的操作数增加时,Fabric、TiDB 和 etcd 的性能下降。说明操作多了会导致冲突,TiDB 的事务也可能跨越多个 shard;右图显示了 TiDB 和 Fabric 的事务中止率作为操作数的函数。 TiDB 中的事务中止主要是由于读写冲突,而 Fabric 中的读取不一致和读写冲突。读取不一致可能是由于需要预先执行和确认事务的对等方提交数据块的速率不同。

图 11 显示了记录(即要处理的数据大小)对性能的影响。从左图可以看出,几乎所有系统的性能都会随着记录数量的增加而下降。并且仲裁的吞吐量显着下降。右图分析了结构和仲裁的事务延迟细节。 Quorum 由于在提交阶段重建 MPT(Merkle Trie)数据结构而引入了哈希函数的开销,并且提议和提交阶段的延迟以相同的速度增加。由于 Quorum 的顺序执行架构,交易必须在封装区块的节点和其他节点上进行串行验证,然后才能执行。相比之下,Fabric 的串行处理只有一次。

在存储方面,区块链账本的抽象模型会带来很大的存储开销。此外,避免篡改状态数据所需的安全开销非常小。

图表显示了记录大小对存储开销的影响。由于 Fabric 中区块链账本链的抽象模型,Fabric 的存储开销远高于 TiDB。与Fabric中的MBT(Merkle Bucket Trie)和Quorum中的MPT相比,MBT的树结构规模是固定的,因此开销较小。

在分片方面,由于分片和周期性重配置的安全要求,分片区块链的性能远远落后于分布式数据库。

区块链第一个区块诞生_复制库 区块链_区块链论坛 区块链中文社区

这里使用了 TiDB、AHL 和 Wrench。 AHL 是基于 Fabric 的碎片化区块链,而 Spanner 是基于云的 NewSQL 数据库。如图 14 所示,当节点数量增加时,TiDB 的吞吐量高于 Spanner。这是因为 TiDB 一旦检测到冲突就会立即中止事务,而 Spanner 使用的是悲观并发控制机制,在事务冲突时竞争锁;为了获得更高的安全性,与使用固定分片的 AHL 相比,定期使用分片重新配置 AHL 会降低 30% 的性能。但是,由于PBFT协议的高成本和其他安全开销,AHL和数据库之间的性能差距仍然很大。

分析框架

在以上研究分析的基础上,文末提出了一个可用于分析和预测混合系统的框架,但仅以吞吐量作为评价指标。

可以看出,复制模型和故障模型对系统性能影响很大。基于事务的复制不如基于操作的复制那样并发,因此吞吐量较低。与BFT协议相比,CFT协议的网络开销更低。

‖总结

本文系统地讨论和总结了区块链与分布式数据库的设计差异,并提出了一种由复制、并发、存储和分片四个维度组成的分类方法。利用该方法,分析了现有系统的一些设计方向,并进行了相应的性能测试。实验结果显示了底层设计选择对性能的影响。最后,提供了一个评估和估计系统吞吐量的框架。整篇文章的工作完整而细致,有助于理解区块链与数据库的设计联系和区别,从更详细、有序的角度理解当前区块链与数据库融合的研究工作。

显示 107 个结果

打造人人向往的教育高地。市教育大会召开。

8日上午,第35个教师节将至,全市教育工作会议在东阳大剧院召开。市委书记傅显明强调,加快发展教育,背负着赶超东阳的重任……

继续阅读

扎克伯格穿着 Meta 的新头像:虚拟宠物,与虚拟教练一起锻炼。

来源:微信公众号“爱范儿”(ID:ifanr) 作者:邓楠 虽然Meta的不是……

继续阅读

区块链第一个区块诞生_复制库 区块链_区块链论坛 区块链中文社区

【高端专访】着眼长期价值,做“耐心资本”——专访广州产业投资集团董事长高东旺

1-6月,投资49.5亿元,同比增长12倍;营业收入257亿元,同比增长17%;利润总额15亿元,和……一样

继续阅读

文章导航

第 1 页第 2 页…第 36 页下一页

显示 316 个结果

武宁五派:心中的爱国,航程,航程

9月5日,武宁五中全体师生在操场上举行了隆重的开学典礼。奏国歌时,队歌响亮。募捐仪式结束后,胡主席发表了对暑期生活的感想……

继续阅读

央行:8月份人民币存款增加1.28万亿元,同比减少926亿元。

9月9日,央行发布2022年8月金融统计报告。数据显示,8月末,本外币存款余额258.66万亿元,一年- 同比增长……

继续阅读

NFT 市场继续分化:新金字塔正在形成

作者:韵律经过一年多的发展,NFT市场,一个交易量超过500亿美元的全新NFT市场……

继续阅读

文章导航

第 1 页第 2 页…第 106 页下一页

挖矿网Ethos中文站简单易用的挖矿系统,为挖矿产业提供教程软件以及矿机测评交易信息等,挖矿网各种数字货币挖矿收益对比计算,挖矿网介绍挖矿的工具,以及矿场的最新消息等。http://www.ethospool.com/

喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址