Teradata RDBMS架构与功能详解
1. 解析引擎
Teradata RDBMS是基于ASCII编码的系统。在处理数据前,解析引擎会将EBCDIC(以及其他非ASCII编码)的输入数据转换为ASCII编码。
1.1 SQL解析器
SQL解析器负责处理所有传入的SQL请求,其处理流程如下:
| 阶段 | 处理过程 |
| ---- | ---- |
| 1 | 解析器在请求缓存中查找该请求是否已存在。若存在,则生成AMP步骤并传递给gncApply软件;若不存在,则开始与语法检查器一起处理该请求。 |
| 2 | 语法检查器检查传入请求的语法。若没有错误,将请求转换为解析树并传递给解析器;若有错误,则将错误消息返回给请求者。 |
| 3 | 解析器从数据字典缓存中添加信息,将数据库、表、视图和宏名称转换为数字标识符,然后生成对象和访问权限列表。输出为解析树,传递给安全检查机制。 |
| 4 | 安全模块检查数据字典中的访问权限。若权限有效,则将请求传递给优化器;若权限无效,则中止请求。 |
| 5 | 优化器确定访问请求所需数据的最有效方式。 |
| 6 | 优化器扫描请求以确定锁的放置位置,然后将优化后的解析树传递给生成器。 |
graph TD;
A[接收SQL请求] --> B{请求是否在缓存中};
B -- 是 --> C[生成AMP步骤并传gncApply];
B -- 否 --> D[语法检查器检查语法];
D -- 无错误 --> E[转换
超级会员免费看
订阅专栏 解锁全文
321

被折叠的 条评论
为什么被折叠?



