teradata 数据库半个中文字符_teradata数据库和oracle对比

teradata 数据库半个中文字符_teradata数据库和oracle对比Teradata 数据库

Teradata 数据库 - Mr

笔者大学所学计算机专业,读书时接触过Oracle、mysql和SQL SERVER,一度坐井观天觉得数据库应该也就这些了,但自笔者毕业进入数据仓库这个行业,接触的第一个商业数据库即是Teradata,亦是接触到的第一个MPP体系架构,先简单谈谈个人对Teradata的认识吧

产品特点:

1.MPP架构,为提供商业大数据分析处理而设计构建(OLAP)

2.通过PE、BYNET、AMP中间件构建出高效的并行数据库系统(作为行式数据库对硬件资源要求特别在于内存资源需求上优势很明显)

3.通过PI和SI构建数据的均匀分布和高效的读写能力

4.提供了丰富的SQL请求工具(BTEQ、Teradata SQL ASSISTANT、FASTLOAD、MULTILOAD、FASTEXPORT、TPUMP)

5.提供了完备的管理工具(Teradata Manager、DBQM、Teradata Administrator)

6.提供了丰富的二次开发接口(PP2、CLI、ECLI、ODBC、Oracle Transparent Gateway、WinCLI、TS/API)

产品不足

1.过于封闭,在网上很难找到Teradata数据库的相关资料,产生异常或疑问只能咨询Teradata内部人员(或有相关经验人员)

这给后期架构规划和日常异常的处理上带来了很大的不便,随着与Teradata方合作的开展,亦愈发认识到,技术的完全封说的好听点是为了操作的合规性和单一性,说的直白点就是为了最大化专利技术的经济效益(之间产生过几次数据库异常,Teradata中国区的工程师处理不了都是申请美国工程师的技术支持,这也能看出来对于Teradata内部亦是存在比较明显的技术封闭现象)

2.扩展性不足,作为一款MPP体系架构产品,对比开源hadoop以及笔者现在所用的商业Vertica数据库,其扩展性表现十分有限

笔者接触过Teradata 5系列和2系列的架构环境,均采用了共享阵列存储,其最大的问题就在于,阵列插满磁盘就无法有效进行扩容了,节点的扩展没有接触不好妄加评论,当然现在的Teradata可能在这块有了很大的提升和对市场需求积极的调整(在最后一次架构规划中,Teradata方给出了基于X86服务器的2系列架构方案)

3.兼容性不足,这点也可称之为可移植性(当然这类大存储的MPP数据库也不会轻易做移植),当然其缘由还是在于其封闭性

从底层硬件到上层数据库软件以及后期的服务,甚至机柜都是由Teradata定制化的实现,当然现在的Teradata可能在这块有了很大的提升和对市场需求积极的调整(在最后一次架构规划中,Teradata方给出了基于X86服务器的2系列架构方案)

4.IO能力有限,行式存储数据库的通病,在压缩比较低的情况下,加剧了OLAP场景中对于数据库IO能力瓶颈的产生

下面我们就来简单认识认识Teradata吧。

1、Teradata因数据仓库而存在

Teradata 是一个关系型数据库管理系统 (RDBMS).

• 为运行世界上最大的商业数据库而设计;

• 企业级数据仓库的首选解决方案;

• 基于Linux/UNIX与NT的开放式系统平台;

• 完全符合ANSI标准;

• 可以运行于单个或多个节点;

• 可以帮助企业提供自服务端到客户端的所有应用

• 运用并行处理方式来管理Terabytes以上的数据
teradata 数据库半个中文字符_teradata数据库和oracle对比

 

2、Teradata与EDW 

 teradata 数据库半个中文字符_teradata数据库和oracle对比

 

 3、数据仓库发展的五个阶段

teradata 数据库半个中文字符_teradata数据库和oracle对比

 

 4、Teradata数据库系统体系架构

teradata 数据库半个中文字符_teradata数据库和oracle对比

 

 

基本读写过程

•解析引擎PE将SQL请求拆分成 各AMP的请求以便幵行处理

• 解析器分解接收到的SQL交易 请求,验证语法、权限等

• 优化器产生最优的查询方案

• 分发所优化的方案到AMP

• 数据通过表PI的HASH值均匀 分布到各AMP管理的磁盘( 写)

• 信息传递层可汇总各AMP数 据,将最终结果返回客户端( 读)

5、The Parsing Engine (PE) 解析器

 teradata 数据库半个中文字符_teradata数据库和oracle对比

 PE的作用:

• 一种VPROC,用亍解释SQL请求、 接收输入记录、审查数据、发送信 息到AMPS

• 每个PE能幵发操作120条会话,每 个会话能处理多个请求

• 当多个用户同时访问系统时, Teradata能够通过PE在各节点间自 劢平衡负载,不需要人工干预

6、BYNET(高速连接网络) 

teradata 数据库半个中文字符_teradata数据库和oracle对比

 

 

 BYNET的作用是:

• 负责AMP与PE之间的通信

• 通信方式可为:Point-to-Point, Multi-Cast, and Broadcast communications

• 将AMP返回给PE的结果集进行合并 • 它的存在使得Teadata的并行成为可能

• BYNET可以是硬件也可以是软件 • 随着节点的增加,BYNET的带宽线性增长

7、AMP – Teradata并行处理的基础

teradata 数据库半个中文字符_teradata数据库和oracle对比

 

 

 • 一种VPROC,每节点可包含多个 AMP

• 每个AMP拥有独立内存和CPU资 源,与一个VDISK连接,管理数 据库/表的部分数据。

• 控制所有磁盘交互及部分数据库 的操作,如读、写、转换、格式 化等

• 各个AMP幵行处理,互不干扰, 交易处理结果在信息传递层汇总 后,直接返回给应用程序

• 一个请求可以分发到所有AMP一 起共同工作,每个AMP也可以同 步处理多个请求

8、Teradata支持MPP架构,通过系统扩展实现并行 处理能力的线性扩展 

teradata 数据库半个中文字符_teradata数据库和oracle对比

 

9、Teradata数据分布

Teradata采用hash算法根据用户建表所选的PI进行数据分布,当然这里有所有MPP体系架构数据库的通病,数据倾斜问题,Terdata为方便DBA的维护管理工作,提供了数据重组功能,当然作为一个大型的MPP数据库,数据库对象量级的过于庞大,数据倾斜问题的处理往往会占用DBA相当大的维护管理成本(靠每个用户遵守PI选择的原则只是理论上的期望)

 

关于Teradata组件和语法的分享这里就不详述了,如有兴趣欢迎留言交流

 

后期随着使用的深入,在逐步了解其强大同时也更加了解其封闭,要使用Teradata购买其产品只是一个开始,后续在于配套的维护和扩容上还需源源不断的投入,在这个注重信息安全和成本控制的时代趋势中,伴随着去IOE的深入和开源技术的成熟,Teradata注定淡出大部分国内市场,至少对于笔者所处的通信行业来讲是如此,自然首当其冲的还是企业对投入成本的控制,当然不可否认的是,Teradata作为一个为大数据商业数据库产品,确有其独到之处。

老生常谈,在数据仓库体系架构中,至少在当下,RDBMS仍是核心的一环,笔者所在的环境,在对hadoop生态取代Teradata探索中有过血淋淋的教训,在面对Teradata服务即将到期的时候不得不再次进行基于MPP体系架构的RDBMS招标,事实证明开源与商业的组合架构现阶段最为合适,故而这样的架构沿用至今,只是对于数据仓库环境,基于MPP架构体系的列式存储RDBMS应是首选

关于MPP体系架构相关知识,我们下期再聊。

 

 

 

teradata 数据库半个中文字符_teradata数据库和oracle对比

我是Mr.Yu,一名数据仓库行业的资深从业者,很高兴与你的这次分享!

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/8908.html

(0)
上一篇 2023-02-19
下一篇 2023-02-19

相关推荐

  • MongoDB联表查询实例

    MongoDB联表查询实例在MongoDB中,联表查询是一种非常常见的操作。事实上,通过联表查询,你可以更好地组织你的数据,并提高复杂查询的效率。在这篇文章中,我们将深入研究MongoDB的联表查询操作,通过代码示例来演示如何使用MongoDB进行联表查询。

    2024-06-16
    47
  • flink 并行度和分区的关系_flink并行度

    flink 并行度和分区的关系_flink并行度Flink设置并行度的几种方式 代码中设置setParallelism() 全局设置: env.setParallelism(3); 算子设置(部分设置): sum(1).setParallelism

    2023-02-07
    143
  • Python字典获取(Get)操作的实现方法

    Python字典获取(Get)操作的实现方法Python字典是一种存储键值对的无序集合,可以通过键来访问对应的值。字典中的键必须是不可变的(不可改变的对象),如字符串、数字、元组等,而值可以是任意对象。

    2023-12-10
    106
  • redis源码解读_redis set底层数据结构

    redis源码解读_redis set底层数据结构redis中整数集合intset相关的文件为:intset.h与intset.c intset的所有操作与操作一个排序整形数组 int a[N]类似,只是根据类型做了内存上的优化。 一、数据结构 1

    2023-01-26
    137
  • 深入理解Python xrange

    深入理解Python xrangePython语言拥有众多的数据结构,其中一个广受欢迎的数据结构是range。它可以生成一个从起始数字开始,到结束数字结束的整数序列,步长为1。在Python 2.x版本中,xrange被引入,是range的替代品。虽然它们有许多相同之处,但也有一些重要的区别。本文将深入介绍Python xrange。

    2024-04-17
    70
  • 用Python编写CGI脚本,实现动态Web页面生成

    用Python编写CGI脚本,实现动态Web页面生成CGI(Common Gateway Interface)是一种通信协议,它定义了Web服务器如何与其他软件程序(称为CGI程序或脚本)交互,从而在Web页面上动态地生成内容。

    2024-01-21
    106
  • pg数据库常用操作有哪些_pg数据库是什么数据库

    pg数据库常用操作有哪些_pg数据库是什么数据库全量迁移 备份数据 正式迁移 首先要修改备份文件 .sql的owner,防止权限出现错误。 【注意点】该迁移操作会覆盖原来的数据库,所以最好创建一个新库。 列出所有表名和数据库名 PostgreSQL

    2023-01-27
    135
  • lxml安装失败

    lxml安装失败lxml是Python上一个功能强大的XML/HTML处理库。它基于Cython以及libxml2/libxslt库构建,提供了简单易用的接口和快速的解析速度。在许多数据处理、爬虫、数据挖掘等领域,lxml被广泛应用。因而,安装lxml也成为Python学习者不可避免的一部分。

    2024-07-14
    39

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注