Orca优化器--基本结构和基本对象

来源:互联网 发布:长春干部网络学校 编辑:程序博客网 时间:2024/05/29 15:52

1 Orca框架结构

1.1 Orca与database的关系

 
Orca优化器--基本结构和基本对象 - 那海蓝蓝 - 那海蓝蓝的博客
 

图一 Orca与数据的关系图

 

1.2 Orca内部架构

Orca优化器--基本结构和基本对象 - 那海蓝蓝 - 那海蓝蓝的博客
 

图二Orca内部架构图

 

说明:图一和图二源自Orca:A Modular Query Optimizer Architecture for Big Data

 

2 基本对象

2.1 作业

2.1.1作业Job的概念

一个Job,可以包括如下类型。“class CJob”是个父类,

                     enumEJobType

                     {

                            EjtTest = 0,

                            EjtGroupOptimization,

                            EjtGroupImplementation,

                            EjtGroupExploration,

                            EjtGroupExpressionOptimization,

                            EjtGroupExpressionImplementation,

                            EjtGroupExpressionExploration,

                            EjtTransformation,

 

                            EjtInvalid,

                            EjtSentinel= EjtInvalid

                     };

2.1.2 作业链表

SJobLink,存放所有可以运行的作业。在CScheduler::PjRetrieve()中使用,为上层提供准备运行的作业。

2.1.3 作业队列

CJobQueueForces unique execution of an operation assigned to many jobs.

 

Class controlling unique execution of anoperation that is potentially assigned to many jobs.

 

2.1.4 Job被使用的情况

Orca优化器--基本结构和基本对象 - 那海蓝蓝 - 那海蓝蓝的博客
 

2.1.5 Job使用其它对象的情况

 

Orca优化器--基本结构和基本对象 - 那海蓝蓝 - 那海蓝蓝的博客
 

 

0 0