区块链的特有属性使数据可追溯、不可篡改的同时弊端也很明显,采用的分布式存储技术需要每一个节点保存一份数据库,存储成本高;网络中发生的每笔交易都需要其它节点认证和记录,处理速度慢;这让区块链的系统的存储效率相较集中式存储受到诟病。作为数字经济新型信息基础设施,区块链需面对全国乃至全球的用户带来的海量数据上链存储需求。

长安链从超大规模数据存储场景出发,推出 PB 级区块链开源存储引擎“”,英文名定为“Huge”,预计将在 2022 年底正式开源。泓在保证区块链系统中数据一致性和唯一性外还将具备:大规模、低成本、高性能、强隐私的特点。

效率成本兼容

采用混合式存储架构、数据分片、冷热分离等技术,具备海量数据存储能力,兼顾效率和成本。

1.混合式存储架构

区块链上存储的数据有多种不同读写特性,比如:区块和交易这类数据一旦写入就不再修改,且数据量大,适合采用文件存储,同时对文件中的数据项创建索引以方便查询;而状态数据需要频繁修改与查询,适合采用KV数据库或OLTP类(联机事务处理 Online Transaction Processing)的数据库;对于合约事件这类需要进行数据分析的场景,也可以采用OLAP类(联机分析处理 Online Analytical Processing)的存储系统;对于区块链以区块为单位的批量处理流程,我们采用预写式日志(WAL)加内存缓存的方式来优化存储效率。因此泓基于混合式的存储架构来实现。混合式存储需要解决多个不同存储系统之间的数据一致性问题,我们采用区块作为检查点,来实现不同存储系统之间的异常校验与数据自动恢复。

2.数据分片

要面向海量数据,区块链存储系统必须具备水平扩展能力,基于我们混合存储架构中的数据一致性管理能力,可以将区块数据拆分成更细粒度的数据项进行存储,使得系统中的不同存储组件都可以实现分片能力,可以兼容市面上常用的分布式存储服务,包括:分布式文件存储,分布式数据库等。

3.冷热分离

区块链要求数据可追溯,需要保存全量的历史数据,通过对数据进行冷热分级,可以兼顾性能和成本。对于近期写入的区块、交易、热点状态数据可以定义为热点数据,通过对热点缓存到内存中,来提升效率。对于某个区块高度之前(某个时间戳之前)的历史数据称为冷数据,冷数据可以归档转移到成本更低,容量更大的网络存储中。同时对冷数据可以通过去中心化文件存储(如IPFS InterPlanetary File System 星际文件系统 )进行共享,使得多个节点共用一套存储服务。如果热数据与冷数据比例为1:9,并且块存储和文件存储成本为3:1,那么用了归档,可以把90%的旧区块,归档到成本只有33%的文件存储中。从而节省60%的存储成本。在PB级场景中,一年节省600万以上的成本。

性能安全并进

泓面向大数据量采用多种方式提升数据处理性能及安全性,持续释放大数据价值。

1.两阶段提交,并行处理提升性能

存储模块不是一个独立运行的系统,需要和长安链共识模块、核心模块、虚拟机模块等配合,以组成一个完整的区块链系统。泓与长安链共识模块、核心模块、虚拟机模块等充分适配,在长安链共识产生新区块的过程中,存储模块采用“两阶段提交”,并行处理提升性能。

2.先写缓存后异步写入分布式数据库

为了提升写入区块的性能,同时保证读到已提交数据的事务隔离级别,长安链采用先写缓存后异步写入分布式数据库的模式。当一个新区块对应的数据需要写入数据库时,系统将数据写入内存中的缓存区域,并开启一个后台线程,按顺序将缓存区域数据写入数据库,此时系统便可正常返回,从而达到快速写和支持读已提交数据的要求。

3.交易ID过滤器,加速交易防重检查

提升交易查重性能方面,泓提供了3个过滤系统来实现交易查重,用户可以基于自己的场景自定义选配是否开启,配合使用会极大的提高交易防重检查的效率。

4.透明数据加密,保障存储安全

为了增强区块链落盘后的数据安全,应对硬盘被盗、黑客入侵系统或内部IT人员违规操作等情形,长安链提供了透明数据加密特性。该特性可以基于硬件密码机也可以基于软件加解密,区块链数据在落盘时自动加密,在读取数据时自动解密,增强了数据安全。

结  语

泓将在AIot、工业互联网、金融的大数据量的场景下发挥作用,也可以对元宇宙、web3等新技术场景提供支撑。泓包含10余个主要模块,预计将于2022年底正式开源,后续将对主要模块进行介绍。

PB级区块链开源存储引擎“泓”Huge相关推荐

  1. 京东区块链开源底层JD Chain版本升级,获工信部功能测试证书

    京东区块链开源底层引擎JD Chain自2019年第一季度正式开源后,得到了诸多企业研发人员.个人开发者的使用反馈.结合这些来自实际应用场景方面的宝贵意见,攻城狮们经过数月的努力,使得JD Chain ...

  2. 京东数科区块链开源底层JD Chain版本升级,获工信部功能测试证书

    点击「京东数科技术说」可快速关注 京东数科区块链开源底层引擎JD Chain自2019年第一季度正式开源后,得到了诸多企业研发人员.个人开发者的使用反馈.结合这些来自实际应用场景方面的宝贵意见,攻城狮 ...

  3. 破局行业“区块链孤岛”,百度发起成立国内首个区块链开源工作组

    10月15日,由开放原子开源基金会举行的"有你有我开源节" 开源技术研讨会暨深圳国际开源谷成立揭牌仪式"活动拉开帷幕. 国家工业信息安全发展研究中心副主任(原工信部信息发 ...

  4. 超千家企业和机构共建的区块链开源社区,助力区块链工科师资研修

    2016年,微众银行.腾讯.四方精创.深证通.华为.亦笔科技.神州信息.博彦科技和越秀金科等金链盟成员单位组建开源工作组,协作打造了一套国产安全可控的金融级联盟链底层平台FISCO BCOS,并于20 ...

  5. 你需要知道的MySQL开源存储引擎TokuDB

    在四月份的Percona Live MySQL会议上, TokuDB庆祝自己成为开源存储引擎整一周年.我现在仍能记得一年前它刚创建时的官方声明与对它的期望.当时的情况非常有意思,因为它拥有帮助MySQ ...

  6. 区块链开源实现fabric快速部署及CLI体验

    区块链开源实现fabric快速部署及CLI体验 2018年05月22日 09:53:41 阅读数:1359 标签: hyperledgerfabric区块链联盟链PBFT 更多 个人分类: 区块链技术 ...

  7. 区块链开源实现hyperledger fabric架构详解

    hyperledger fabric是区块链中联盟链的优秀实现,主要代码由IBM.Intel.各大银行等贡献,目前v1.1版的kafka共识方式可达到1000/s次的吞吐量.本文中我们依次讨论:区块链 ...

  8. 盘点10大热门区块链开源软件,你知道几个?

    越来越多的企业将开源软件作为其构建基础信息系统的重要选择,"低成本.安全性高.灵活自由.高可用性.协同性好--"一连串的技术优势,让越来越多的企业无法拒绝. 在区块链领域,又有哪些 ...

  9. 区块链 java 开源_详细介绍Java区块链开源代码背后的内容

    什么是Java区块链开源代码?它是一种分布式分类帐技术,将所有不同的属性放在一起.那么Java区块链开源代码就可以通过不同的共识机制,使所有添加的数据不变.2015年之前,估计大家都知道的区块链的申请 ...

最新文章

  1. js设置滚动条到div底部
  2. 阿里云对象存储OSS之通过URL形式进行图片处理
  3. Linux gcc/g++链接编译顺序详解
  4. 外卖小哥等餐被打,“成年人的崩溃,只在一瞬间”
  5. 用matlab的ADC和DAC过程,谈谈我理解的ADC和DAC
  6. 查看linux文件目录的大小和文件夹包含的文件数
  7. 不同系统的Single Sign On(单点登录)
  8. 当知识图谱遇上预训练语言模型
  9. 单片机跑马灯12种c语言程序设计,基于单片机多模式带音乐跑马灯设计附完整程序代码.doc...
  10. 在OpenFOAM中获取网格详细信息
  11. 通过tinyalsa中的tinymix来实现安卓通话录音的方法
  12. 盲目的相信——写在购买陆谷孙先生主编的《英汉大词典》之后
  13. 落日余晖,listview快速编写
  14. (纯小白)Python简单爬取图片
  15. python pyqtgraph绘图库-绘制图形
  16. ISO26262解析(十)——HSI
  17. mac系统清理优化软件iMacCleaner Mac中文版
  18. python中rouge是什么程序_rouge与pyrouge使用事项
  19. 有占空比的c语言中断程序,如何用51程序改变占空比
  20. qos pre-classify

热门文章

  1. 使用c#重绘凸出的3d边框
  2. ABBYY FineReader2023最新版本OCR文字识别软件PDF
  3. 自定义封装android语音播报库
  4. laravel8 + 腾讯云短信,发验证码
  5. java中编译错误为什么_java – 为什么这个instanceof代码工作并且不会导致编译时错误?...
  6. ABB机器人:基于现场通信方式向西门子PLC发送实时位置数据的方法
  7. LeetCode每日一题 - 速算机器人
  8. 三星android pay,华为pay与三星pay有什么区别 huawei Pay与samsung Pay哪个好
  9. AndroidStudio代码去掉无用资源
  10. epub格式怎么转换pdf 将epub转为pdf免费教程