买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】支持灵活动态分片的分布式数据库系统及其实现方法_深圳九有数据库有限公司_202210673538.3 

申请/专利权人:深圳九有数据库有限公司

申请日:2022-06-14

公开(公告)日:2024-04-16

公开(公告)号:CN114925073B

主分类号:G06F16/22

分类号:G06F16/22;G06F16/23;G06F16/2453;G06F16/2458;G06F16/27;G06F16/28

优先权:

专利状态码:有效-授权

法律状态:2024.04.16#授权;2023.09.05#著录事项变更;2022.09.06#实质审查的生效;2022.08.19#公开

摘要:本发明提出一种支持灵活动态分片的分布式数据库系统及其方法,包括:(1)分布式数据库分为统一计算与小表存储层、分布式大表存储层;(2)数据库表分为大表和小表;小表数据存储在统一计算与小表存储层;大表数据存储在分布式大表存储层;(3)统一计算与小表存储层主处理节点功能模块包括小表存储管理器、分布式大表存储管理器、全局事务管理器、日志合并及逻辑复制管理器、动态分片管理器、SQL计算器、高可用管理器、热分片管理器等模块。本发明通过设计支持灵活动态分片的分布式数据库系统及其方法,支持分布式数据库的可扩展性、高可用性等特性,提高了分布式数据库多种复杂查询的效率,并且提高了分布式数据库的灵活性。

主权项:1.一种支持灵活动态分片的分布式数据库系统,其特征在于:分布式数据库分为统一计算与小表存储层、分布式大表存储层;数据库表分为大表和小表;所述小表数据存储在所述统一计算与小表存储层;所述大表数据存储在所述分布式大表存储层;所述统一计算与小表存储层主处理节点功能模块包括小表存储管理器、分布式大表存储管理器、全局事务管理器、日志合并及逻辑复制管理器、动态分片管理器、SQL计算器、高可用管理器、热分片管理器模块;分布式数据库系统节点分为主节点和副本节点;所述主节点包括统一计算与小表存储层的主处理节点和分布式大表存储层的主存储节点;所述副本节点包括统一计算与小表存储层的副本存储节点和分布式大表存储层的副本存储节点;所述统一计算与小表存储层的主处理节点和所述统一计算与小表存储层的副本存储节点均存储小表数据;每个小表的一份完整的数据存储在所述统一计算与小表存储层的单个节点上;所述分布式大表存储层的主存储节点和所述分布式大表存储层的副本存储节点都存储大表数据;每个大表的一份完整数据存储在分布式大表存储层的多个节点;对节点分组,组成节点组;所述主处理节点和所有主存储节点组成一组,称为主节点组;若干副本节点组成一组,称为副本节点组;一个副本节点组包含统一计算与小表存储层的一个副本存储节点和分布式大表存储层的若干副本存储节点;一个节点组存储数据库全部表的完整数据;主节点组上的表称为主表;副本节点组的组个数至少为2个;一个节点组的分布式大表存储层的节点数至少为2个;数据库支持表的动态分片,包括支持一个表的所述主节点组的表分片方式在数据库运行期间动态改变,即主表由一种分片方式改为另一种新的分片方式,所述主表仍然存储在所述统一计算与小表存储层或所述分布式大表存储层,包括情况如下:1一个表的所述主表数据存储在所述统一计算与小表存储层,由不分片改为一种新的分片策略,数据仍存储在所述统一计算与小表存储层;2一个表的所述主表数据存储在所述统一计算与小表存储层,由一种分片策略改为一种新的分片策略,数据仍存储在所述统一计算与小表存储层;3一个表的所述主表数据存储在所述分布式大表存储层,由一种分片策略改为一种新的分片策略;数据库支持表的动态分片,包括支持一个表由所述统一计算与小表存储层改到所述分布式大表存储层存储,包括情况如下:1一个表的全部数据存储在所述统一计算与小表存储层,存储由所述统一计算与小表存储层改到所述分布式大表存储层存储,所述表由小表变为大表,所述表的主表和每份副本由不分片改为一种新的分片策略;对所述表的不同副本设置不同的分片策略;所述表的主表的分片策略与所述表的其中一份副本的分片策略相同;2一个表的全部数据存储在统一计算与小表存储层,存储由所述统一计算与小表存储层改到所述分布式大表存储层存储,所述表由小表变为大表,所述表的副本的分片策略能设置为不改变,或设置为一种新的分片策略;所述表的主表的分片策略与所述表的其中一份副本的分片策略相同;数据库支持表的动态分片,包括所述副本节点组的表的分片方式在数据库运行间动态改变,情形之一为所述副本节点组的一个表的一份副本由一种分片方式改为另一种分片方式,所述表副本仍然存储在所述统一计算与小表存储层或所述分布式大表存储层,包括以下情形:1一个表的一份副本存储在所述统一计算与小表存储层,由不分片改为一种新的分片策略,副本仍存储在所述统一计算与小表存储层;2一个表的一份副本存储在所述统一计算与小表存储层,由一种分片策略改为一种新的分片策略,副本仍存储在所述统一计算与小表存储层;3一个表的一份副本存储在所述分布式大表存储层,由一种分片策略改为一种新的分片策略,副本仍存储在所述分布式大表存储层;以上改变由所述动态分片管理器管理实施,流程为:一个表的一份副本的数据需要改变分片时,停止对所述副本所在节点组全部表的查询与更新;由所述动态分片管理器通过管理针对所述副本的数据提取和数据重新分布,在所述副本所在节点组创建旧副本的一份新的分片策略的新副本;新副本创建期间,所述动态分片管理器与所述日志合并及逻辑复制管理器通信,获取并保存新副本所在节点组全部表在新副本创建期间需要执行的事务更新的日志;新副本创建完成后,将数据库表的旧副本替换为新副本,将相应的数据结构信息进行更新,并将表的旧副本移除;所述动态分片管理器根据新副本所在节点组全部表需要执行的更新日志,更新日志包括新副本创建过程的更新日志和完成创建后的同步期间的新增更新日志,管理实施新副本所在节点组全部表的更新,直至与数据库运行状态达到同步;达到同步后,所述动态分片管理器配合数据库其他相关模块,将新副本所在节点组全部表加入到运行的数据库系统中,即恢复对所述节点组所有表的查询与更新;数据库支持表的动态分片,包括支持一个表的所述主节点组的表分片方式在数据库运行期间动态改变,即主表由一种分片方式改为另一种新的分片方式,所述主表仍然存储在所述统一计算与小表存储层或所述分布式大表存储层,包括情况如下:1一个表的所述主表数据存储在所述统一计算与小表存储层,由不分片改为一种新的分片策略,数据仍存储在所述统一计算与小表存储层;2一个表的所述主表数据存储在所述统一计算与小表存储层,由一种分片策略改为一种新的分片策略,数据仍存储在所述统一计算与小表存储层;3一个表的所述主表数据存储在所述分布式大表存储层,由一种分片策略改为一种新的分片策略;以上改变由所述动态分片管理器管理实施,流程为:设置一个表的所述主表的新的分片策略;停止对所述表的一份副本所在的所述副本节点组全部表的查询与更新;由所述动态分片管理器通过管理针对所述副本数据提取和数据重新分布,在所述主节点组创建所述所述主表的一份新的分片策略的新主表;并在所述副本所在的副本节点组创建一份与所述主表新的分片策略相同的新副本;新副本创建期间,所述动态分片管理器与日志合并及所述逻辑复制管理器通信,获取并保存所述副本所在节点组全部表在新副本创建期间需要执行的事务更新的日志;新副本创建完成后,将数据库表C的旧副本替换为新副本,将相应的数据结构信息进行更新,并将所述数据库表C的旧副本移除;所述动态分片管理器根据所有副本节点组全部表需要执行的更新日志,更新日志包括新副本创建过程的更新日志和完成创建后的同步期间的新增更新日志,管理实施新副本所在节点组全部表的更新,同时对所述新主表实施与新主表相同分片策略的表副本的相同更新,直至与数据库运行状态达到同步;达到同步后,所述动态分片管理器配合数据库其他相关模块,数据库将所述主节点组的新主表替换对应的旧主表,数据库开始对所述新主表进行查询与更新;由所述动态分片管理器管理实施,将新副本的新分片策略改变为原来的分片策略,实现流程参考副本分片策略改变的流程。

全文数据:

权利要求:

百度查询: 深圳九有数据库有限公司 支持灵活动态分片的分布式数据库系统及其实现方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。