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

openGauss平台下二级分区表的构建方法和构建系统 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:广州海量数据库技术有限公司

摘要:本发明属于数据库管理系统和计算机软件技术领域,尤其涉及一种openGauss平台下二级分区表的构建方法和构建系统。本发明方法包括:扩展系统表pg_partition的表结构,从建表语句中获取到二级分区的相关信息,将获取到的二级分区信息存储到系统表pg_partition中;从系统表pg_partition中加载二级分区表的所有分区信息;根据数据或查询条件先获取一级分区,再获取该一级分区下对应的二级分区信息,然后对数据进行读写操作。本发明方法能够很好的克服openGauss系统一级分区表划分维度简单,对于包含多层次、大量数据的单张表存在的维护成本高、处理效率低的缺陷。

主权项:1.一种openGauss平台下二级分区表的构建方法,其特征在于,所述方法是在openGauss一级分区表的基础上,实现二级分区,具体包括以下步骤:步骤一:扩展存储分区信息的系统表pg_partition的表结构,从建表语句中获取到二级分区的相关信息,将获取到的二级分区相关信息存储到系统表pg_partition中,同时在系统表pg_partition中存储二级分区的数据字典,表数据实际存储在二级分区中;步骤二:从系统表pg_partition中加载二级分区表的所有分区信息;步骤三:当查询或处理二级分区表的数据时,先根据数据或查询条件获取对应的一级分区,再获取该一级分区下对应的二级分区信息,最后根据二级分区的信息对数据进行读写操作;所述步骤一还包括:(1)在系统表pg_partition中新增4个字段以存储二级分区相关信息,所述4个字段分别用于保存二级分区类型、二级分区键、二级分区模板和二级分区所属的一级分区信息;(2)根据二级分区表的语法规则,解析得到语法树,并从语法树中获取到二级分区相关信息,所述二级分区相关信息包括二级分区名、二级分区类型、二级分区键、二级分区规则信息和二级分区模板;(3)对获取到的二级分区相关信息进行合法性校验,包括:a.二级分区类型是否支持;b.二级分区键类型是否支持;c.各二级分区之间的规则是否正确,二级分区名是否重复;d.校验二级分区模板中的二级分区规则是否正确;(4)存储二级分区相关信息a.将二级分区相关信息由内存存储结构转换为表记录存储结构,以便最终将其保存到系统表pg_partition中;b.在系统表pg_partition中存储一条记录用于保存分区表的基础信息,除了一级分区相关信息外,还包括二级分区类型、二级分区键和二级分区模板;c.针对每一个二级分区在系统表pg_partition中都相应地插入一条记录以保存该二级分区的关键信息,所述关键信息包括二级分区名、二级分区类型、物理文件oid、表空间oid、所属的分区oid和二级分区规则;步骤二中从系统表pg_partition中加载二级分区表的所有分区信息,具体包括以下步骤:(1)二级分区信息结构体SubpartitionMap的设置:a.在保存分区信息的结构体PartitionMap中,新增一个SubpartitionMap字段,用于保存每个分区下对应的所有二级分区信息;b.结构体PartitionMap中每个一级分区规则信息PartElement对应一个二级分区信息结构体SubpartitionMap;(2)先按照原有流程,加载二级分区表的所有一级分区信息,其中信息都保存在分区信息的结构体PartitionMap中;(3)加载完一级分区信息后,根据一级分区规则对PartElement进行排序,然后按PartElement顺序加载每个一级分区对应的所有二级分区信息,包括:a.根据一级分区的oid,从系统表pg_partition中查询到该分区下所有二级分区的记录,从记录中获取二级分区的基本信息和规则信息;b.获取二级分区类型和二级分区的个数,保存到二级分区信息结构体SubpartitionMap中;c.获取二级分区关键信息,将其转换为内存存储结构后保存到二级分区信息结构体SubpartitionMap中;d.逐个获取二级分区的规则信息,处理后转换为内存存储结构,保存到SubpartitionMap-PartElement中;e.根据二级分区规则,对SubpartitionMap-PartElement进行排序;f.继续处理下一个一级分区的二级分区信息;(4)把所有一级分区的二级分区信息结构体SubpartitionMap都保存到PartitionMap中。

全文数据:

权利要求:

百度查询: 广州海量数据库技术有限公司 openGauss平台下二级分区表的构建方法和构建系统

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