System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种分布式数据库日志一致性模型性能优化方法技术_技高网

一种分布式数据库日志一致性模型性能优化方法技术

技术编号:40313897 阅读:8 留言:0更新日期:2024-02-07 20:55
本发明专利技术提出一种分布式数据库日志一致性模型性能优化方法,包括步骤1、提出一种改进的分布式MySQL数据库Binlog日志增量订阅方法;步骤2、改进日志依赖分析策略,依赖分析模块作为Binlog日志增量订阅方法的下游,负责根据自身的处理能力和负载定期从Kafka集群中消费数据,并进行相关处理,最后得到Binlog日志划分集;步骤3、将Binlog日志划分集交由一致性模型进行日志复制。上述分布式数据库日志一致性模型性能优化方法能够有效地提升分布式数据库场景下的日志同步效率,进而提升分布式数据库系统的吞吐量,降低系统延迟。

【技术实现步骤摘要】

本专利技术涉及分布式数据库管理系统,尤其涉及一种分布式数据库日志一致性模型性能优化方法


技术介绍

1、当下,随着信息技术的蓬勃发展,人们获取和产生的信息量都呈现出爆发式的增长。据国际数据公司idc(international data corporation)于2021年发布的数据,全球每天产生的数据量为28zettabytes(1zettabyte=1亿亿字节),同时这个数字将在未来几年内持续增长。因此,海量规模数据管理技术受到信息技术企业的重点关注,并成为其提高竞争力和效率的重要手段。在此背景下,越来越多的企业选择将数据管理和分析服务托管于云计算厂商,从而企业降低it基础设施建设和运营成本,并获得便捷的资源管理方式和更快的it服务响应时间,进而使企业更好地适应业务变化和发展的需求以提高业务效率和竞争力。根据gartner发布的数据,云计算市场的规模在不断扩大,预计到2025年,全球云计算市场规模将达到10万亿美元。然而,随之扩大的数据存储规模,也给云计算厂商的服务带来了严峻的考验。如何保证客户数据的安全性和服务的高可用性对于国内外各大云计算厂商而言均有重要意义。

2、为了保证敏感数据的安全和服务的高可用,通常会采用多副本机制。这种机制可以在多个地方保存敏感数据,以便在某些节点发生故障时,可以从其他节点获取数据并继续提供服务。多副本机制被广泛应用于各类分布式系统以及分布式数据库。而mysql作为最为常见的关系型数据库,其最初是作为单机数据库而设计的,但为了满足构建日益复杂的各类大型软件系统的需求,mysql也可以通过分片和复制等技术实现分布式架构。在mysql数据库的多副本方案中,最为常见的是其自身支持的基于binlog的主从备份复制方案,该方案支持多引擎模式,其仅需要同步binlog文件而不是整个数据库,从而减少了备份时间,提高了备份效率,节省了网络带宽。但该方案仍然有以下严重缺点:

3、(1)单点故障问题:当主节点故障或宕机后,集群将无法对外提供服务,从而严重影响系统的可用性。

4、(2)数据一致性问题:主库的数据在同步到从库的过程中,如果中途出现丢包、网络拥塞或者节点宕机等问题,可能会导致主从数据的不一致,从而危及业务运行逻辑。

5、(3)延迟问题:高并发场景下,由于binlog日志复制和重放的数据量过大,从库数据可能严重落后于主库,造成较高的服务访问延时。

6、(4)维护成本高:当主节点宕机或需要主动进行主从切换时,需要dba的人为参与,增加了系统维护成本。


技术实现思路

1、为了解决现有技术中存在的问题,本申请提出了一种分布式数据库日志一致性模型性能优化方法。

2、为了实现上述目的,本申请提出了一种分布式数据库日志一致性模型性能优化方法,包括以下步骤:

3、步骤1、提出一种改进的分布式mysql数据库binlog日志增量订阅方法;

4、步骤2、改进日志依赖分析策略,依赖分析模块作为binlog日志增量订阅方法的下游,负责根据自身的处理能力和负载定期从kafka集群中消费数据,并进行相关处理,最后得到binlog日志划分集;

5、步骤3、将binlog日志划分集交由一致性模型进行日志复制。

6、在一些实施例中,在所述步骤1中,改进的分布式mysql数据库binlog日志增量订阅方法的具体过程如下:

7、步骤101、使用canal工具模拟mysql主从备份,以增量方式拉取并解析binlog日志;

8、步骤102、使用kafka作为canal工具的消费源和数据缓冲,将canal工具解析的binlog日志保存到kafka集群中,等待下游的日志依赖分析模块进行消费。

9、在一些实施例中,所述步骤101的具体过程如下:

10、步骤1011、通过模拟mysql主从复制协议,将其自身作为mysql slave角色,向mysql master发送dump协议请求master主动推送binlog日志;

11、步骤1012、解析收到的二进制内容;

12、步骤1013、将二进制内容解析后的结果存储到本地内存中或者发送到其他数据源。

13、在一些实施例中,在所述步骤2中,所进行的相关处理具体过程如下:

14、步骤201、依赖分析模块定期从上游binlog增量日志订阅模块的kafka缓冲中拉取数据,根据数据中的table、type以及data字段,重构出代表单行修改的sql语句作为后续待同步的日志;

15、步骤202、依赖分析模块对接收到的来自上游的数据进行解析将其还原为针对单行修改的sql语句并保存在内存中;

16、步骤203、依赖分析模块按照基于单个个体的启发式模拟退火算法,将预定数量的连续的日志根据日志之间的依赖关系划分为binlog日志划分集。

17、在一些实施例中,在所述步骤203中,日志之间的依赖关系定义如下:针对分布式mysql场景,主库与从库之间通过同步binlog日志来保证集群数据库的一致性,而一个批处理请求就包含多条binlog日志,即涉及到不同行数据的修改;对于两个不同的批处理请求,如果其所涉及到的数据范围之间存在交集,将其称为存在依赖关系;对于存在依赖关系的两个批处理请求之间,只能是严格按照顺序执行,而对于不存在依赖关系的请求之间,则能够乱序执行。

18、在一些实施例中,所述步骤203中,日志之间的依赖关系的计算过程如下:给定数量为n的日志集合{log1,log2,…,logn}和待划分批处理请求数k,求一种binlog日志划分集,使得划分后的批处理请求ri之间的依赖强度d最小,i=1,2,…,k;同时,保证任意ri所包含的日志数量num不得小于批处理请求划分大小限定的最小值、不得大于批处理请求划分大小限定的最大值,即有minsize<=num<=maxsize,其中,定义系统两两存在依赖关系的数量为d,计算公式如下:其中c表示组合计算。

19、本申请的该方案的有益效果在于上述分布式数据库日志一致性模型性能优化方法,提出了一种改进的分布式mysql数据库binlog日志增量订阅方法,且引入了基于单个个体的启发式模拟退火算法来完成批处理请求的划分,引入的依赖分析模块能够有效地降低各批处理请求之间的依赖关联强度,并且程序运行效率较高,即使在客户端高并发请求的场景下也不会阻塞系统;本申请所涉及的方法能够有效地提升分布式数据库场景下的日志同步效率,进而提升分布式数据库系统的吞吐量,降低系统延迟。

本文档来自技高网...

【技术保护点】

1.一种分布式数据库日志一致性模型性能优化方法,其特征在于:包括以下步骤:

2.根据权利要求1所述的分布式数据库日志一致性模型性能优化方法,其特征在于:在所述步骤1中,改进的分布式MySQL数据库Binlog日志增量订阅方法的具体过程如下:

3.根据权利要求2所述的分布式数据库日志一致性模型性能优化方法,其特征在于:所述步骤101的具体过程如下:

4.根据权利要求3所述的分布式数据库日志一致性模型性能优化方法,其特征在于:在所述步骤2中,所进行的相关处理具体过程如下:

5.根据权利要求4所述的分布式数据库日志一致性模型性能优化方法,其特征在于:在所述步骤203中,日志之间的依赖关系定义如下:针对分布式MySQL场景,主库与从库之间通过同步Binlog日志来保证集群数据库的一致性,而一个批处理请求就包含多条Binlog日志,即涉及到不同行数据的修改;对于两个不同的批处理请求,如果其所涉及到的数据范围之间存在交集,将其称为存在依赖关系;对于存在依赖关系的两个批处理请求之间,只能是严格按照顺序执行,而对于不存在依赖关系的请求之间,则能够乱序执行。

6.根据权利要求5所述的分布式数据库日志一致性模型性能优化方法,其特征在于:所述步骤203中,日志之间的依赖关系的计算过程如下:给定数量为n的日志集合{log1,log2,…,logn}和待划分批处理请求数k,求一种Binlog日志划分集,使得划分后的批处理请求ri之间的依赖强度D最小,i=1,2,…,k;同时,保证任意ri所包含的日志数量num不得小于批处理请求划分大小限定的最小值、不得大于批处理请求划分大小限定的最大值,即有minSize<=num<=maxSize,其中,定义系统两两存在依赖关系的数量为d,计算公式如下:其中C表示组合计算。

...

【技术特征摘要】

1.一种分布式数据库日志一致性模型性能优化方法,其特征在于:包括以下步骤:

2.根据权利要求1所述的分布式数据库日志一致性模型性能优化方法,其特征在于:在所述步骤1中,改进的分布式mysql数据库binlog日志增量订阅方法的具体过程如下:

3.根据权利要求2所述的分布式数据库日志一致性模型性能优化方法,其特征在于:所述步骤101的具体过程如下:

4.根据权利要求3所述的分布式数据库日志一致性模型性能优化方法,其特征在于:在所述步骤2中,所进行的相关处理具体过程如下:

5.根据权利要求4所述的分布式数据库日志一致性模型性能优化方法,其特征在于:在所述步骤203中,日志之间的依赖关系定义如下:针对分布式mysql场景,主库与从库之间通过同步binlog日志来保证集群数据库的一致性,而一个批处理请求就包含多条binlog日志,即涉及到不...

【专利技术属性】
技术研发人员:乔学明汤耀来晓帅许明张东宁乔琳霏郭腾炫孔鹏郭聃刘子姣李玉文孔亮张祥坤陈豪李童心邢文青宿毛毛丛佳
申请(专利权)人:国网山东省电力公司威海供电公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1