一种分布式数据库二次分片方法、系统及设备和介质技术方案

技术编号:38755667 阅读:12 留言:0更新日期:2023-09-10 09:40
本申请公开了一种分布式数据库二次分片方法,包括:通过集中抽取各分布式数据库节点日志进行热点数据检测,基于预设热点规则,实时发现分布在各分布式数据库节点中的热点数据;针对实时发现的热点数据,根据预定义的二次分片规则,重新进行二次分片,获得二次分片后的热点数据;基于优化后的路由导航规则,将二次分片后的热点数据搬迁到目标分片上,并在搬迁中拉取持续搬迁二次分片的增量数据,实现不中断业务进行二次分片,业务无感知。每个分布式数据库节点中动态均衡分布热点数据。本申请还公开了一种分布式数据库二次分片系统。请还公开了一种分布式数据库二次分片系统。请还公开了一种分布式数据库二次分片系统。

【技术实现步骤摘要】
一种分布式数据库二次分片方法、系统及设备和介质


[0001]本申请涉及一种数据库处理方法,特别涉及分布式数据库二次分片方法及其系统。

技术介绍

[0002]当前,数据库作为基础核心软件之一,进入了一个飞速发展的时代。目前分布式数据库产品和解决方案,包括如Oceanbase、GaussDB、TiDB、GoldenDB、SequoiaDB等。
[0003]为满足新形势下铁路高质量发展的新需要,有力支撑铁路客运和货运业务持续提升,作为面向旅客和货主的铁路生产和经营服务系统,面对铁路客货业务领域超大规模并发访问和高可靠的业务场景,对相关信息系统在业务处理高效、数据完整一致等方面提出更高的要求,亟需提升数据库在海量数据环境下的高并发、低时延、连续性、可靠性等的整体能力。
[0004]目前现有技术研究过程中发现按照既有分布式数据有既有分片策略不够灵活,图1为当前数据库的使用状态,如图1所示,铁路运输有着特有的生产规律和周期,按照既有分布式数据库的一次分片容易产生热点数据,比如在铁路客票车次席位数据,可以按照车次哈希分片,数据均衡的存储在各个分片上,但是在客运高峰,如春运初期,北京、上海、广州、深圳、成都、武汉始发车次为热门车,春运后期,西安、天津、郑州、哈尔滨、青岛、无锡始发车次为热门车次。
[0005]因此,亟需提出一种分布式数据库二次分片方法及其系统,可以根据热门数据的集中和周期性变化,实现一种动态的二次数据分片机制,可灵活、实时的对热点数据进行监控、迁移及重新路由,形成一种均衡数据请求的数据分片机制,解决现有技术中的既有分片策略不够灵活,无法捕捉由于热点周期变化而实时产生的热点数据的技术问题。

技术实现思路

[0006]本申请实施例提供了一种分布式数据库二次分片方法及其系统,解决现有技术中的既有分片策略不够灵活,无法动态捕捉由于热点周期变化而实时产生的热点数据,造成数据分片负载不均衡的技术问题。
[0007]第一方面,本申请实施例提供了一种分布式数据库二次分片方法,方法包括:
[0008]热点检测步骤:通过集中抽取各分布式数据库节点日志进行热点数据检测,基于预设热点规则,实时发现分布在各分布式数据库节点中的热点数据;
[0009]二次数据分片准备步骤:针对实时发现的热点数据,根据预定义的二次分片规则,重新进行二次分片,形成分片规划;
[0010]动态数据搬迁步骤:基于二次分片规划,将二次分片后的热点数据搬迁到目标分片上,并在搬迁中拉取保存二次分片的增量数据,并在全量同步完毕后,持续同步增量数据,直至原分片与新分片数据一致,并形成新路由导航规则,实现热点合理分配,每个分布式数据库节点中动态均衡分布热点数据。
[0011]本专利技术实施例中,上述分布式数据库二次分片方法,进一步包括:
[0012]数据均衡步骤:通过负载均衡算法动态调节各个节点的负载,实现各节点的工作量及并发处理能力均匀分配。
[0013]本专利技术实施例中,上述热点检测步骤进一步包括:
[0014]预定义热点规则步骤:针对铁路专用分布式数据库各节点中热点数据定义热点规则,热点规则包括:预设时间内被访问次数超过阈值的数据;某车次访问次数大于车系席位数预设倍数以上的数据;或者数据请求日常响应时间达到预设倍以上的数据判定为热点数据;
[0015]铁路数据热点检测步骤:在铁路专用分布式数据库中通过抽取数据库日志异步检测热点数据,日志包括:预写日志及审计日志。
[0016]本专利技术实施例中,上述二次数据分片准备步骤进一步包括:
[0017]预定义二次分片规则步骤:预定义二次分片规则,二次分片规则包括:自定义字段或者采用复合主键的其他字段、或者既有分片键同业务维度细粒度的业务字段,业务字段包括:热门车次、车厢、热门时间点、热门目的地、热门坐席的其中之一或其中之一的任意组合。
[0018]本专利技术实施例中,上述动态数据搬迁步骤还进一步包括:
[0019]分片步骤:根据二次分片规则,按照业务字段对应的自定义分片数据大小,将热点数据进行二次分片,并将二次小分片的数据搬迁到冷点分片上;
[0020]数据增量步骤:将二次小分片在搬迁过程中进行数据增量同步,将迁移分片的数据库日志抽取数据的操作保存在消息队列中,在搬迁完毕之后,将保存在消息队列的数据操作,在新分片上顺序执行回放,直至数据变动的源节点与目标节点的数据一致,则增量完毕。
[0021]本专利技术实施例中,上述动态数据搬迁步骤进一步包括:
[0022]根据预设的分布式数据库中路由规则,将热点数据进行重新分发,路由规则为:按照首次分片业务字段与二次分片业务字段的组合值和热点数据所在的节点之间的影射关系,对数据进行重新分发。
[0023]第二方面,本申请实施例提供了一种分布式数据库二次分片系统,采用如上所述分布式数据库二次分片方法,系统包括:
[0024]热点检测模块:通过集中抽取各分布式数据库节点日志进行热点数据检测,基于预设热点规则,实时发现分布在各分布式数据库节点中的热点数据;
[0025]二次数据分片准备模块:针对实时发现的热点数据,根据预定义的二次分片规则,重新进行二次分片,获得二次分片后的热点数据;
[0026]动态数据搬迁模块:基于优化后的路由导航规则,将二次分片后的热点数据搬迁到目标分片上,并在搬迁中拉取保存二次分片的增量数据,并在全量同步完毕后,持续同步增量数据,直至原分片与新分片数据一致,并形成新路由导航规则,每个分布式数据库节点中动态均衡分布热点数据。
[0027]本专利技术实施例中,上述分布式数据库二次分片系统,系统进一步包括:
[0028]数据均衡模块:通过负载均衡算法动态调节各个节点的负载,实现各节点的工作量及并发处理能力均匀分配。
[0029]第三方面,本申请实施例提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的分布式数据库二次分片方法。
[0030]第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的分布式数据库二次分片方法。
[0031]相比于相关现有技术,具有以下突出的有益效果:
[0032]1)本专利技术方法实现热点数据检测,通过日志准实时监控数据使用情况,并且不会对数据库产生压力和负载;
[0033]2)本专利技术方法实现二次分片,可以根据数据压力灵活调整数据分片,减少通用分布式数据库固定分片带来的存储均衡和请求均衡失衡问题;可以灵活调整请求均衡和数据存储均衡之间的平衡;
[0034]3)本专利技术方法实现动态数据搬迁,在二次分片之后,将部分热点数据迁移过程中,首先将分片数据迁移到目标分片,并迁移过程中拉取保存迁移分片的增量数据,在迁移完成之后,进行追加,直至迁移分片在源节点和目标节点上的数据一致。
附图说明
[0035]此处所说明本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式数据库二次分片方法,其特征在于,所述方法包括:热点检测步骤:通过集中抽取各分布式数据库节点日志进行热点数据检测,基于预设热点规则,实时发现分布在所述各分布式数据库节点中的热点数据;二次数据分片准备步骤:针对实时发现的所述热点数据,根据预定义的二次分片规则,形成二次分片规划;动态数据搬迁步骤:基于所述二次分片规划,将二次分片后的热点数据搬迁到目标分片上,并在搬迁中拉取保存二次分片的增量数据,并在全量同步完毕后,持续同步增量数据,直至原分片与新分片数据一致,并形成新路由导航规则,实现热点合理分配,在每个分布式数据库节点中动态均衡分布热点数据。2.根据权利要求1所述分布式数据库二次分片方法,其特征在于,所述方法进一步包括:数据均衡步骤:通过负载均衡算法动态调节各个所述节点的负载,实现各所述节点的工作量及并发处理能力均匀分配。3.根据权利要求1或2所述分布式数据库二次分片方法,其特征在于,所述热点检测步骤进一步包括:预定义热点规则步骤:针对铁路专用分布式数据库各节点中热点数据定义热点规则,所述热点规则包括:预设时间内被访问次数超过阈值的数据;某车次访问次数大于车系席位数预设倍数以上的数据;或者数据请求日常响应时间达到预设倍以上的数据判定为所述热点数据;铁路数据热点检测步骤:在所述铁路专用分布式数据库中通过抽取数据库日志异步检测热点数据,所述日志包括:预写日志及审计日志。4.根据权利要求1或2所述分布式数据库二次分片方法,其特征在于,所述二次数据分片准备步骤进一步包括:预定义二次分片规则步骤:预定义所述二次分片规则,所述二次分片规则包括:自定义字段或者采用复合主键的其他字段、或者既有分片键同业务维度细粒度的业务字段,所述业务字段包括:热门车次、车厢、热门时间点、热门目的地、热门坐席的其中之一或其中之一的任意组合。5.根据权利要求1或2所述分布式数据库二次分片方法,其特征在于,所述动态数据搬迁步骤还进一步包括:分片步骤:根据所述二次分片规则,按照所述业务字段对应的自定义分片数据大小,将所述热点数据进行二次分片,并将二次小分片的数...

【专利技术属性】
技术研发人员:李杨戴琳琳阎志远单杏花刘相坤单新茹李晓楠段应杰李雁明苗凡王智为吕占民
申请(专利权)人:中国国家铁路集团有限公司中国铁道科学研究院集团有限公司电子计算技术研究所北京经纬信息技术有限公司
类型:发明
国别省市:

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

1