Blurring the Lines between Blockchains and Database Systems: the Case of Hyperledger Fabric
文章目录
- 背景
- 两种模型
- order-execute
- simulate-order-validata-commit
- 优化
- 实现
- transaction recordering
- early transaction abort
背景
分布式数据库与区块链的最大不同之处:
传统数据库要求可信节点,区块链技术支持拜占庭节点。
两种模型
order-execute
先通过共识算法排序,然后各节点本地再执行。代表有比特币、以太坊等。
该模型存在两点不足:
无法并行执行
每个节点都要执行
导致无法扩展、性能低。
而分布式数据库很多年前就解决了这些问题。
simulate-order-validata-commit
并行模拟、后验证。代表有Hyperledger Fabric.
支持了并发执行,但是Hyperledger Fabric实现的不够好:大量的transaction被abort,导致tps低。
优化
作者采用了两种并发控制的优化手段对Hyperledger Fabric进行优化:
- transaction recordering
- early transaction abort(需要细粒度并发的支持)
为什么采用了这两种并发控制优化措施?
- 区块链都是以block的形式commit,有些优化是针对单独的transactions
- 区块链需要在每个节点复制数据,而传统数据库可能是单机的、或者每个节点负责一部分数据(sharding)
- 区块链的transaction在多个节点模拟,节点的状态可能不一致,而在数据库中,transaction只需要执行一次
- 区块链的性能瓶颈在加密签名、网络通信、信任验证。传统数据库的瓶颈在低级的组件,比如锁机制的使用。
已有的相关工作可以分为两类:一是提高吞吐量的,二是将aborted transactions变为successful transactions的
作者经过分析在区块链中只能采用第二种。
实现
transaction recordering
#1 强连通分量
#2 simple 环
#3 统计各点的环数
#4 去点,同时更新环数
#5 拓扑排序,逆序
early transaction abort
在模拟阶段或者排序阶段提前终止。
模拟阶段:
并行进行模拟和验证,模拟的时候读数据的时候要检查version,如果version大于last-version,说明在验证阶段数据被修改了,终止模拟,提前结束交易。
排序阶段:
如果同一个 block中的不同交易读取同一个数据的不同版本,那么说明两者模拟之间其他事务修改了数据,后者交易变为无效,不再对其进行排序,提前结束交易。
Blurring the Lines between Blockchains and Database Systems: the Case of Hyperledger Fabric相关推荐
- Blurring the Lines between Blockchains andDatabase Systems: the Case of Hyperledger Fabric(翻译)
Blurring the Lines between Blockchains and Database Systems: the Case of Hyperledger Fabric ABSTRACT ...
- Managing Non-Volatile Memory in Database Systems
Managing Non-Volatile Memory in Database Systems 一.背景及动机 1.几种场景的NVM存储方式 NVM-DIRECT 将nvm放到内存总线上,直接访问. ...
- 分布式事务2PC论文翻译(Concurrency Control and Recovery in Database Systems )
作者:Philip A. Bernstein, Vassos Hadzilacos, Nathan Goodman. 1987 原文:Concurrency Control and Recovery ...
- A First Course in Database Systems(数据库基础教程 第三版)课后答案——2.3.1\2.3.2\2.4.1
A First Course in Database Systems(数据库基础教程 第三版)课后答案--2.3.1\2.3.2\2.4.1 文章目录 2.3.1 2.3.2 2.4.1 数据文件 2 ...
- 《Hyperledger Fabric: A Distributed Operating System for Permissioned Blockchains》笔记
Hyperledger Fabric: A Distributed Operating System for Perm ...
- CMU Database Systems - Concurrency Control Theory
并发控制是数据库理论里面最难的课题之一 并发控制首先了解一下事务,transaction 定义如下, 其实transaction关键是,要满足ACID属性, 左边的正式的定义,由于的intuitive ...
- Hybrid Blockchain Database Systems: Design and Performance(VLDB‘2022)
目录 Abstract 2 background and related work 2.1 混合区块链数据库系统 2.2 账本数据库Ledger DB 2.3 总结 四.Performence ana ...
- CMU Database Systems - Sorting,Aggregation,Join
Sorting 排序如果可在内存里面排,用经典的排序算法就ok,比如快排 问题在于,数据表中的的数据是很多的,没法一下都放到内存里面进行排序 所以就需要用到,外排,多路并归排序 看下最简单的,2路并归 ...
- 全球名校AI课程库(12)| CMU卡内基梅隆 · 数据库系统进阶课程『Advanced Database Systems』
最新文章
- 黑马程序员——java语言基础——组合,关联,聚合的区别
- 算法导论第三版第十一章11.1-4
- 应用容灾中,MySQL数据表是否需要跨云同步?
- Java 8——接口中个的默认方法和静态方法
- (Object detection)目标检测从入门到精通——第二部分
- ​不容错过的 13 个 JavaScript 实用技巧!
- ios URLSchemes
- 2019全球最具颠覆性的17大公司
- Netapp存储日常检查及信息收集
- 计算机组装硬件配置清单,组装电脑配置清单
- Google企业邮箱申请
- “荣光医院”急救中心 73 问答
- iOS 视频播放(AVPlayer)
- elementUI分页删除最后一页数据时跳转回上一页并且el-table序号递增
- echarts地图下钻与回钻
- CAD制图怎么绘制对称的图形?
- 大数据人工智能领域从菜鸟到高手晋级指南
- windows11 安装Kibana
- biba和blp安全模型都是基于格的吗
- 基于FPGA的复杂的数字时钟设计(代码)