引言

随着计算机系统在处理能力、存储能力等方面,特别是计算机软件技术的不断提高,使得信息处理技术得到飞速发展。

数据处理主要分为两大类:联机事物处理OLTP、联机分析处理OLAP。OLTP也就是传统的关系型数据库应用,主要功能是基本的、日常的事务处理操作,对响应时间要求非常高,是一种面向应用的生产系统。OLAP是基于数据仓库的面向主题的信息分析处理过程。

什么是数据仓库

与传统关系型数据库不同的是,数据仓库储存的是历史数据,针对数据仓库系统的查询大都非常复杂,特别消耗系统资源,对系统的可扩展能力和并行处理能力要求很高。数据仓库主要面向业务人员和管理人员,用来帮助企业管理人员作出更符合业务发展规律的决策,所以也称数据仓库为决策支持系统。数据仓库的数据来自多个数据库,并且按照预先定义好的模型对抽取的数据进行转换过滤,再将结果存放到数据仓库中。

Teradata 数据库

为了解决传统数据库在大量数据的查询分析等方面的局限性,Teradata公司推出了Teradata关系数据库管理系统。Teradata采用标准的SQL查询语言,适用于处理复杂查询数据仓库应用。

架构

Teradata的主要组件是解析引擎、BYNET和访问模块处理器(AMP)

  • 解析引擎负责从客户端接收查询命令并制定执行计划。
  • BYNET相当于网络层,它从解析引擎接收执行计划并发送给相应的AMP,AMP的选择采用哈希算法实现。
  • 数据表中的记录均匀分布在个AMP之间,每个AMP与存储数据的一组磁盘相关联。从BYNET接收数据和执行计划后,进行类型转换、聚合、过滤和排序等操作并将数据存储到与其关联的磁盘中。

操作

使用Teradata提供的免费Teradata数据库开发人员版本可以进行开发测试,通过Teradata SQL Assistant或BTEQ等数据库管理工具可以对数据仓库进行操作,默认用户为DBC,SQL语法和其它数据库区别不大,但其独特的内部结构适合需要处理复杂数据查询的应用。

SQL 语法

Teradata使用了标准的SQL语法并在此基础上进行了扩展,以增强数据库管理系统的功能。所有的系统对象如Table、View、Macro等存储在数据字典中,数据字典的所有者为DBC用户,在客户端可以调用数据字典中的对象访问数据库。刚开始使用Teradata时可以使用其帮助系统提供的命令HELP、SHOW、EXPLAIN查看数据库中各种对象的结构以及SQL请求的执行过程,对理解Teradata工作原理以及各种SQL语句的使用有很大帮助。

体会

在如今快速发展的大数据革命时代,数据积累量越来越多,其中蕴含着大量重要的信息,通过对这些数据进行分析和综合处理,可以发掘出对企业发展、政府管理部门至关重要的业务信息,帮助管理人员作出合理的决策。

当然,传统的关系型数据库也是可以完成基本的事务处理和数据分析操作的,但是当数据量非常庞大时,数据库就显得无能为力了。比如,一个早期的电商平台,只需一个网站、几台服务器、一个MySQL就可以运营了,当客户增多、数据量增大时,只需采用多台服务器、多个数据库的方式就可以勉强应付,但是随着数据量的不断增长,数据之间的关系也越来越复杂,管理人员此时关心的不是“昨天营业额是多少”这类问题,而是“哪些用户是高价值用户”、“某商品的销售量与哪些因素有关”等,这时就需要建立数据仓库了,Teradata数据仓库是专门针对决策支持系统的特点而开发的关系数据库管理系统,相对于其它商业数据库,Teradata更适合需要处理大数据量及数据分析的应用,可以极大提高应用的性能。

数据库可以存储和处理数据,而数据仓库的职责则是发掘数据的价值,最大程度地利用数据。

本文为作者kMacro原创,转载请注明来源:http://www.jianshu.com/p/e800fd4c5c08

大数据 - Teradata学习体会的更多相关文章

  1. 大数据Hadoop学习之搭建hadoop平台(2.2)

    关于大数据,一看就懂,一懂就懵. 一.概述 本文介绍如何搭建hadoop分布式集群环境,前面文章已经介绍了如何搭建hadoop单机环境和伪分布式环境,如需要,请参看:大数据Hadoop学习之搭建had ...

  2. 大数据学习---大数据的学习【all】

    大数据介绍 什么是大数据以及有什么特点 大数据:是指无法在一定时间内用常规软件工具对其内容进行抓取.管理和处理的数据集合. 大数据是一种方法论:“一切都被记录,一切都被数字化,从数据中寻找需求,寻找知 ...

  3. Spark大数据的学习历程

    Spark主要的编程语言是Scala,选择Scala是因为它的简洁性(Scala可以很方便在交互式下使用)和性能(JVM上的静态强类型语言).Spark支持Java编程,但对于使用Java就没有了Sp ...

  4. 大数据Python学习大纲

    最近公司在写一个课程<大数据运维实训课>,分为4个部分,linux实训课.Python开发.hadoop基础知识和项目实战.这门课程主要针对刚从学校毕业的学生去应聘时不会像一个小白菜一样被 ...

  5. 大数据Hadoop学习之搭建Hadoop平台(2.1)

     关于大数据,一看就懂,一懂就懵. 一.简介 Hadoop的平台搭建,设置为三种搭建方式,第一种是"单节点安装",这种安装方式最为简单,但是并没有展示出Hadoop的技术优势,适合 ...

  6. 大数据Hadoop学习之了解Hadoop(1)

    关于大数据,一看就懂,一懂就懵. 大数据的发展也有些年头了,如今正走在风口浪尖上,作为小白,我也来凑一份热闹. 大数据经过多年的发展,有着不同的实现方案和分支,不过,要说大数据实现方案中的翘楚,那就是 ...

  7. Java开发者想尝试转行大数据,学习方向建议?

      ​前言 相信很多Java开发者都对大数据有一定的了解,随着大数据时代的到来,也有很多Java程序员想要转行大数据.大数据技术中大多数平台使用的都是Java语言,因此,对于大数据技术的学习来说,Ja ...

  8. 布客·ApacheCN 编程/后端/大数据/人工智能学习资源 2021.7

    公告 ApacheCN 翻译预计将于半年内恢复. 我们的开源项目必须有中文的 README,如果是文档类项目,必须全部中文,否则将会被清理.请大家贡献项目时一定要留意. 我们目标是[财务自由+情感自由 ...

  9. 布客·ApacheCN 编程/后端/大数据/人工智能学习资源 2020.11

    公告 我们始终与所有创作者站在一起,为创作自由而战.我们还会提供一切必要的技术支持. 我们全力支持科研开源(DOCX)计划.希望大家了解这个倡议,把这个倡议与自己的兴趣点结合,做点力所能及的事情. 我 ...

随机推荐

  1. LeetCode Weekly Contest 47

    闲着无聊参加了这个比赛,我刚加入战场的时候时间已经过了三分多钟,这个时候已经有20多个大佬做出了4分题,我一脸懵逼地打开第一道题 665. Non-decreasing Array My Submis ...

  2. 初识SVN-版本控制工具

    慕课网安装教程链接:http://www.imooc.com/video/1924

  3. [2014-12-30]如何动态构造Lambda表达式(动态构造Lambda查询条件表达式)

    声明 本文对Lambda表达式的扩展,示例代码来源于网络. 场景描述 web开发查询功能的时候,如果查询条件比较多,就会遇到动态组合查询条件的情况.在手写sql的情况下,我们一般会根据传入的参数,针对 ...

  4. Tomcat迁移到WebsphereURL获取中文参数乱码问题

    URL携带中文参数时,tomcat通常用两种方法可以解决中文乱码问题: String param = new String(request.getParameter("param " ...

  5. 下拉菜单效果和tab选项卡切换

    //下拉菜单效果和tab选项卡切换. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " ...

  6. 对 响应数据写在config文件的再次优化

    之前写过 [基于moco的mock server 简单应用]这篇文章,然后自己这段时间也在做基金的接口测试,逛了一些论坛,然后对 响应数据写在config文件的再次优化,之前是把所有的响应数据都写到c ...

  7. .net中html转pdf

    最近研究了2天如何把html转为pdf保存的方法,网上找了好多解决方案.总结下来也就是2种 一种是使用js的插件 jspdf  这款插件我试了下,很强大  使用起来也很简单,唯一 一点不好的就是转成p ...

  8. Java内存溢出分析方法(Eclipse Memory Analyzer 使用简单入门)

    转载至:http://outofmemory.cn/java/jvm/OutOfMemoryError-analysis 工具 安装Memory Analyse Tools(MAT) 工具, 可以直接 ...

  9. [js高手之路]深入浅出webpack教程系列3-配置文件webpack.config.js详解(下)

    本文继续接着上文,继续写下webpack.config.js的其他配置用法. 一.把两个文件打包成一个,entry怎么配置? 在上文中的webpack.dev.config.js中,用数组配置entr ...

  10. 猜数字游戏--基于python

    """题目:练习使用python写一个猜数字的游戏,数字范围0-100,每次猜错,需要给出缩小后的范围,每个人只有10次的猜测机会,猜测机会用完游戏结束!"&q ...