1 Orca框架结构
1.1 Orca与database的关系
图一 Orca与数据的关系图
1.2 Orca内部架构
图二Orca内部架构图
说明:图一和图二源自Orca: A Modular Query Optimizer Architecture for Big Da
2 基本对象
2.1 作业
2.1.1作业Job的概念
一个Job,可以包括如下类型。“class CJob”是个父类,
enum EJobType
{
EjtTest = 0,
EjtGroupOptimization,
EjtGroupImplementation,
EjtGroupExploration,
EjtGroupExpressionOptimization,
EjtGroupExpressionImplementation,
EjtGroupExpressionExploration,
EjtTransformation,
EjtInvalid,
EjtSentinel = EjtInvalid
};
2.1.2 作业链表
SJobLink,存放所有可以运行的作业。在CScheduler::PjRetrieve()中使用,为上层提供准备运行的作业。
2.1.3 作业队列
CJobQueue:Forces unique execution of an operation assigned to many jobs.
Class controlling unique execution of an operation that is potentially assigned to many jobs.
2.1.4 Job被使用的情况
2.1.5 Job使用其它对象的情况