一、什么是大数据?
大数据是不能用传统的计算技术处理的大型数据集的集合。它不是一个单一的技术或工具,而是涉及的业务和技术的许多领域。
二、大数据的数据类型:
大数据包括体积庞大,高流速和可扩展的各种数据。它的数据为三种类型。
-
结构化数据:关系数据。
-
半结构化数据:XML数据。
-
非结构化数据:Word, PDF, 文本,媒体日志。
操作大数据
这些包括像MongoDB系统,提供业务实时的能力,这里主要是数据捕获和存储互动工作。
NoSQL大数据系统的设计充分利用已经出现在过去的十年,而让大量的计算,以廉价,高效地运行新的云计算架构的优势。这使得运营大数据工作负载更容易管理,更便宜,更快的实现。
一些NoSQL系统可以提供深入了解基于使用最少的编码无需数据科学家和额外的基础架构的实时数据模式。
分析大数据
这些包括,如大规模并行处理(MPP)数据库系统和MapReduce提供用于回顾性和复杂的分析,可能触及大部分或全部数据的分析能力的系统。
MapReduce提供分析数据的基础上,MapReduce可以按比例增加从单个服务器向成千上万的高端和低端机的互补SQL提供的功能,这是系统的一种新方法。
这两个类技术是互补的,并经常一起部署。
操作与分析系统
操作 | 分析 | |
---|---|---|
等待时间 | 1 ms - 100 ms | 1 min - 100 min |
并发 | 1000 - 100,000 | 1 - 10 |
访问模式 | 写入和读取 | 读取 |
查询 | 选择 | 非选择性 |
数据范围 | 操作 | 回溯 |
最终用户 | 顾客 | 数据科学家 |
技术 | NoSQL | MapReduce, MPP 数据库 |
四、大数据四大特征:
大数据(Big Data)是指“无法用现有的软件工具提取、存储、搜索、共享、分析和处理的海量的、复杂的数据集合。”业界通常用4个V(即Volume、Variety、Value、Velocity)来概括大数据的特征。
一是数据体量巨大(Volume):
二是数据类型繁多(Variety):
三是价值密度低(Value):
四是处理速度快(Velocity):
这是大数据区分于传统数据挖掘的最显著特征。根据IDC的“数字宇宙”的报告,预计到2020年,全球数据使用量将达到35.2ZB。在如此海量的数据面前,处理数据的效率就是企业的生命。
五、数据仓库1. 面向主题
面向主题特性是数据仓库和操作型数据库的根本区别。操作型数据库是为了支撑各种业务而建立,而分析型数据库则是为了对从各种繁杂业务中抽象出来的分析主题(如用户、成本、商品等)进行分析而建立;
2. 集成性
集成性是指数据仓库会将不同源数据库中的数据汇总到一起;
3. 企业范围
数据仓库内的数据是面向公司全局的。比如某个主题域为成本,则全公司和成本有关的信息都会被汇集进来;
4. 历史性
较之操作型数据库,数据仓库的时间跨度通常比较长。前者通常保存几个月,后者可能几年甚至几十年;
5. 时变性
时变性是指数据仓库包含来自其时间范围不同时间段的数据快照。有了这些数据快照以后,用户便可将其汇总,生成各历史阶段的数据分析报告;
数据仓库组件:数据仓库的核心组件有四个:各源数据库,ETL,数据仓库,前端应用。如下图所示:
1. 业务系统
业务系统包含各种源数据库,这些源数据库既为业务系统提供数据支撑,同时也作为数据仓库的数据源(注:除了业务系统,数据仓库也可从其他外部数据源获取数据);
2. ETL
ETL分别代表:提取extraction、转换transformation、加载load。其中提取过程表示操作型数据库搜集指定数据,转换过程表示将数据转化为指定格式并进行数据清洗保证数据质量,加载过程表示将转换过后满足指定格式的数据加载进数据仓库。数据仓库会周期不断地从源数据库提取清洗好了的数据,因此也被称为"目标系统";
3. 前端应用
和操作型数据库一样,数据仓库通常提供具有直接访问数据仓库功能的前端应用,这些应用也被称为BI(商务智能)应用;
- 数据一致性(consistency):如果系统对一个写操作返回成功,那么之后的读请求都必须读到这个新数据;如果返回失败,那么所有读操作都不能读到这个数据,对调用者而言数据具有强一致性(strong consistency) (又叫原子性 atomic、线性一致性 linearizable consistency)[5]
- 服务可用性(availability):所有读写请求在一定时间内得到响应,可终止、不会一直等待
- 分区容错性(partition-tolerance):在网络分区的情况下,被分隔的节点仍能正常对外服务
在某时刻如果满足AP,分隔的节点同时对外服务但不能相互通信,将导致状态不一致,即不能满足C;如果满足CP,网络分区的情况下为达成C,请求只能一直等待,即不满足A;如果要满足CA,在一定时间内要达到节点状态一致,要求不能出现网络分区,则不能满足P。
C、A、P三者最多只能满足其中两个,和FLP定理一样,CAP定理也指示了一个不可达的结果(impossibility result)。