Teradata数据库的架构组成
Teradata在整体上是按Shared Nothing 架构体系进行组织的(关于Shared Nothing及其它并行数据库体系结构请参考我的另一篇文章“并行数据库的基本体系结构”),由于Teradata通常被用于OLAP应用,因此单机的Teradata系统很少见,即使是单机系统,Teradata也建议使用SMP结构以尽可能地提供更好的数据库性能,我在后面的介绍中,都是按多机系统进行说明的。
根据Shared Nothing的组成结构特点,在物理布局上,Teradata系统主要包括三个部分:处理节点(Node)、用于节点间通信的内部高速互联(InterConnection)和数据存储介质(通常是磁盘阵列)。每个节点都是SMP结构的单机,节点的物理和逻辑结构如图2所示,多个节点一起构成一个MPP系统,多个节点之间的内部高速互联是通过一种被称为BYNET的硬件来实现的,整个系统的组成如图1所示。
单个节点的硬件结构
Teradata系统中的每个节点在物理上都是一个SMP处理单元,事实上就是一台多CPU或多核的计算机。节点硬件包括CPU、内存、用于安装操作系统和应用软件的本地磁盘、与外界交互的网卡及BYNET端口。节点的网卡根据具体的网络环境而不同,通常包括两种,一种是与IBM MainFrame连接的Channel Adapter,另一种就是我们熟悉的局域网网卡。通常情况下,一个节点上只会使用一种网卡,但会有多块网卡,分别用于不同的连接和冗余。
单个节点的软件结构
在软件结构上,每个节点自下向上包括操作系统软件(OS)、Teradata并行数据库扩展(PDE)和相关应用程序,其中PDE的主要职责是管理和运行虚拟处理器,其中主要包括PE和AMPs。
(1)Teradata并行数据库扩展(PDE,Parallel Database Extensions),是直接架构在操作系统之上的一个接口层,用于为Teradata提供并行环境,并保证这个并行环境的可运行性和健壮性。PDE的主要功能是执行虚拟处理器、进行Teradata并行任务调度、进行操作系统内核和Teradata数据库的运行时故障处理。
(2)虚拟处理器(VPROC,Virtual Processor),是一系列软件进程,这些进程驻留在一个节点上,依赖PDE环境运行,并接受PDE调度。我认为可以把VPROC理解为一些Teradata的底层服务进程。虚拟处理器完成Teradata数据处理的主要工作,按照工作性质的不同,虚拟处理器主要包括两大类——解析引擎和存取模块处理器。
(3)解析引擎(PE,Parsing Engine),用于进行客户系统(通常是使用Teradata数据库的应用程序的SQL请求)和存取模块处理器之间的通讯和交互,主要的功能包括任务控制(Session Control),SQL语句的解析、优化、查询步骤的生成和分发,并行化预处理和返回查询结果。一个节点上通常只有一个或两个PE在工作。
(4)存取模块处理器(AMP,Access Module Processor),这是Teradata数据库的关键进程,用于处理所有与数据有关的文件系统的操作任务,是Teradata数据库Share Nothing
架构的核心表现。通常情况下,一个节点上会有多个AMP在工作,每个AMP分别负责文件系统上不同的、固定的数据的存取操作。
5)虚拟磁盘(VDisk,Virtual Disk),这是一个纯粹的逻辑概念,事实上不应该把(
它认为是软件结构的一部分。典型的Teradata MPP系统的数据存储都是以磁盘阵列(Disk Arrays)的形式实现的,在物理上是一个个存放于
磁盘阵列柜中的磁盘阵列模块。Teradata系统中的每个AMP在处理数据存储时,会根据一种哈希算法把不同的数据均匀地分散存储到磁盘阵列中的不同的磁盘上(详细内容会在后续系列文章中说明)。这样,在逻辑上,我们就把磁盘阵列中不同磁盘上存储着的那些由同一个AMP负责存储和维护的数据合并在一起,就像它们在一个磁盘上一样,这就是VDisk的概念了。
BYNET
在Teradata MPP系统中,各个节点间(确切地说是各个AMP之间)的内部高速互联是通过BYNET实现的,我们可以认为它就是Teradata系统中那些松散耦合的节点之间互相联系的通讯总线,但事实上,它却远远没有这么简单。
BYNET是一组硬件和运行在这组硬件上的一些处理通讯任务的软件进程的组合体,用于节点之间的双向广播(bidirectional broadcast)、多路传递(multicast)和点对点通信(point-to-point communication),同时,BYNET还实现SQL查询过程中的合并功能(在后面的“并行化查询技术”中会详细说明)。
Teradata数据库简介
2009-08-31 12:31
Teradata推出的新模型可以通过过滤的方式,使业务层和决策层的不同用户群,从单一的数据集中获得不同的视角,有助于用户进行业务决策和战略决策。
Teradata的市场调查结果显示,在亚太地区超过半数以上的企业中,一线员工做出的重要商业决策越来越多,而约有40%的企业都是借助商业智能制定一线决策。但由于市场竞争加剧、企业快速成长以及员工队伍日益壮大,决策制定的复杂度不断加大。值得一提的是,亚太地区企业决策制定数量的增长速度位列世界首位。 动态企业智能集强大的数据仓库功能和
功能于一身,协助用户对企业战略进行连贯、一致的规划、执行和评估。通过将商业智能扩及一线员工、业务伙伴和用户等各应用层面,企业可加速决策制定,提升盈利率、客户服务和运营表现,最终获得竞争优势。
Teradata的双机体系还提高了在容灾和灾难恢复方面的能力。此外,Teradata将主攻方向定位为如何把决策、服务与企业生态系统一体化,甚至包括与SAP的企业服务架构、微软的.Net及IBM的WebSphere进行一体化,使其架构更符合服务水平协议的标准。
Teradata 解决
提供企业的单一视图,可以获得真实的查询结果,并根据可靠信息作出更快、更好的决策。这些信息可供整个企业使用,可以帮助改善客户服务和提高利润。
Teradata 数据仓库将您的数据整合到一个单一的知识库中,您可以全方位了解您的企业,可以更加轻松地挖掘、分享和使用来自公司各部门的信息。“数据集市整合”(Data Mart Consolidation) 解决方案可以将数据从数据集市、独立数据库和旧有系统整合到一个单一的数据仓库中。
高性能的 Teradata 数据库是强大的 Teradata 数据仓库的基础。Teradata 数据库具备专利性的并行架构,能够满足极端处理要求。
Teradata CRM 解决方案在正确的时间,通过正确的信息和正确的渠道,将您与恰当的客户联系起来。这一高级分析工具帮助您:
, 根据来自所有可用渠道的数据进行关系分析
, 针对每个客户建立相关的、及时而高效的沟通
, 按照客户、供应的产品或服务、渠道排定沟通的优先顺序并进行优化
1:Teradata系统的主要组件:
Parsing Engine:分析引擎(Session Control->Parser->Dispatcher)
是一个虚拟的处理器用于解释SQL请求,接收输入记录,审查数据,发送信息从BYNET->AMPS 功能用途:管理个体会话(最多可以120个)
分析优化SQL请求
分派所优化的方案到AMP
ASC?/EBCDIC转换(如果有必要的话)
发送响应请求的结果到所请求的客户端
BYNET:
由所使用的平台
是用软件实现或用硬件实现,它确定是哪个AMP接收信息
功能用途:在PE和AMP之间负责传送信息
广播,点到点,或者点到多点的通信
打包结果送到PE
使并发访问在Teradata中成为可能
AMP:访问模块处理器
用于管理数据库的活动
在磁盘间存贮和获取行
一个AMP最多控制64个物理磁盘
AMP主要功能是在与磁盘的交互上
DISK:与AMP联接的硬盘驱动器
DISK Array的保护方法有两种:RAID1 mirror
RAID5 parity
2:表和AMP
一个表中的行可能分布于每个AMP中
每个AMP都可以具有所有
中的一些行 理想的话,每个AMP大约都有相同的数据量
3:线性增长和扩充性
Teradata是一个线性扩充的RDBMS
组件能按扩充需要而添加
4:Teradata的并发操作
每个PE能在并发操作达120条会话
每个会话能处理多个请求
NYNET能处理所有并发中的信息行为
每个AMP能同时执行达80个任务
对于任何请求,所有AMP能一起共同工作 每个AMP能同步工作于多个请求中
5:Teradata功能概述
Channel-attached Client--channel------->TERADATA RDBMS
CHANNEL-ATTACHED SYSTEM信道传输系统 Client Application->CLI->TDP---channel--->PE
Network-attached Client--lan----------->TERADATA RDBMS
NETWORK-ATTACHED SYSTEM网络传输系统 Client Application->CLI->MTDP->MOSI--lan-->PE
6:Teradata的内部对象:表,视图,宏,全部由SQL语句控制 对象定义存储在数据字典中