【微杂志】系统数据存储与查询技术

科技工作者之家 2020-10-07

来源:龙城科普



系统数据存储与查询技术



目前,各种主流区块链系统的具体体系结构设计不尽相同,但基本可以划分为三大模块:数据存储模块、共识协议模块和查询处理模块。其中,数据存储模块在系统中主要承担区块链数据的持久化、数据的编解码与存取访问任务。底层使用的数据存储系统决定了数据存储模块的查询功能和读写性能。




基于 LevelDB的数据存储管理▼


目前,区块链系统的数据存储大多使用的是LevelDB。LevelDB是一种基于日志排序合并树的单机数据存储系统。随着硬件性能和传感器性能的提高,以及大数据时代的到来,相比过去人们在单位时间内可以获得更多的数据,新一代数据库面对的首要挑战就是在单位时间内保存和处理更大体量的数据。传统关系数据库系统的优化策略主要是通过维护索引结构和保证数据聚簇存储的方式来提高查询性能。这种策略需要在数据插入阶段执行多次随机磁盘读写来维护索引,以牺牲数据的写入速度为代价。


现代数据库的应用场景已经从单一的读密集型转化为读写并重。显然,传统数据管理系统难以应对单位时间内的大量数据写入。在大数据分析场景中,系统要处理的数据操作是成块数据的连续读写,传统数据库管理系统的查询优化策略并不能带来明显的性能提升。随着区块链系统中数据的增加和应用的扩展,往往需要处理频繁的查询,其底层存储系统的写性能过剩但是读性能不足,也成为了限制查询性能的主要瓶颈。为了处理这一情况,谷歌开发了针对写操作优化的新一代数据存储系统LevelDB。LevelDB系统具有极高的写性能。与传统的针对读优化的多路平衡查找树不同,这种结构的核心策略是:在数据写入阶段降低由于更新索引结构所产生的大量随机读写开销,在内存中完成固定大小的分片数据排序,然后将其一并写入磁盘;而后在后台将小的有序文件逐步合并为大的有序文件进而提高查找效率。





以数据存储应用的区块链▼


我们知道,传统互联网最大的优点就是:边际成本极低,任何一份数据都可以接近零成本的复制成千上万份。同时,传统互联网带来的最大问题也显而易见:中心化服务器权限过高,只要有权限就可以任意修改数据,账本数据不对节点公开,数据不可溯源等。而“区块链”技术有着传统互联网所没有的去中心化、不可篡改、透明、可溯源等特点。所有区块链结构相同,链上数据包括两部分结构,即区块体和交易数据字段。区块体数据主要由系统产生和维护。


“区块链”技术在近十年的发展过程中,逐渐向金融、科技、生活、生产和供应链等各个方面扩展。已经由以支付类应用区块链1.0阶段,发展到以智能合约应用的区块链 2.0 阶段,再到以数据存储应用的区块链 3.0 阶段。


由于区块链能够对于每一个互联网中代表价值的信息和字节进行产权确认、计量和存储,从而实现资产在区块链上可被追踪、控制和交易。其高冗余存储、去中心化、高安全性和隐私保护等特点使其特别适合存储和保护重要隐私数据,以避免因中心化机构遭受攻击或权限管理不当而造成的大规模数据丢失或泄露。所以,区块链的数据存储技术主要应用在包括了身份认证、公证、仲裁、审计、域名、物流、医疗、邮件、签证、投票等领域,并逐渐扩大到了整个社会,区块链技术有可能成为“万物互联”的一种最底层的协议。以区块链3.0的一个代表IPFS来讲,IPFS是星际文件系统的缩写,同时也是传统的互联网协议标准HTTP的竞争性协议。HTTP是传统互联网的底层协议,全称为“超文本链接传输协议”,主要是明确了服务器端和客户端之间的文件存储及传输的标准。作为HTTP的竞争性协议,IPFS 也规定了一些文件存储和管理的方式,但其管理方式有别于传统的中心化互联网络,而是以去中心化的P2P网络为基础的文件管理协议。


具体来讲,IPFS采用文件分片的方式把文件存储在不同的IPFS的节点上,具体存储和寻找数据时不像传统互联网那样通过IP地址+目录的地址寻址方式,而是采用文件的数字指纹的“内容寻址”的方式。这样由于可以多个节点同时存储或提取文件,相对于传统互联网只能在中心服务单点提取文件,效率将会极大提高。又因为每个文件通过分片的方式存储于不同的节点之中,拥有私钥的用户可以将这些文件分片组合成一份完整文件,这可以提升文件的安全性。通过“内容寻址”的方式可以让全网的文件统一管理,文件内容管理也才成为可能。


随着社会的发展和科技的进步以及信息化时代的到来,信息技术正以其迅猛态势渗透于社会的方方面面,改变着人们的社会空间和生活方式。有专家预言,将会有更多的人投入到IPFS生态之中,因为未来我们所有的人一定会由现实世界向虚拟世界迁徙,而迁徙的基础就是海量的数据。


权威数据显示,我们近两年的数据已经超过前20年数据的总和,数据已经呈现指数级井喷之势。这样的趋势下,在基础数据存储这个主航道上潜心研发的企业也会越来越多,势必加快数据存储的应用和普及。由此可见,随着IPFS技术的发展,随着IPFS生态不断扩大,未来IPFS网络可以成为当前HTTP传统互联网的补充乃至替代。


目前, 区块链系统只考虑了区块链中区块记录与交易记录中各个字段的查询与分析。未来需要将区块链上的一些半结构化数据纳入到查询中,例如智能合约的输入参数、运行结果以及用户自定义数据等。这要求底层数据存储系统能够支持半结构化数据的保存与管理。区块链技术也将会有更多的革命性变革,比如可编辑区块链技术、区块链分片技术等。未来的查询数据存储系统需要具有良好的可扩展性和前瞻性,即数据存储系统能够适应新技术的演化,而不需要大幅修改。


底层数据存储系统的特性很大程度上决定了区块链系统的查询功能与性能的上限。因此,未来区块链数据存储模块研究工作的重点在于:将数据存储模块进行有针对性的优化;针对半结构化的用户数据设计高效的存储与查询策略;引入分布式系统的设计原则,在底层存储系统上层设计辅助查询模块和一致性管理模块,以有效地保证查询处理的执行效率和有效性。





升级区块链存储技术▼


那么区块链4.0会是什么样子,跟前面三代区块链相比存储技术又有什么创新之处?


Multiversum,一个新的区块链平台,旨在推动区块链技术的大规模采用。虽然现有的区块链在复杂的数据组织中表现不佳,但第四代区块链解决方案可以适应现实生活组织的多方面变化。建立关系数据库,可以将存储在分类账上的各种信息之间建立联系,希望能够更有效地满足组织和政府的需求。


有趣的是,这个项目还尝试着对区块链中不可篡改的特征进行调整。它建议使用操作回滚功能进行编辑和更改,而不会影响相关区块链网络的透明度和可靠性。将生物特征信息结合到哈希和加密密钥中也为安全问题提供了一个有趣的解决方案。即使该项目专注于促进区块链技术的广泛使用,它也试图改进区块链技术的陈年老问题:低可扩展性。另一个第四代区块链项目正在尝试采用更简单的方法来实现更高的效率和采用率。根据其白皮书,它试图将空间元素纳入涉及区块链和时间的通常配置。新的分组算法旨在将节点以组划分以实现最大化效率,而另一种算法则负责移动挖矿。


基本上,第四代区块链正在开发为区块链即服务(BaaS)平台,以满足更多的工业需求。每个对等事务由小区块进行,每个小区块通过唯一分组算法基于空间和时间因素将512个节点组合在一起。这是一种解决效率和可扩展性问题的有效方法,引全新的创新方案 来解决现有问题并满足大规模需求。


第四代区块链存储技术,无论它看起来像什么,都不会是单调的。它将是多彩的,激进的,令人兴奋的和独特的。随着人们的探索之门打开,未来区块链必定给我们带来无限的惊喜。




END



来源:《计算机科学》

部分图片来源于网络



来源:longchengkepu 龙城科普

原文链接:http://mp.weixin.qq.com/s?__biz=MzA4MjcwMTcyNw==&mid=2651034727&idx=1&sn=bb1cfb3a267dbdb7ec1303a2a70ceae6&chksm=84768897b30101818fd4d3c5f3b257e569da258b81a66932b2c8afbe2db5ec048dcaea0545d5&scene=27#wechat_redirect

版权声明:除非特别注明,本站所载内容来源于互联网、微信公众号等公开渠道,不代表本站观点,仅供参考、交流、公益传播之目的。转载的稿件版权归原作者或机构所有,如有侵权,请联系删除。

电话:(010)86409582

邮箱:kejie@scimall.org.cn

大数据 区块链 数据存储 ipfs

推荐资讯