大数据 - Teradata学习体会
引言
随着计算机系统在处理能力、存储能力等方面,特别是计算机软件技术的不断提高,使得信息处理技术得到飞速发展。
数据处理主要分为两大类:联机事物处理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学习体会的更多相关文章
- 大数据Hadoop学习之搭建hadoop平台(2.2)
关于大数据,一看就懂,一懂就懵. 一.概述 本文介绍如何搭建hadoop分布式集群环境,前面文章已经介绍了如何搭建hadoop单机环境和伪分布式环境,如需要,请参看:大数据Hadoop学习之搭建had ...
- 大数据学习---大数据的学习【all】
大数据介绍 什么是大数据以及有什么特点 大数据:是指无法在一定时间内用常规软件工具对其内容进行抓取.管理和处理的数据集合. 大数据是一种方法论:“一切都被记录,一切都被数字化,从数据中寻找需求,寻找知 ...
- Spark大数据的学习历程
Spark主要的编程语言是Scala,选择Scala是因为它的简洁性(Scala可以很方便在交互式下使用)和性能(JVM上的静态强类型语言).Spark支持Java编程,但对于使用Java就没有了Sp ...
- 大数据Python学习大纲
最近公司在写一个课程<大数据运维实训课>,分为4个部分,linux实训课.Python开发.hadoop基础知识和项目实战.这门课程主要针对刚从学校毕业的学生去应聘时不会像一个小白菜一样被 ...
- 大数据Hadoop学习之搭建Hadoop平台(2.1)
关于大数据,一看就懂,一懂就懵. 一.简介 Hadoop的平台搭建,设置为三种搭建方式,第一种是"单节点安装",这种安装方式最为简单,但是并没有展示出Hadoop的技术优势,适合 ...
- 大数据Hadoop学习之了解Hadoop(1)
关于大数据,一看就懂,一懂就懵. 大数据的发展也有些年头了,如今正走在风口浪尖上,作为小白,我也来凑一份热闹. 大数据经过多年的发展,有着不同的实现方案和分支,不过,要说大数据实现方案中的翘楚,那就是 ...
- Java开发者想尝试转行大数据,学习方向建议?
前言 相信很多Java开发者都对大数据有一定的了解,随着大数据时代的到来,也有很多Java程序员想要转行大数据.大数据技术中大多数平台使用的都是Java语言,因此,对于大数据技术的学习来说,Ja ...
- 布客·ApacheCN 编程/后端/大数据/人工智能学习资源 2021.7
公告 ApacheCN 翻译预计将于半年内恢复. 我们的开源项目必须有中文的 README,如果是文档类项目,必须全部中文,否则将会被清理.请大家贡献项目时一定要留意. 我们目标是[财务自由+情感自由 ...
- 布客·ApacheCN 编程/后端/大数据/人工智能学习资源 2020.11
公告 我们始终与所有创作者站在一起,为创作自由而战.我们还会提供一切必要的技术支持. 我们全力支持科研开源(DOCX)计划.希望大家了解这个倡议,把这个倡议与自己的兴趣点结合,做点力所能及的事情. 我 ...
随机推荐
- 【ASP.NET MVC】View与Controller之间传递数据
1 概述 本篇文章主要从操作上简要分析Controller<=>View之间相互传值,关于页面之间传值,如果感兴趣,可参考我另外一篇文章ASP.NET 页面之间传值的几种方式 . Co ...
- java 比较几种常见循环方式的优劣
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt224 我们常用for循环,foeach,while等作为循环list或者数组 ...
- JVM中锁优化,偏向锁、自旋锁、锁消除、锁膨胀
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt364 本文将简单介绍HotSpot虚拟机中用到的锁优化技术. 自旋锁 互斥同 ...
- 大型网站的 HTTPS 实践(四)——协议层以外的实践
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt390 1 前言 网上介绍 https 的文章并不多,更鲜有分享在大型互联网站 ...
- 教学服务系统设计之PHP后台设计
项目简介 本项目是与@nameoverflow同学合作.该同学负责vue 前端的设计,我负责php后台的接口实现.本文将主要记录php后台. 本项目的Github地址:https://github.c ...
- 团队作业8----第二次项目冲刺(beta阶段)5.25
Day7-05.25 1.每日会议 会议内容: 1.今日对整个项目进行了一个总结. 2.讨论了这次项目中的不足和每个人的贡献. 讨论照片:拍摄者 周迪 2.任务分配情况: 每个人的工作分配表: 队员 ...
- 团队作业4——第一次项目冲刺(Alpha版本)4.22
团队作业4--第一次项目冲刺(Alpha版本) Day one: 会议照片 由于团队中的组员今天不在学校,所以我们的站立会议提前一天展开. 项目进展 由于今天是Alpha版本项目冲刺的第一天,所以没有 ...
- 201521123108 《Java程序设计》第7周学习总结
1. 本周学习总结 2. 书面作业 Q1.ArrayList代码分析 Q1.1 解释ArrayList的contains源代码 答:源代码如下: public boolean contains(Obj ...
- 201521123007《Java程序设计》第6周学习总结
1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图,对面向对象思想进行一个总结. 2. 书面作业 1. clone方法 1.1 Object ...
- 201521123039《Java程序设计》 第二周学习总结
1.本周学习总结 答:上课老师介绍了Java基本的数据类型,需要注意的地方有:**java的整型数都为带符号数**,**byte类型范围(-127,128)太小,所以我们一般不使用byte型,byte ...