本文是一篇计算机论文,本文重点提出了基于共识机制的关系型数据库同步方法,该方法结合了在区块链领域应用广泛的共识机制模块。提出基于Raft的快速共识模型,并实现共识机制,对数据库同步流程中的数据安全进行对称加密,并将密文上传到IPFS平台。
第一章 绪论
1.1研究背景及意义
数据库作为当今计算机计算发展和应用的关键技术之一,数据库主要是在各个领域承担着数据存储的作用,在这个信息化时代中,数据在激烈的社会竞争里有着关键性的决定作用。数据库技术的发展随着社会需求的变更也呈现多样化的趋势,尤其是大数据和云计算时代的到来,数据库也变得更加普及。由早期的层次化数据库到如今主流的关系型数据库都在不断的去顺应时代的发展。关系型数据库作为目前数据库产品中最重要的一员,能够更好的管理和存储数据。与此同时,大数据所带来的数据大量存储以及数据安全的需求与日俱增,分布式技术的出现也对数据库的发展提出了新的要求。对于分布式关系型数据库系统来说,关系型数据库的一致性是尤为重要的,如何有效的保障数据安全的同时也要保证数据库同步的一致性,因此关系型数据库的同步技术是一个重要的研究方向。
分布式异构系统的出现将关系型数据库系统进行了集合式管理,系统就可以实现数据的共享和透明访问,数据库同步主要是主从模式,选出系统中特定的关系型数据库作为主数据库,所有的写入操作都是由主数据库完成。从数据库承载着查询功能,同时从数据库也要通过消息中间件去订阅主数据库的操作变更,数据库的插入、修改以及删除操作都由主数据库完成。完成操作后,所有的数据都通过消息的模式发布到中间件中,从数据库订阅到消息开始执行。这种模式不足之处在于单点的问题,主数据库是关键的核心数据库,也是数据库同步的中心,当出现故障后就会导致整个异构关系型数据库系统瘫痪。除此之外主数据库也是恶意攻击者的主要目标。区块链技术的诞生给分布式系统带来了新的发展方向,去中心化的模式从根本架构上就解决了单点问题,同时每个节点都有着独立的账本,通过共识机制完成所有账本节点完成一致性共识,没有中心化的特殊节点。区块链系统中通过一个个虚拟“块”完成数据的一步步存储,任何“块”的生成都需要全网节点的共识,这里共识机制是多点一致性问题解决的核心。共识机制是指的在短时间内所有的数据记录参与者能够对某个数据的记录达成一致性的认可,同时这些认可的参与者都是利益不相干的关系,这样就是对这条数据记录的共识。因此通过以上综述分析,如何有效的将新技术共识机制应用到传统的异构关系型数据库来解决数据库同步问题是一个有价值的研究方向。
1.2国内外研究现状
1.2.1 关系型数据库应用现状
Jero Mario Schafer等人[1-2]介绍了基于去中心化关系型数据库系统的医疗信息系统的实现和基准测试。通过实现聚类(基于疾病术语的相似性)的实施增强了去中心化数据库系统,该聚类诱导了数据表的主要水平碎片和辅助表的派生碎片。使用基于群集的分段,可以确保基于相似性的查询回答的数据局部性,保证同步去中心化数据库之间的高效率,从而减少去中心化系统的数据查询重复率。
GubanovM等人[3]提出了一种对并行、去中心化关系型数据库系统优化方案,将可伸缩线性代数添加到诸如Spark这样的现代数据流平台中,则应将它们添加到系统更结构化(关系型)数据抽象之上,而不是直接在系统的原始数据流操作符之上构建。
Dean J等人[4]针对Spanner的特性进行优化,Spanner是Google的可伸缩、多版本、全球分布、同步复制的数据库。它是第一个在全球范围内分发数据并支持外部一致的去中心化事务的系统。Muzammal M等人[5]提出了一个区块链数据库应用平台,它具有区块链的分散性、分布性和可听性,以及去中心化数据库的快速查询处理和精心设计的数据结构。
1.2.2 数据库同步技术现状
Hossain 等人[6-7]对于分布式异构系统的数据库节点同步进行创新性优化,提出一种基于SQL查询的数据库同步方法,能够将DML和DDL语句进行双向捕捉并转化为标准的SQL语句;Zhang 等人[8]同样在不同的角度对分布式异构系统的数据库同步进行优化;Cui 等人[9]有针对性的对于网关的部署场景中,考虑数据转发的特性,提出一种基于SQL数据级可触发的关系型数据库同步方法;Liao G 等人[10]创新型的通过中间件的形式将数据库同步转化为前后端分离的操作,为保证数据同步的有效性对失败的数据进行重传操作;Lu 等人[11]同样提出一种基于中间件的数据库同步采用XML的形式,对数据库的增变的变化能够及时捕捉,同样以XML的形式传输,经过解析操作后到达所有目的节点,完成数据库同步流程。
第二章 共识机制及数据同步相关技术
2.1共识机制相关技术
共识机制是指在多主机的系统中,类似分布式系统多个主机节点通过一定的方式在短时间内对交易的验证和确认。这里的多个参与的主机之间通过异步的方式进行通信,因此对于多个主机的状态一致性就需要共识机制进行约束。如果对某个交易多个主机达成一致性的认可,同时参与主机彼此之间是利益不相干的关系,这完成了共识机制的流程。
当然对于分布式系统来说,多个节点间需要彼此通信相互组成一个完整的通信网络,同时受环境以及物理材料的影响,网络可能会出现拥塞,同时也可能会受到恶意攻击导致的错误信息的传播。因此需要确保在分布式系统内异步通信过程中定义一些默认不可靠的措施,也就是需要一定的容错协议,允许出现一定的恶意攻击情况下来保证各个主机之间达成可靠的共识状态。因此在区块链技术的去中心化账本中,首要解决的就是如何保证各个账本的数据一致性和正确性,这就需要通过共识算法进行支撑的共识机制来实现不同账本节点上的账本数据一致性和正确性。
2.2数据库同步技术
数据库同步技术主要指的是源数据库中数据的变化可以在短时间内同步到其他目的数据库中,让所有参与的数据库之间数据一致。对于每个独立节点的数据库来说,都能够尽快得到其他数据库的数据变化,并及时将数据变化应用到本地数据库,使得整体系统数据一致性得到保持。
数据库的同步主要针对数据库的结构特性从两个方面进行说明:数据库表结构和数据库表数据。数据库表结构的变化主要是表的新建、修改和删除操作,数据库表数据的变动是对表中数据的修改、创建和删除操作。
1)数据库表结构同步:如Alter、Drop等数据库操作语句,出现添加、创建、修改及删除表结构时,需要同步到其他数据库,这类表结构的操作在生成环境下并不是频繁性操作。
2)数据库表数据同步:如Insert、Update、Delete等数据库操作语句,首先针对特定的表中的数据进行增删改的操作,会直接影响表中的数据发生变化,因此需要同步到其他数据库中,此类操作是较为频繁的同步数据。
数据库同步技术可以根据同步的实时性分为两种同步方式:实时性同步和准实时性同步。具体的应用场景要根据实际的业务生产环境选择合适的同步方式。
第三章 基于共识机制的关系型数据库同步方法及技术研究 ............................ 13
3.1异构模式关系型数据库同步方法 ............................................ 13
3.1.1 异构模式关系型数据库同步架构.............................................. 13
3.1.2 异构模式关系型数据库同步流程............................................... 14
第四章 基于共识机制的关系型数据库同步平台设计与实现 ........................................ 30
4.1关系型数据库同步平台设计 ............................................... 30
4.1.1 关系性数据库同步平台架构模型设计 ....................................... 30
4.1.2 关系型数据库同步平台架构技术设计 ......................................... 33
第五章 基于共识机制的关系型数据库同步平台评测及应用 .................... 50
5.1关系型数据库同步平台测试环境配置....................50
5.1.1 关系型数据库同步平台测试环境配置 ...................................... 50
5.1.2 关系型数据库同步平台数据流程评测 ............................................ 51
第五章 基于共识机制的关系型数据库同步平台评测及应用
5.1关系型数据库同步平台评测
对基于共识机制的关系型数据库同步平台进行测试,首先需要确定开发及测试的硬件环境等相关配置,然后在此配置的基础上进行平台的流程测试和性能测试。
流程测试中首先确定数据库同步节点需要写入的数据,将写入的数据对本地数据库的变动同步到其他节点的整体流程是否符合预期。流程中各个功能环节能否满足要求,每个功能中的数据处理是否正确。
在性能测试环节中,需要对数据加解密、SQL操作、IPFS上传和下载和共识算法验证性能进行检测。通过消耗时间、TPS、传输速率等多个指标进行评估。
5.1.1 关系型数据库同步平台测试环境配置
首先明确同步平台测试使用的软硬件环境,含IPFS测试服务器,服务器和数据库节点的具体软硬件配置如表5-1所示。
第六章 总结与展望
传统的数据库同步在考虑性能及复杂程度的影响下都只保证同步数据的传输,加入消息队列等中间件的形式作为同步的异步缓冲。但对数据的传输安全、数据的有效性、一致性并没有过多的保障,在数据传输安全主要存在的难题是对加密手段的应用,如何减少复杂度的同时能够让通信的节点共同参与到加密技术中。在数据的有效性方面无法对恶意攻击导致的大量伪造数据的攻击采取有效措施,在数据的一致性方面异步数据库同步的手段只能做到单次同步数据的可靠送达,无法对所有节点的数据一致性进行管控。同时在需要数据库同步的场景下,多个数据库节点出现单点故障的可能性更大,如何对故障节点进行恢复后的数据一致性措施仍是待解决的问题。在此背景下本论文对共识机制的关系型数据库同步方法进行研究和应用。
本文重点提出了基于共识机制的关系型数据库同步方法,该方法结合了在区块链领域应用广泛的共识机制模块。提出基于Raft的快速共识模型,并实现共识机制,对数据库同步流程中的数据安全进行对称加密,并将密文上传到IPFS平台。IPFS作为整体架构的网络存储平台,提供加密密钥和全量DB文件的分布式存储。对数据库同步流程中的数据有效性加入共识机制来进行数据有效性验证,在数据库同步方法的数据一致性保证方面应用数据库事务实现的分布式事务保证全网数据库节点的数据的一致性。最后在数据库同步过程中应用基于关系型数据库特性的原生SQL语句封装同步,减少传统数据同步的方法的冗余点并提升性能。结合以上关键技术流程设计基于共识机制的关系型数据库同步方法。
参考文献(略)