前言
区块链的全复制、扩展性等问题,使得业务向链上迁移会考虑采用两层设计,有基于区块链的合约层和链下拓展层,链下层承担扩展链上能力。在两层系统中,业务的存证或者协调数据在链上,链下拓展层会保存完整数据内容,并参与业务计算。
随着业务的持续,链下节点的数据会逐渐累积,越来越大,数据的增长速度甚至会超过存储介质容量增长的速度,而不得不为节点提供更大的高性能磁盘,当数据增长突破容量限定后会影响系统性能与业务持续性;链上合约层,当状态数据数据累积到一定数据量级会导致系统吞吐量下降、链上数据查询变慢,服务质量下降。
另一方面,双层系统无法和一般的数据存储系统(MySQL存储系统)一样进行“select-insert-delete”式的归档。合约数据涉及多个业务参与方,链上数据和链下的锚定、关联关系不能被破坏等约束。
为解决这些问题,我们对两层系统的数据归档进行了一定的实践,当合约层以及拓展层数据停止改变或不被频繁使用时,对其进行迁移,减少合约状态数据、让出拓展层节点主存储空间,提升系统的性能和服务质量。
原文链接:https://mp.weixin.qq.com/s?__biz=Mzg2MDA2NzQwNw==&mid=2247489997&idx=1&sn=89e7dfab69cccfa40e3d9052fde567c8&chksm=ce2d5aedf95ad3fb25c5a84837478b711955150a671bd16bf15d12918359b63beab8e2ea0d88&token=357269438&lang=zh_CN#rd
什么是数据归档?–