Teradata 在整体上是按 shared-nothing 架构体系进行组织的,每个节点都是 SMP 结构的单机,多个节点一起构成一个 MPP 系统。

一、并行数据库架构

并行数据库要求尽可能的去并行执行数据库操作,从而提高性能。在并行计算体系结构实现中有很多可选的体系结构。包括,

  • share-memory:多个 CPU 共享同一片内存,CPU 之间通过内部通讯机制(interconnection network)进行通讯;
  • share-disk:每一个 CPU 使用自己的私有内存区域,通过内部通讯机制直接访问所有磁盘系统;
  • share-nothing:每一个 CPU 都有私有内存区域和私有磁盘空间,而且 2 个 CPU 不能访问相同磁盘空间,CPU 之间的通讯通过网络连接。

从左至右分别是 share-disk, share-nothing 和 share-memory 架构。

注:Oracle Real Application Clusters(RAC) 是 share-disk 架构,Teradata和 DB2 是share-nothing 架构。

二、Teradata 数据仓库架构

2.1. 逻辑架构

2.1.1. Teradata 的组成

Teradata 的主要构件有,

【解析引擎(Parsing Engines,PE)】

主要用于进行客户系统(通常指使用 Teradata 数据库的应用程序的 SQL 请求)和存取模块处理器之间的通讯和交互。主要的功能包括会话管理(session control),SQL 语句的解析、优化、查询步骤的生成和分发请求到对应的 AMP,并行化预处理和返回查询结果。一个节点上通常只有一个或两个 PE 在工作。

【消息传递层(Message Passing Layer,MPL)】

允许 PEs 和 AMPs 相互通信,链接多个节点,在逻辑上使之如同一个节点一样运行。

【存取模块处理器(Access Module Processor,AMP)】

这是 Teradata 数据库的关键进程,用于处理所有与数据有关的文件系统的操作任务,是 Teradata 数据库 share-nothing 架构的核心表现。通常情况下,一个节点上会有多个AMP 在工作,每个 AMP 拥有并管理本身的存储空间,负责文件系统上不同的、固定的数据的存取操作。

【虚拟磁盘(Virtual Disk,VDisk)】

典型的 Teradata 大规模并行处理系统(Massive Parallel Processing,MPP)的数据存储都是以磁盘阵列(disk arrays)的形式实现的,在物理结构上表现为一个个存放于标准磁盘阵列柜中的磁盘阵列模块。Teradata 系统中的每个 AMP 在处理数据存储时,会根据一种哈希算法把不同的数据均勻地分散存储到磁盘阵列中的不同的磁盘上,这样,在逻辑上我们就把磁盘阵列中不同磁盘上存储着的那些由同一个 AMP 负责存储和维护的数据合并在一起,就像它们在一个磁盘上一样,这就是虚拟磁盘。

2.1.2. 组件间的交互

每当执行 select 请求的时候,PE 发送读取一行或多行记录的请求到 MPL,MPL 确保每个 AMP 的可用性,AMP 使用并行方式访问本身管理的存储空间,并查找符合查询条件的数据记录行。当每个 AMP 把查询到的记录返回到 MPL 之后,MPL 需要对每个 AMP 返回的记录整合,传递到 PE,PE 将最终结果返回给客服端,呈献给最终查询的用户。

2.2. 物理架构

2.2.1. 硬件架构

在硬件方面,MPP 服务器是由多个对称多处理器(Symmetric Multi-Processor,SMP)通过一定得节点互联网连接,来协同工作和完成相同的任务。在用户的角度来看是一个系统。

MPP 服务器架构的特点是由多个 SMP 服务器(每个 SMP 服务器被称作「节点(node)」)通过节点互联网络连接而成。每个 SMP 服务器拥有自己的 CPU、内存以及存储空间。SMP 之间是相互独立的、没有资源的共享,这就是 Teradata 数据库架构的 sharing-nothing 架构。

2.2.2. 软件架构

在软件方面,主要有,

【查询并行(query 并行)】

这种并行处理是基于哈希(hash)数据分配机制实现的。每个 AMP 都是一个虚拟处理器(VPROC),各自独立负责一部分数据的处理,相互之间没有关系,每个节点一般配置 4 至 16 个这样的 VPROC。所有关系运算如表的搜索、索引检索、投影、选择、联接、聚集、排序等都是由各个 VPROC 并行进行的。

【步内并行(within-a-step 并行)】

一个 SQL 查询进入系统后,首先由优化器进行优化处理,分解成一些小的步骤,然后再分发给各 VPROC 进行处理。

一个步骤可能非常简单,如“搜索一个表并返回结果”;也可能非常复杂,如“按照某条件搜索两个表,然后联接,结果投影到某几个列,对它们加和(sum)后返回结果”。像这种复杂查询将处理多个关系运算,每个关系运算在一个 VPROC 内将启动多个进程来实现并行处理,称为步内并行。

【多步并行(multi-step 并行)】

上面说过,一个 SQL 被分解成多个小的步骤,这些步骤的执行将同时进行,称为多步并行。优化器分解一个 SQL 查询请求的原则是尽可能使各步独立。在目前所有的 DBMS 产品中,只有 Teradata 实现了多步并行。

三、使用 VMware 安装 Teradata Express

如果希望尝试一下 Teradata,可以在 PC 机上安装 Teradata Express 版。

以下是安装步骤:

  • 确认计算机是 64 位并且支持 Intel VT-x,内存 4GB 以上,硬盘剩余空间 60GB 以上

  • 需要在 BIOS 中将 Intel VT-x 打开(注:修改完 BIOS 后需要断电重新启动才能生效

  • 下载 VMware Player,并安装

  • 下载 Teradata Express for VMWare,解压缩到一个目录中(例如,D:\virtual-machines\TDExpress14.10.01_Sles11_40GB

  • 打开 VMware Player,选择「Open A Virtual Machine」,选择 vmx 文件(例如,TDExpress14.10.01_Sles11.vmx

  • 按照默认选项启动 Teradata Express 虚拟机

  • 启动完毕后会进入 Gnome 桌面,登录名 root,密码 root,VMware Player 可能会提示更新 VMware Tools

  • 等待 VMware Tools 下载完毕,挂载CDROM

mount /dev/cdrom /mnt/cdrom
  • 将 VMware Tools 文件从 CDROM 拷贝到临时目录下
cp /mnt/cdrom/* /tmp/vmware-tools-install
  • 解除 CDROM 挂载
unmount /dev/cdrom
  • 解压缩 VMware Tools
tar zxvf <vmware-tools-package>
  • 安装VMWare Tools,按照提示一步步执行
cd vmware-tools-distrib
vmware-install.pl
  • 重新启动,进入 Gnome 桌面
# reboot
shutdown -h now
  • 启动 BTEQ
bteq
  • 登录仓库,密码:dbc注:命令前需要有一个点
.logon 127.0.0.1/dbc
  • 如果登录不成功出现提示「RDBMS CRASHED OR SESSIONS RESET. RECOVERY IN PROGRESS」,原因可能是数据仓库未启动,启动数据仓库
/etc/init.d/tpa stop
/etc/init.d/tpa start
  • 成功登录后,提示「Logon successfully completed」

  • 测试是否可以执行 SQL 语句

select * from dbcinfo
  • 退出 BTEQ
.quit
  • 修改 /etc/inittab,将默认启动级别从 5 改为 3,重启系统

  • 启动数据仓库

/etc/init.d/tpa start
  • 使用客户端工具远程连接数据仓库,首先使用 ifconfig 查看数据仓库 IP 地址

  • 连接成功后,测试是否可以执行 SQL 语句

select * from dbcinfo
  • 创建用户
CREATE user vmtest AS password=vmtest perm=524288000 spool=524288000;
  • 创建表
CREATE SET TABLE vmtest.test,NO FALLBACK , NO BEFORE JOURNAL, NO AFTER JOURNAL, CHECKSUM = DEFAULT ( Test_field1 INTEGER,Test_field2 INTEGER)PRIMARY INDEX ( Test_field1 );
  • 在 /tmp 下创建 test.csv 文件,文件内容如下(注:最后不要有回车换行(空行)
1, 4
2, 5
3, 6
  • 装载CSV文件
/opt/teradata/client/14.10/tbuild/bin/tdload -h 127.0.0.1 -u vmtest -p vmtest -f test.csv -t test
  • 装载成功后,在客户端查询得到结果
sel * from vmtest.test
  • 如果查询说 test 表已经被 lock,则应该是装载数据出错,修改 csv 文件,重新执行一遍即可。

四、参考

Teradataデータベース アーキテクチャ概説

Teradata 并行数据库架构相关推荐

  1. 大规模分布式与并行数据库架构

    大规模分布式与并行数据库架构 注意区分分布式和并行数据库之间的差别,不要混淆.分布式和并行同时出现时,两者特点容易使人犯迷糊. 分布式 最基本特征:本地自治,非集中式管理;分布透明性的组成:位置,数据 ...

  2. teradata是MySQL吗_Teradata 数据库介绍

    Teradata在整体上是按Shared Nothing 架构体系进行组织的,他的定位就是大型数据仓库系统,定位比较高,他的软硬件都是NCR自己的,其他的都不识别:所以一般的企业用不起,价格很贵.由于 ...

  3. Teradata 数据库介绍

    author:skate time:2010-03-11 Teradata 数据库介绍 Teradata在整体上是按Shared Nothing 架构体系进行组织的,他的定位就是大型数据仓库系统,定位 ...

  4. Impala之02-原理、架构分析(1)

    Apache Impala是由Cloudera开发并开源的一款基于HDFS/Hbase的MPP SQL引擎,是Google Dremel的开源实现. 在分析Impala架构.原理之前,先介绍一下相关背 ...

  5. 理解MySQL——并行数据库与分区(Partion)

    1.并行数据库 1.1.并行数据库的体系结构 并行机的出现,催生了并行数据库的出现,不对,应该是关系运算本来就是高度可并行的.对数据库系统性能的度量主要有两种方式:(1)吞吐量 (Throughput ...

  6. 理解MySQL——并行数据库与分区(Partition)

    1.并行数据库 1.1.并行数据库的体系结构 并行机的出现,催生了并行数据库的出现,不对,应该是关系运算本来就是高度可并行的.对数据库系统性能的度量主要有两种方式:(1)吞吐量(Throughput) ...

  7. greenplum客户端工具_如何从Teradata迁移到Greenplum(上篇)

    我们在之前的文章中介绍了如何从Oracle迁移到Greenplum.与Oracle迁移类似,作为在世界范围内有广泛用户的数据仓库产品,在综合评估了多种因素后,Teradata的很多用户选择迁移到Gre ...

  8. teradata ttu_teradata数据仓库介绍.ppt

    teradata数据仓库介绍 10/21/2002 NCR Confidential Teradata数据仓库平台 Teradata(中国) 2010-05 Teradata RDBMS- 数据仓库的 ...

  9. Teradata数据库简介

    Teradata数据库基础 最近在在公司用的数据仓库是Teradata,在网上找了一些Teradata数据库的资料,顺便做一些笔记啦. 1.Teradata数据库简介 Teradata是比较比较受欢迎 ...

最新文章

  1. TCL免污式洗衣机联手育儿网打响免污保卫战
  2. ArcGIS Clip(裁剪)时出现000117错误的解决办法
  3. centos7 下通过nginx+uwsgi部署django应用
  4. java的websocket_java 实现websocket的两种方式实例详解
  5. NEC向格鲁吉亚提供基于面部识别技术的城市监控系统
  6. Exadata V2 Battery Replacement
  7. 实习程序员工资2.5K,公司团建还要自己掏钱:领导以为你爱吃泡面
  8. 线程池合适的线程数量
  9. 射频识别技术漫谈(9)——动物标签HDX
  10. 父与子的编程python_父与子的编程之旅:与小卡特一起学Python 完整版
  11. 办公室计算机网络使用情况,办公室中有多台电脑上网需求的解决方法
  12. 基于遗传算法的神经网络,遗传算法训练神经网络
  13. 知识点滴 - 关于苹果认证MFI
  14. bios找不到硬盘模式选项如何解决?
  15. 关系数据模型、基本概念、关系模型的基本术语、关系代数
  16. 天勤python_天勤量化
  17. Seq2Seq 粗浅理解
  18. 电脑C盘满了怎么清理比较好
  19. 计算机硬盘做u盘启动不了,U盘启动找不到硬盘的解决方法
  20. 数据库的安装卸载与使用

热门文章

  1. 项目管理(PMP)项目风险管理
  2. 通网网站被大规模挂马 15个频道中病毒
  3. Repeater用法(
  4. CSS控制字符串换行(汉字好象不行)
  5. 早安心语优美的心情语录
  6. org.quartz
  7. qt4.8与达梦数据库间的插入和更新字符串数值问题
  8. 【Java】计算机领域那些乱七八糟其实就是名字的名词[持续更新]
  9. CS 144 计算机网络
  10. 用源码论述Eclipse学习体会