Teradata分析

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1、Teradata优势,能否打数据并发1)优势以下是部分Teradata客户数据仓库管理的内容,可说明Teradata系统的强大处理能力:多达千亿行数据的数据库表格每天数据加载超过30亿条记录每天捕获3000万笔客户交易每天为消费者在线提供150万种个性化产品和服务每小时处理100万次数据库查询每天响应1万个并发数据仓库用户业务查询响应时间仅为40-50毫秒2)并发问题:机制:Teradata巨表数据存放机制好像是每个节点均匀分布表中一部分数据,当查询的时候每个节点并行查询,结果汇总到某个节点反馈给查询者。这个复杂查询的实例形象地说明了Teradata的多维并行处理机制。Multi-Step并行Within-A-Step并行完成三个操作1.搜索LineItem2.搜索Orders3.联接Lineitem&OrdersQuery并行4个VPROC同时处理与各自相关的数据SUM操作文件匹配搜索SUPPLIERS联接PARTS&PARTSUPPSQLSteps5432.12.21.11.2联接LINEITEM&ORDERS返回最后结果文件匹配图8-16Teradata内部并行处理机制说明这里假设系统配置有4个虚拟处理器(VPROC),某个复杂查询被优化器分解成了7个步骤,图中SUPPLIERS、PARTS、PARTSUPP等为数据库中表的名字。在每个步骤执行时,4个VPROC同时处理与各自相关的数据块,例如搜索SUPPLIERS表,该表的记录是通过HASH算法均匀分布在四个VPROC各自负责的磁盘中的,搜索时4个VPROC将同时进行,把相关的记录搜索出来,这就是所谓的查询并行。例子:例如:使用NCR5300服务器,2个节点,存储为2TB,RAID1,在业务高峰期,系统并发查询用户在300个以上,最高到1000个,此时系统响应速度有些缓慢大概业务查询响应时间30秒,峰值过后速度就加快了。主要进行的操作就是表之间的关联查询,4张表,每张6-7千万条记录,ETL加载的数据量不算太大。2、Teradata内外部集建立原则针对实际的应用,采用内外部集市可以有效的发挥起各自的优势:1)松耦合原则介于要将整个系统划分为数据和应用层,相互存在很多密切关联,在设计库表时要充分考虑数据和应用的相互影响,做到应用不影响到数据的处理,数据处理不直接针对应用的松耦合技术架构2)任务明确原则数据处理层和应用层在处理具体业务时,必然存在既可以在数据层处理有可以在应用层处理的问题,需要在设计时充分讨论业务需求,做到责任明确,任务单一,各负其责。3、teradata比较oracle的优缺点Teradata是专为数据仓库OLAP设计的,主要用来进行数据的综合分析和处理,Oracle更多的适合联机事务处理的OLTP应用,针对DW数据仓库从以下几个角度对teradata进行分析:1、数据管理能力(DataManagement)数据自动分配Teradata中只有一种基于HASH算法的数据分配机制,当要插入一条记录时,根据主索引计算出相应的AMP,该条记录即通过此AMP存到其对应的磁盘上。由于主索引值的不同,一个表的各条记录将通过各AMP均匀地分布到各个磁盘上。分配过程完全自动进行,不需要DBA干预,这一点和其它OLTPDBMS有很大的区别。Teradata的HASHING算法经过长期的发展,已经十分完善。它采用了一个类似矩阵的HASHMAP,将计算出来的HASH值通过此矩阵的映射与AMP进行联系。这样,当重新配置AMP数时,只需要变动HASHMAP,速度非常快。对于OLTP系统而言,其查询的特点是预先知道要回答什么样的问题,因此,DBA会根据业务问题的特点把数据按照相应的规律进行分配,例如把数据按照时间的不同分配到不同的硬盘上。这种由DBA手工进行的数据分配机制对OLTP系统而言是有意义的,也确实能提高系统性能。但对数据仓库系统来说,其查询往往比较复杂而且具有不确定性,不同的业务部门可能会提出各种不同的问题,如果再按照一种规律进行数据的分配,则有可能对某些问题系统的响应速度很快,而对另外一些问题的反应则很慢。在Teradata数据库中,通过选择合适的主索引就可以保证数据在各磁盘上的自动均匀分配,使得其并行处理性能得以充分的发挥,特别适合于数据仓库环境下各种不确定的、动态的业务问题。另一方面,所有记录的插入、更新都按同样的HASHING算法进行,使得各磁盘上的数据总是混合存储而且是均衡的,不存在“有序”或者“无序”的概念,因而也就不存在数据库的重组问题(Reorganization)。对于传统的OLTPRDBMS而言,投产运行一段时间后系统性能常常因某种原因(如不断追加记录后造成数据存储不平衡)下降,这时就要考虑对数据库的重组。这是一项非常耗时而且需要经验丰富DBA参与的工作。在Teradata中,由于不存在数据库重组这类的工作,使得其管理十分简单。2、系统管理能力(DataAdministration)Teradata易于管理Teradata数据库提供了一整套齐全的工具和功能,可对数据库操作、管理和维护进行控制,您只需通过一个普通的Windows用户界面——Teradata管理器——即可使用这些工具和功能,包括:Teradata备份、存档和恢复解决方案,结合了行业领先合作伙伴和Teradata专业技术的实力Teradata仪表盘,用于状态和绩效统计管理工作站,用于对整个Teradata系统进行单点管理控制Teradata动态工作量管理器,用于查询工作量管理情况Teradata工作量分析器,用于查询绩效分析结果以及对工作量分组和资源分配提出的建议3、扩充能力和适应能力(PlatformSuitability&Scalability)teradata线性可扩展能力一般来说,当数据仓库投产以后,随着应用的增加,其数据量也增长得非常快,因此,数据仓库系统对扩展性的要求很高。可扩展包含两方面的含义,即硬件平台的可扩展和软件平台的可扩展,两者必须相互配合,相辅相成,任何一方存在瓶颈都会影响整个系统的扩充能力。Teradata的操作系统是MicrosoftWindowsNT/2000或者是NCRUNIX,如果使用Windows,则可用使用任何支持Windows的服务器,如果使用NCRUNIX,则只能使用NCR的MPP服务器。之所以存在这种限制的主要原因就在于扩展能力上,因为目前NCR的MPP服务器是业界扩展能力最强的计算机系统,它配合Teradata,形成了扩展能力最强、并行处理能力最佳的数据仓库基础平台。考虑一个系统的线性可扩展能力,可以从以下三个方面来进行评估:数据量增长时的线性度:当用户数据量成倍增加时,对于同一个系统(指硬件配置不变),响应时间是按比例线性增加的;硬件平台的线性度:对于同一个查询,当硬件平台的配置增加一倍时,响应时间应减少一半;并发用户增加时的线性:对于同一个系统,当并发用户的数目增加时,响应时间也按比例线性增加。对基于Teradata实施的数据仓库系统的扩充是很容易的,可以采用现场升级(FieldUpgrade)方式。下图举例说明了将一个四节点的系统扩充到六节点的情况,首先将新增加的两个节点通过BYNET与原系统联接,然后运行Teradata提供的一个名叫RECONFIG的工具,它将自动把原系统磁盘阵列中1/3的数据按照HASH算法均匀地分布到新节点所控制的磁盘中。这个过程完全自动进行,不需要DBA过多地干预。这个特性也是为什么说由Teradata组成的数据仓库系统比较容易管理的原因之一。BYNET节点1BYNET转移1/3的数据至...这里节点3节点4节点5节点2节点6图8-17Teradata线性扩展说明4、并发查询管理能力(ConcurrentQueryManagement)Teradata最显著的特色之一是其强大的并行处理能力,这也是为什么说它是数据仓库专用引擎的主要原因之一。其实现方式被称为多维并行处理机制,简单描述如下:查询并行(Query并行):这种并行处理是基于上面介绍的HASHING数据分配机制实现的。每个AMP都是一个VPROC,各自独立负责一部分数据的处理,相互之间没有关系,每个节点一般配置4至16个这样的VPROC。所有关系运算如表的搜索、索引检索、投影、选择、联接、聚集、排序等都是由各个VPROC并行进行的。步内并行(Within-a-Step并行):一个SQL查询进入系统后,首先由优化器进行优化处理,分解成一些小的步骤(Step),然后再分发给各VPROC进行处理。一个步骤可能非常简单,如“搜索一个表并返回结果”,也可能非常复杂,如“按照某条件搜索两个表,然后联接,结果投影到某几个列,对它们加和(SUM)后返回结果”。象这种复杂查询将处理多个关系运算,每个关系运算在一个VPROC内将启动多个进程来实现并行处理,称为步内并行。多步并行(Multi-Step并行):上面说过,一个SQL被分解成多个小的步骤,这些步骤的执行将同时进行,称为多步并行。优化器分解一个SQL查询请求的原则是尽可能使各步独立。在目前所有的DBMS产品中,只有Teradata实现了多步并行。

1 / 5
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功