- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于Teradata的SQL性能调优
基于
的
性能调优
Teradata
SQL
宋
轶
(上海交通大学信息安全学院,上海 200030)
摘
要: 对 Teradata 数据仓库的系统架构做简单介绍,尤其是针对影响 Teradata 性能的底层因素
进行必要的分析,并对实践过程中的遇到的常见问题进行总结和归纳,希望能给读者一 些启发和帮助。
关键词: Teradata; 数据仓库; 性能调节; 数据倾斜
引 言
Teradata 作为数据仓库解决方案的领导者,给我 们提供一个处理海量数据的平台。 在拥有选择好一个 良好的数据仓库平台后,从前期的咨询、实施,到后期 的升级维护,都是极其重要的。 需要强调的是,数据仓
Teradata 的数据存储及分布
Teradata 的数据分布是整个系统范围内的数 据 分布,是跨 AMP 的数据分布,是针对每一个实体表的 数据分布。 AMP 是 Teradata 数据库系统中具体数据 的持有者和直接操作者,整个 Teradata 数据库系统中 的每一条数据都唯一关联到某一个 AMP 上。 同时,对 于系统中的每个表,其数据都会依照哈希算法分布在 系统中的全部 AMP 上,也就是说,在整个系统范围内 容的所有 AMP 上,都有系统中的所有的实体表,只是 同一个表在不同的 AMP 上实际存储 的数据 并 不 相 同。
在进行 Teradata 数据库的逻辑设计时,对于每一
0
2
库的维护,并不是单一靠硬件的升级来实现。
容易忽
略的是,随着数据的不断积累,日常的 ETL 过程和数
据查询都对数据仓库的性能产生很大的影响,因此也 存在很大的优化空间。
Teradata 系统构架简介
Teradata Teradata 在 整 体 上 是 按 Shared Nothing
1
架构体系进行组织的,能够高效并发操作。
主要组件如图 1 所示。
其系统的
个表, 都要指定一个
“主索引”(Primary Index,
简称
PI),Teradata 数据库引擎会根 据 这个主索引的实际
值,同时根据系统的配置情况(主要是 AMP 的个数),
通过一种哈希算法,为每个表的每一条数据都生成一
个
“行哈希值”(Row Hash Value),Teradata 会根据这
个行哈希值把数据分布到某一个确定的 AMP 上。
根据哈希算法, 对于不同的 Primary Index 值,可 能会计算出相同的行哈希值,这些具有相同的行哈希
值的数据行就会被分布在同一个 AMP 上。 这样,如果 哈希算法选择得当,则可以基本保证,同一个表中的
数据在整个 Teradata 并行系统的多个 AMP 上的分布 是趋于均匀的(参见图 2)。
Teradata }fi !
#$fi%
-.
图 1 Teradata 系统功能组件
收稿日期:2009-05-25 修稿日期:2009-07-26
作者简介:宋轶(1982-),男,湖南人,工程硕士,研究方向为数据仓库
1
+
+
234
567
, !
/0 fi%
’()* Teradata}
AMP
AMP
AMP
AMP
BTNET
MTDP
MO‘I
?fl ?fi
3LI
3LI
TDP
?fl ?fi
计 算 方 法 :Eff = Sum (CPU)/(Sum (IO) / 1000)
该 等 式 给 出 了 每 1000 单 位 IO 时 CPU 的 消 耗
比,数值越小,表示性能越好。
例如:
查 询 一: 1283 CPU seconds, 1.09m IOs – ration of 6
查 询 二: 2568 CPU seconds, 2.09m IOs – ration of 12
3.3 并发度(Parallel Efficiency):是指某查询对整 个系统的影响
计算方法:PE = (Total CPU Time / Effective CPU Time) * 100%
系统花在执行该查询语句上的
Total CPU Time:
CPU 时间总和。
Effective CPU Time: 系统中最忙的一个 AMP 执
行该语句所花的时间乘以系统 AMP 总数。
实际上,并发度和倾斜度密切相关。一般来说,倾 斜度越高,并发度就越低。 反之亦然。
图 2 Teradata 的数据分布机制
对于一个 Teradata 系统, 其哈希算法是确定的,
而且是运行时不可变的,在系统的硬件不变的前提下
(AMP 数不变),这就保证了对于同一个 Primary Index 值,所生成的行哈希值也是相同的。 因此,对于不同的 表,尤其是有主-外键关联关系的表,通过慎重地定义 Primary Index, 可以做到那些经常要进行关联 ( 往往
文档评论(0)