(一)什么是大数据
大数据(Big Data) ,指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。大数据的 5V 个特征(最早IBM 提出):
Volume (大量)
Velocity (高速)
Variety (多样)
Value (价值)
Veracity (真实性)
大数据的典型案例:
1.电商网站的商品推荐
2.基于大数据的天气预报
(1)商品推荐 问题1:大量的订单如何存储? 问题2:大量的订单如何计算?
(2)天气预报 问题1:大量的天气数据存储? 问题2:大量的天气数据计算?
大数据所解决的问题:核心问题:数据存储:分布式存储(HDFS)
数据计算:分布式计算(MapReduce)
解决方式:数据仓库一种实现方式。下面介绍什么是数据仓库?
(*)传统方式:数据仓库
(*)数据仓库就是一个数据库,比较大,可以是Oracle、MySQL
(*)一般只做select
搭建数据仓库的过程:
ETL(数据采集引擎):extract(抽取)+transfer(转换)+load(加载)------->原始数据
Hadoop可以看成是数据仓库的一种实现方式(下图红色的字都是Hadoop部分)
(二)OLTP 与 OLAP
OLTP:On-Line Transaction Processing(联机事务处理过程)。也称为面向交易的处理过程,其基本特征是前台接收的用户数据可以立即传送到计算中心进行处理,并在很短的时间内给出处理结果,是对用户操作快速响应的方式之一。OLTP 是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。
典型案例:银行转账
OLAP:On-Line Analytic Processing(联机分析处理过程)。OLAP 是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。
典型案例:商品推荐
OLTP 和 OLAP 的区别:
(三)数据仓库
数据仓库,英文名称为 Data Warehouse,可简写为 DW 或 DWH。数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它是单个数据存储, 出于分析性报告和决策支持目的而创建。
(四)Google 的基本思想
Hadoop 的思想来源:Google
Google 搜索引擎,Gmail,安卓,AppspotGoogle Maps,Google earth,Google学术, Google 翻译,Google+,下一步 Google what?
- 不使用超级计算机,不使用存储(淘宝的去 i,去 e,去 o 之路)
- 大量使用普通的 pc 服务器(去掉机箱,外设,硬盘),提供有冗余的集群服务
- 全世界多个数据中心,有些附带发电厂
- 运营商向 Google 倒付费
Google 的三篇论文(Hadoop 的思想来源)
(2) MapReduce:来源:PageRank问题(网页排名)
(3) BigTable:大表 ----> HBase
- GFS(Google File System:Google 的文件系统)
- 倒排索引
- Page Rank(排名先后)
- BigTable(大表):BigTable 是 Google 设计的分布式数据存储系统,用来处理海量的数据的一种非关系型的数据库。
Eg:什么是关系模型?(关系型数据库)
常见的 NoSQL 数据库(key-value 值):
(1) HBase: 基于 HDFS 的 NoSQL 数据库、面向列的
(2) Redis: 基于内存的 NoSQL 数据库、支持持久化: rdb 和 aof
(3) MongoDB: 面向文档的 NoSQL
(4)Cassandra: 面向列的 NoSQL 数据库
(五) Hadoop 的源起——Lucene,从 lucene 到 nutch,从 nutch 到 hadoop
- 2003-2004 年,Google 公开了部分 GFS 和 Mapreduce 思想的细节,以此为基础 Doug Cutting 等人用了 2 年业余时间实现了 DFS 和 Mapreduce 机制, 使 Nutch 性能飙升
- Yahoo 招安 Doug Cutting 及其项目
- Hadoop 于 2005 年秋天作为 Lucene 的子项目 Nutch 的 一部分正式引入 Apache 基金会。2006 年 3 月份,Map-Reduce 和 Nutch Distributed File System (NDFS) 分别被纳入称为 Hadoop 的项目中
- 名字来源于 Doug Cutting 儿子的玩具大象