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

    公开(公告)号:CN102323946A

    公开(公告)日:2012-01-18

    申请号:CN201110259524.9

    申请日:2011-09-05

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

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

    公开(公告)号:CN102323946B

    公开(公告)日:2013-03-27

    申请号:CN201110259524.9

    申请日:2011-09-05

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

Patent Agency Ranking