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

在openGauss数据库上并行创建列存表btree索引的方法和系统 

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

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

摘要:本发明涉及btree索引创建技术领域,提供一种在openGauss数据库上并行创建列存表btree索引的方法和系统,包括:获取列存表的规模信息,根据列存表的规模信息和运行系统资源设置子线程并行创建的启动阈值和并发度;通过主线程创建上下文对象,根据列存表的规模信息对创建的上下文对象进行初始化;根据子线程并行创建的启动阈值和并发度启动对应数量的子线程,将初始化后的上下文对象分发给所述子线程,子线程根据接收的上下文对象执行列存表索引的创建;主线程通过上下文对象对每个子线程创建的列存表索引进行归并排序,获得完整的列存表索引。本发明可以在openGauss数据库上并行创建列存表btree索引,减少大量的开发工作,提高创建btree索引的性能。

主权项:1.一种在openGauss数据库上并行创建列存表btree索引的方法,其特征在于,所述方法包括:获取列存表的规模信息,根据列存表的规模信息和运行系统资源设置子线程并行创建的启动阈值和并发度;通过主线程创建上下文对象,根据列存表的规模信息对创建的上下文对象进行初始化;根据子线程并行创建的启动阈值和并发度启动对应数量的子线程,将初始化后的上下文对象分发给所述子线程,子线程根据接收的上下文对象执行列存表索引的创建;主线程通过上下文对象对每个子线程创建的列存表索引进行归并排序,获得完整的列存表索引;上下文对象包括任务调度信息和中间结果信息,其中,任务调度信息包括列存表索引列对应列的CU数据块总数、CU数据块起始cuid、CU数据块cuid计数器、保护CU数据块cuid计数器更新的锁以及子线程步长,中间结果信息包括每个子线程的运行状态信息和执行结果信息;通过主线程创建上下文对象,根据列存表的规模信息对创建的上下文对象进行初始化,包括:通过主线程从目录表中获取列存表索引key对应列的CU数据块总数和CU数据块起始cuid;根据获取的获取列存表索引key对应列的CU数据块总数和CU数据块起始cuid初始化一个CU数据块cuid计数器;创建用于保护CU数据块cuid计数器更新的锁并指定子线程步长;子线程根据接收的上下文对象执行列存表索引的创建,包括:子线程通过上下文对象中的CU数据块cuid计数器获取要处理的CU数据块起始cuid,原子地将CU数据块cuid计数器增加子线程的步长;根据要处理的CU数据块起始cuid和子线程的步长确定当前批次要处理的CU数据块;通过遍历每个CU数据块的cudesc记录获取CU数据块的位置信息,根据CU数据块的位置信息读取CU数据块;解析子线程所有读取的CU数据块并构建索引元组,对构建的索引元组进行排序,并将子线程的执行结果保存在上下文对象中;继续获取下一批要处理CU数据块,直到子线程完成所有执行,更新上下文对象的状态并结束子线程。

全文数据:

权利要求:

百度查询: 广州海量数据库技术有限公司 在openGauss数据库上并行创建列存表btree索引的方法和系统

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