1 / 43
文档名称:

OceanBaseSQL物理运算符详细设计.docx

格式:docx   大小:85KB   页数:43页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

OceanBaseSQL物理运算符详细设计.docx

上传人:陈潇睡不醒 2018/4/19 文件大小:85 KB

下载得到文件列表

OceanBaseSQL物理运算符详细设计.docx

相关文档

文档介绍

文档介绍:OceanBase SQL物理运算符详细设计
编号
文档版本
修订章节
修订原因
修订日期
修订人
1

新建文档
2012/4/24
竹翁
天官
2

增加Distinct运算符;HashGroupBy中增加对支持count(distinct)的说明
2012/4/24
竹翁
3

增加集合运算符;增加外排或Hash桶转储时的外存文件结构描述;MergeDistinct功能由Sort运算符实现;讨论后的其他细节修订;各内存结构之间访问使用指针;
2012/5/2
天官、
竹翁
4
5
6
目录
1 目标 3
2 名词解释 3
3 物理运算符接口 3
4 查询转换实例 6
5 物理运算符 8
TableScan 8
Filter 8
Limit 8
Project 9
Sort 9
数据收集阶段 9
输出阶段 12
Scalar Aggregate 13
GroupBy 13
MergeGroupBy 13
HashGroupBy 13
Distinct 15
MergeDistinct 15
HashDistinct 15
Join 16
MergeJoin 16
Union 21
MergeUnion 22
Intersect 24
Except 25
附录 26
CS端的TabletScan伪代码 26
MS上TableScan的伪代码 36
GroupBy接口的伪代码 39
MergeGroupBy的伪代码 40
HashGroupBy的伪代码 41
Join操作接口伪代码 42
本文档是淘宝OceanBase( http://oceanbase. )开源数据库中执行SQL查询时所需物理运算符的详细设计。
目标
OceanBase要全面支持SQL。为了支持SQL查询,在进行SQL解析优化之后,查询处理器要生成物理执行计划(Physical Query Plan)。物理查询计划是由若干物理运算符(Physical Operator)组成的树形结构。本文定义了物理运算符的接口,并包含所有物理运算符的详细设计。
名词解释
Update Server:OceanBase的增量更新子系统,记录用户的修改,通常由一主一备或一主多备构成;简写为UPS;
ChunkServer:OceanBase的基线数据存储子系统,由多台机器构成,基线数据通常保存2~3副本并且保存在不同的ChunkServer上;简写为CS;
MergeServer:OceanBase的用户接口子系统,接收用户的查询请求,并从对应ChunkServer上获得基线数据以及从UpdateServer上获得更新的增量,然后融合二者后返回用户;简写为MS;
RootServer:OceanBase的管理服务器,用于管理UpdateServer、ChunkServer和MergeServer等;简写为RS;
列:一个列由列ID(column_id)及其值(column_value)组成;
行:一个行由若干列组成,有些时候其中的部分列构成主键(row key)并且整个表按主键顺序存储,有些表,如select指令的结果,可以不包含主键;
schema:表的列的类型、值范围等以及该表与其他表的join等关系称为表的schema;
表:一个表由若干列(在schema中定义)和任意行组成,有些表的每一行都存储了schema中定义的每一列,这样的表是稠密的,如静态(基线)数据的表一般是稠密的;另外一些表行只存储了部分的列,例如UpdateServer中的表的修改增量,这样的表是稀疏的。
物理运算符接口
所有物理运算符都要遵循相同的接口。通过get_next_row方法,可以获得该物理运算符输出的下一行数据。输出是行可以作为下一个物理运算符的输入,也可以直接作为查询结果输出。
/// 一个行可以包含的最大元素/列数
static const int64_t OB_ROW_MAX_COLUMNS_COUNT = 512;
/**
* 行描述
*
*/
class ObRowDesc
{
public:
/**
* 根据表ID和列ID获得该列在元素数组中的下标
*
* ***@param table_id 表ID
* ***@param column_id 列ID
* ***@param [out] 该

最近更新

2024年汽车轮胎项目资金筹措计划书代可行性研.. 67页

2024年密码键盘项目资金申请报告代可行性研究.. 61页

遥感影像监督分类 9页

公司员工手册(试行版) 13页

河北四方通信设备有限公司2012年招聘计划(2) 9页

2015版三标一体化管理体系内审检查表NEW 22页

2024年三亚理工职业学院单招综合素质考试题库.. 55页

2024年公务员(国考)之行政职业能力测验真题.. 329页

2024年四川省高职单招职业适应性测试题库附参.. 57页

2024年山东省高职单招职业适应性测试题库含答.. 44页

2024年河南省高职单招职业适应性测试题库及参.. 55页

2024年苏州工业职业技术学院单招综合素质考试.. 55页

2024年重庆电子工程职业学院职业倾向性测试题.. 56页

一级建造师之一建公路工程实务题库1000道精品.. 302页

一级建造师之一建工程法规题库1000道附完整答.. 330页

演出经纪人之演出市场政策与法律法规题库400道.. 117页

多肉植物的作文300字 6页

文员简历自我介绍 (1) 9页

2024年幼儿园扶贫帮困爱心教案(通用9篇) 21页

2024年幼儿园小班音乐《粉刷匠》教案 12页

2024年幼儿园小班的公开课教案 5页

电梯维保报价书 3页

棋牌室培训资料 20页

电镀黑铬工艺 10页

电镀六价铬讲议 10页

计算机桌面运维技术服务方案 32页

老年慢性阻塞性肺疾病呼吸衰竭患者经鼻气管插.. 5页

《博微电力工程经济评价软件使用手册》 38页

少先队植树造林歌 19页

《我和星星打电话》课件 7页