并行数据库中算子复用的实现方法技术

技术编号:7071200 阅读:274 留言:0更新日期:2012-04-11 18:40
一种并行数据库中算子复用的实现方法,包括如下步骤:步骤1、使用普通的查询规划方法为查询生成串行的查询计划,所述查询计划是一个二叉树结构;步骤2、自顶向下扫描执行所述查询计划,寻找可复用的物化类算子,并更改查询计划结构,将线程级物化算子改为全局复用的物化算子;步骤3、对步骤2生成的更改后的查询计划进行并行化处理,生成用于多个线程并行执行的计划森林;步骤4、对步骤3生成的计划森林进行全局复用算子合并处理,生成用于可供多个线程并行执行且可复用物化算子的有向图计划;步骤5、各个线程并行执行所述有向图中的各自的计划部分,第一个执行到全局复用算子的线程称之为主线程,由主线程锁住该全局复用算子并真正执行该算子及其以下的计划,其他线程等待;步骤6、所述主线程执行完该算子之后解锁,其他线程开始从该全局复用算子中读取数据并继续各自的计划树;步骤7、所述主线程等待所有的计划都读取完毕全局复用算子的数据之后释放该算子物化的数据。

【技术实现步骤摘要】

本专利技术涉及一种数据库系统,尤其是涉及一种并行数据库的算子复用的实现方法。
技术介绍
随着信息技术的发展和普及,数据正在以指数速度迅速膨胀,处理海量数据越来越成为计算机领域面临的重要问题。数据库领域兴起的对0LAP、DSS、数据挖掘等的研究本质上都是对海量数据处理的研究。目前解决海量数据处理问题比较流行的技术是并行查询技术和集群技术。并行查询技术一直以来都是数据库领域的研究热点,学术界提出了多种并行查询的体系架构 Share-Everything (完全共享)架构、Share-Memory (共享内存)架构、Share-Disk (共享磁盘)架构以及 Siare-Nothing (无共享)架构。Siare-Memory 架构和 Siare-Everything 架构都会共享主存储器,进程或线程会通过内存交换数据。但是目前流行的Siare-Memory和 Share-Everything架构的并行数据库系统都是使用共享内存进行通信和数据交换,而没有利用多个并行进程或线程之间的算子复用。在基于分区的并行架构下,多个线程或进程独立的执行各自的任务,同一条查询语句的查询内并行往往是多个进本文档来自技高网...

【技术保护点】
1.一种并行数据库中算子复用的实现方法,包括如下步骤:步骤1、使用普通的查询规划方法,为查询生成串行的查询计划,所述查询计划是一个二叉树结构;步骤2、自顶向下扫描执行所述查询计划,寻找可复用的物化类算子,并更改查询计划结构,将线程级物化算子改为全局复用的物化算子;步骤3、对步骤2生成的更改后的查询计划进行并行化处理,生成用于多个线程并行执行的计划森林;步骤4、对步骤3生成的计划森林进行全局复用算子合并处理,生成用于可供多个线程并行执行且可复用物化算子的有向图计划;步骤5、各个线程并行执行所述有向图中的各自的计划部分,第一个执行到全局复用算子的线程称之为主线程,由主线程锁住该全局复用算子并真正执...

【技术特征摘要】

【专利技术属性】
技术研发人员:李阳何清法顾云苏冯柯蒋志勇徐岩饶路李晓鹏刘荣赵婧
申请(专利权)人:天津神舟通用数据技术有限公司
类型:发明
国别省市:12

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

1