分布式数据库同步中间件系统的设计与实现
摘要:随着信息时代的到来,网络技术进一步发展和普及,基于分布式数据库的应用系统越来越广泛,像电子购物系统、银行管理系统等。在这些分布式应用中,通常会引入多个数据副本。如何保证分布式数据库中数据副本的一致性显得非常重要,也一直是数据库应用中的热门问题。
关键词:分布式数据库;同步中间件系统;设计
引言
针对分布式数据库系统中对等模式下副本一致性的问题,设计了一个基于中间件的数据库同步系统。该系统利用中间件实现数据库同步的目的,通过事务管理模块、冲突检测模块、通信模块、事务执行模块完成事务的捕获、分析以及对冲突事务的检测和处理。实验结果表明,由于冲突在本地得到检测和处理,与两阶段协议(2PL)相比,基于中间件的数据库同步系统降低了事务的响应时间,减少了不必要的通信,提升了系统的性能。
1相关技术及理论研究
1.1分布式数据库相关概述
1.1.1分布式数据库
分布式数据库是指将同一个数据系统存放在多个节点的数据库中,引入多个数据副本,并且各个节点的数据副本均能对同一个数据进行操作,因此保证所有节点的数据的一致性是确保系统正常运转的先决条件。分布式数据库给用户和系统带来了很大的便利条件,一方面,用户只需访问本地数据库,减少访问延迟时间和通信损耗,从而提高系统的使用性能;另一方面,多个数据库的同时使用会提高数据的吞吐量,并且系统不会因为某个数据库出现故障而瘫痪,增强了数据的实用性和系统的安全性。
1.1.2数据库同步
当一个数据库系统中同时存在两个或多个数据库,系统管理人员通过相关技术手段将其中一个数据库中的数据传输到另外的数据库,并能确保2个数据库中的数据完全一致,此操作过程称为数据库同步。其他数据库节点中的数据会随着发生改变的数据库而变化,确保数据的完整统一。
1.2数据库中间件技术
中间件技术是负责前端应用程序和系统之间传递数据的纽带,以实现稳定高效的目的。分布式数据库可借助中间件技术共享数据资源,它位于服务器操作系统之上,帮助用户灵活高效地开发复杂的应用软件。本文设计的同步中间件技术可有效达到系统预期效果,确保传输数据的同步性和一致性。
1.3XML技术
XML(可扩展的标记语言,extensiblemarkuplanguage)作为一种显示数据的语言,它以良好的数据储存格式、可延展性以及高度结构化的优点使数据在网络中进行无障碍的传输,并呈现给用户。通过XML转换格式,对传输的数据封装或解析起到至关重要的作用,并提高了系统的可操作性、安全性以及满足不断增长的应用需求。
1.4数据库系统转型升级路径浅析
数字化转型背景下,数据库迭代升级并非是简单地对传统商业数据库产品进行平行替换,而是要站在企业发展的战略高度,对业务、应用、技术架构等进行综合考量,以求能更好
地满足企业的可持续规模化发展需求。举例来说,对于部分传统的金融业务系统,由于其开发时间较早、熟悉代码的科技人员较少以及较为依赖成熟商业数据库特性等原因,金融机构往往会优先选择具有兼容特性的商业数据库进行直接替换,这种方法虽然可在短期内实现快速替换,但也使得技术债出现进一步堆积,金融机构对原有数据库的黏性没有减少,业务开发人员的习惯也并没有改变。与之相比,以分布式、云原生为代表的新技术则为数据库技术实现弯道超车做好了理论铺垫。近年来,伴随着数据使用场景的多元化,对于具有海量数据增长迅速、高并发读写、高峰业务弹性需求大等特点的金融业务系统而言,传统的集中式商业数据库已经无法支撑业务的高效发展,而从敏捷开发迭代、技术自主掌控、业务连续性等角度开展的评估结果来看,金融机构明显更倾向于选择分布式数据库实现架构跃迁,并以此在基础架构层面开辟自主创新道路。
2对等模式数据库同步系统的设计与实现
为了解决以上全局索引数量有限、高峰期写入事务RT抖动和资源占用集中度高等问题,本文中的全局索引设计为独立于主表的一套分片表,和主表的元数据独立,但是对于用户不可见。使用局限性小于主表的二级索引,行的长度没有限制,极端情况可以做成主表的聚
集索引(ClusteredIndex,也称聚类索引、簇集索引)完全覆盖主表字段,避免网络回表导致的性能衰减。其次,在提供对数据的事务性访问中,采用动态时间戳排序方式来提供可序列化,使得事务有更高的机会逻辑上可序列化的时间线。在传统的分布式数据库或者并行数据库环境中,一般采用计算和存储分离的架构设计,计算和存储之间采用以太网连接,但网络的传输速率远低于内存访问速率,而随着RDMA等高速网络技术的发展,网络传输代价大幅度降低。此外,随着非易失性存储设备的发展,将索引放到非易失性存储中并做索引结构的重新设计也成为研究的热点[22-24]。本文基于RDMA的低时延全局索引设计的分布式数据库系统的总体架构如图1所示。整体架构主要分为四个部分,分别为:1)计算集,由1到N个CN(ComputerNode,计算节点)节点组成;2)存储集,由1到M个DN(DataNode,数据节点)节点组成;3)管理集,核心模块主要包含GTM(GlobalTransactionManager,全局事务管理器)模块,MDS(MetaDataService,元数据服务)模块,以及本文新增的ClusterCache和ClusterMQ模块;4)本文新增的全局索引构建引擎IndexSinker模块,既可以单独部署,也可以采用与管理集合设的部署方式。本文的数据库架构中计算集和管理集之间采用RDMA连接,其余都采用25GE以太网连接。为了构建异步低时延全局索引新增加的3类节点的主要功能如下: ClusterCache:集
缓存,用来存储主表和索引表的LSN(logsequencenumber,日志的逻辑序列号)信息,TS(TimeStamp,时间戳)信息,以及Cache类型的KV索引。 ClusterMQ:集消息队列,用来缓存全局索引的数据,采用appendOnly模式,写入性能远高于直接写入DN节点的B+Tree数据结构。 IndexSinker:全局索引构建引擎,消费ClusterMQ的索引信息,以批量方式写入DN集,然后向MDS模块更新该索引的LSN点位信息。从应用角度看,事务对应的索引数据只要CN节点通过RDMA网络写入ClusterMQ之后就可以认为事务已经提交成功;而IndexSinker采用异步模式根据一定规则把MQ中的索引数据真正写入DN节点。我们设计的主要目的是为了降低事务的响应时延和系统负载。
隆中对译文3对等模式下分布式数据库同步协议
3.1基本思想
由于在分布式数据库中,副本数据存放在不同地方的数据库节点中,所以同一时间段执行的事务除了本地节点中提交的事务,还包含了所有远程节点上用户提交的事务的集合。要使分布式数据库中所有节点副本的数据达到一致,就需要从全局角度对同一时间段所有并发事务进行冲突检测和处理。若要对全局的并发事务进行检测处理,就需要将事务相互之
间按照统一的顺序进行传播,并进行判断处理。但是影响到数据副本一致性的只有写操作,而数据库事务中读操作又占有很大的比例。如果将所有的读写操作一起传播,会加剧系统通信消耗,影响系统的性能。因此本文通过事务处理模块,提取读操作和写操作,只将影响数据一致性的写操作进行传播,大大减少了通信消耗。
其他货币资金包括哪些3.2协议描述
当用户在本地节点提交事务T的请求时,同步中间件的各个模块发挥其功能,获取到事务并进行分析和执行。主要分为本地阶段、冲突检测阶段、发送阶段和执行阶段。
结语
本文介绍了分布式数据库系统中数据的同步模式,并设计了一种基于对等模式的分布式数据库同步系统。实验结果表明,相比两阶段锁策略,系统在保证各节点副本数据达到一致性的同时,消除了锁机制带来的不必要的阻塞,减少了通信消耗,在一定程度上提高了系统的性能。
怎么在网上订火车票>心烦意乱心情说说参考文献
[1]邵佩英.分布式数据库系统及其应用[M].2版.北京:科学出版社,2005.
[2]王珏.基于快照隔离的分布式数据库同步技术研究与应用[D].郑州:解放军信息工程大学,2012.
邓超演的爱情电视剧>男性健康食物[3]王成良,孙永红,杨斌,等.基于组通信技术的数据库复制技术研究与应用[J].计算机技术与发展,2013,23(5):108⁃112.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论