LONGTOPGROUPLongtopFinancialTechnologyCo.,Ltd.Teradata架构技术交流范晓亮2009-04-10主题WhatisTeradata?Teradata–ABriefHistoryTeradata数据库竞争优势TeradataRDBMS架构Teradata系统架构Teradata数据库与数据库用户的比较数据存储和访问主题WhatisTeradata?Teradata–ABriefHistoryTeradata数据库竞争优势TeradataRDBMS架构Teradata系统架构Teradata数据库与数据库用户的比较数据存储和访问WhatisTeradata?主题WhatisTeradata?Teradata–ABriefHistoryTeradata数据库竞争优势TeradataRDBMS架构Teradata系统架构Teradata数据库与数据库用户的比较数据存储和访问Teradata–ABriefHistory主题WhatisTeradata?Teradata–ABriefHistoryTeradata数据库竞争优势TeradataRDBMS架构Teradata系统架构Teradata数据库与数据库用户的比较数据存储和访问Teradata数据库竞争优势数据及用户不限量经过验证的可升级性:支持小到(10GB)大到(100+TB)的数据库无限的并行性:设计和建立在并行基础上的数据库成熟的优化技术:能够处理复杂的查询,支持到最多64个的join子查询商业模型:3NF、强大的视图处理、星型模型能力提供单个真实商业版本:Teradata提供一个中央的,通过抽取各个源系统数据集成的企业范围的数据库,保证数据的一致性高可用性并行装载及卸数处理强大的并行装载,load与unload工具可升级性,这些工具如:Fastload、Multiload、TPump、andFastExport主题WhatisTeradata?Teradata–ABriefHistoryTeradata数据库竞争优势TeradataRDBMS架构Teradata系统架构Teradata数据库与数据库用户的比较数据存储和访问Teradata存储体系架构注意:ParsingEngine解释sql命令并把记录转换成一个AMP消息,分配插入数据的请求MessagePassingLayer分发行,并确保每行发送到合适的AMPAMP格式化行并经其写入与此AMP相关的磁盘一个AMP管理一个由磁盘阵列中多个物理磁盘组成的逻辑或虚拟盘Teradata数据检索体系架构注意ParsingEngine优化请求并创建任务AMP需要执行的任务MessagePassingLayer分发PE创建的任务到相应的AMP,并激活它AMP从各自对应的物理磁盘取出需要的数据并通过MPL返回PE,PE把数据返回给请求的客户应用程序,如果数据需要格式化,排序,聚合都由AMP完成Teradata架构中几个名词概念BYNET(BanYanNETwork)BYNET是一个为NCRMPP系统提供高性能网络互连能力的软件与硬件集。BYNET允许在各节点之间使用点对点、多点传送、广播通讯。通讯能力的可测量性,每增加一个节点,每个BYNET增加60M(BYNETVersion3是90M)的带宽,所以增加一个节点时,更多的点对点连接可以同时建立,广播和多点传送的固定带宽是每秒60M(BYNETVersion3是90M),广播通信只有在需要对所有AMP操作时才会调用,一般都是点对点的通信,多点通信在V2R5版本中才引进进来。MPP(MassivelyParallelProcessing)system大量并行数据处理系统CLI(CallLevelInterface)CLI是一个最底层的与TeradataRDBMS之间的接口TDP(TeradataDirectorProgram)它运行于任何客户端系统上的程序,它管理CLI的Session通行到RDBMS,它的功能包括SESSION开始,终止,登录,身份认证,备份恢复,重起.TeradataandMPPSystemsTeradata使一个MPP系统以一个整体的系统形态展现给用户和数据库管理者TeradataRBDMS的主要组件是ParsingEngine(PE)和AccessModuleProcessor(AMP)两个虚拟的处理器TheMPL(包括PDEandBYNET)连接并使各节点之间可以通信TeradataFunctionalOverviewChannel-AttachedclientsoftwareOverviewCallLevelInterface(CLI):访问Teradata最底层的接口,控制客户端的请求和响应,创建session,缓冲区的分配和初始化,信息的打包和解包TeradataDirectorProgram(TDP):session初始化和终止,登陆,验证,恢复和重起,维护传递到PE的session队列,错误通知(如应用程序失败,Teradata重起),session在多个PEs之间的分配企业系统连接信道(ESCONChannel)和总线和标记信道(BusandTagChannel)Network-AttachedclientsoftwareOverviewCLI提供对Teradata最大限度的连接和访问性,ODBC作为业内标准是更多的应用程序可以连接到TeradataMicroTeradataDirectorProgram(MTDP)是Teradata提供的网络连接环境下的TDP实现,它和渠道连接下的TDP功能基本一致,唯一的区别是它不负责session在多个PEs之间的分配,此功能由运行在Teradata系统上的ConnectandAssignServers实现MicroOperatingSystemInterface(MOSI)实现在客户端访问Teradata时的操作系统独立性,有了它,只需要一个版本的MTDP运行在不同的网络连接数据库平台上TeradataPE(ParsingEngine)Define包括以下功能Sessioncontrol:一个有效的session一经建立,就由PE负责在客户端应用程序和RDBMS之间的这次对话的管理,sessioncontrol主要控制着logon和logoffParser:解析客户端请求的sql,判断其语法和语义上的正确性,并查询数据字典确认所有的请求对象和列是否存在,请求的用户是否有相应的访问权限Optimizer:评估所有可选的执行计划并选出最快的一种,并将其转化成AMP可执行的步骤,传给DispatcherDispatcher:通过执行控制控制Optimizer传来的执行步骤一步步传递给相应的AMP,通过响应控制把结果返回给客户,根据sql请求的不同,执行步骤可能传递给一个AMP,或者几个AMP或者所有AMPTheParsingEngine(分析引擎)PE的功能管理session(可以管理多达120个)解析并优化请求的sql语句发送优化过的执行计划给AMP输入转换例如EBCDIC/ASCII之间转换,如果需要转换时发送返回的结果集给请求端MessagePassingLayerDefine它负责处理Teradata数据库的内部通讯,即所有PEs和AMPs之间的通讯都要经过MPL,PE分配给AMP的执行步骤通过MPL路由到合适的AMP,处理完成后,响应消息再经过MPL路由由AMP返回给相应的PEMPL由ParallelDatabaseExtensions(PDE)软件,Bynet软件和Bynet硬件组成根据分发的请求不同,会有以下三种通信Broadcast–消息传递给系统中所有的AMPs和PEsMulti-Cast–消息传递给一组AMPsPoint-to-Point–消息传递给系统中一个特定的AMP或者PEMPL这种技术是Teradata并行性的基础MessagePassingLayerMPL功能在PE和AMP之间传送信息点对点,多点,广播通讯合成返回结果集并传回PETeradata并行性的基础MPL组成ParallelDatabaseExtensions(PDE)软件Bynet软件用于MPP系统的Bynet硬件TheAccessModuleProcess(AMP)Define每个AMP负责管理数据库的一部分,AMPs完成生成一个结果集时所有的物理处理工作,包括排序,聚合,格式化,转换当一个AMP收到MPL传递过来的Parser/Optimizer的执行步骤时,它会完成相应的请求如从物理磁盘取出数据或对数据进行排序,对于某些请求,AMPs也可能会将其上的数据拷贝并传递给其他AMPsLock数据库或表,创建、修改、删除表,插入、修改、删除表中的数据返回结果集给Dispatcher空间管理,空间的使用控制和空间分配输出数据的转换,与PE做相反的工作,如PE把EBCDIC转换成ASCII,AMP则把ASCII转换成EBCDIC返回TheAccessModuleProcessor(AMP)AMP功能找出请求的行Lock管理行排序聚合列输出转换和格式化为客户请求创建结果集磁盘空间管理恢复处理LinearGrowthandExpandabilityTeradataParallelismDefineParallelism(并行性):是Teradata数据库的核心每个PE能够支持120个Session并行处理每个Session可以处理多个并发请求,虽然每个时点只有一个请求是活动的,但每个Session自已能够管理16个请求和它们相关的结果集每个AMP能够并行处理80个任务,多线程的同时处理多个请求每个AMP作为数据库的一部分一起并行的处理请求,如果optimizer传递来的执行步骤之间没有交叉,AMP会同时并行处理一个请求的多步操作TeradataParallenlismTeradata是建立在并行基础上的系统每个PE能够支持120个Session并行处理每个Session可以处理多个并发请求MPL能并行处理所有活动的消息每个AMP能够并行处理80个任务所有的AMP能并悉心能够处理一个请求一个AMP能并行处理多个请求主题WhatisTeradata?Teradata–ABriefHistoryTeradata数据库竞争优势TeradataRDBMS架构Teradata系统架构Teradata数据库与数据库用户的比较数据存储和访问TeradataDatabaseVersion1PlatformsTeradataDatabaseVersion2ArchitectureTeradataDatabaseVersion2SingleNode(SMP)SMP体系架构Multi-NodeMPPNCRRack-BasedCabinetsNCRMPP系统的一些特性Teradata数据库软件:它允许多个SMP运行在Teradata数据库上,并扮演单个实例角色.可升级的BYNET连接:当增加节点时,相应的增加了带宽.并行可升级性:通过安装/升级多个SMPs实现软件的并行安装和升级.AWS(AdministrationWorkstation):单点操作控制及升级服务管理.SMP:SMP只需要负责管理各自资源还有一些冗余的组件:两个BYNET,在一个磁盘组中有两个磁盘控制器,又模拟控制器来增强可用性,N+1个power来支持节点.主题WhatisTeradata?Teradata–ABriefHistoryTeradata数据库竞争优势TeradataRDBMS架构Teradata系统架构Teradata数据库与数据库用户的比较数据存储和访问Te