大数据简介
大数据简介
简介
什么是大数据
大数据是指超出传统数据库工具收集、存储、管理和分析能力的数据集。与此同时,及时采集、存储、聚合、管理数据,以及对数据深度分析的新技术和新能力,正在快速增长,就像预测计算芯片增长速度的摩尔定律一样。
- Volume - 数据规模巨大
- Velocity - 生成和处理速度极快
- Variety - 数据规模巨大
- Value - 生成和处理速度极快
应用场景
基于大数据的数据仓库
基于大数据的实时流处理
Hadoop 编年史
时间 | 事件 |
---|---|
2003.01 | Google 发表了 Google File System 论文 |
2004.01 | Google 发表了 MapReduce 论文 |
2006.02 | Apache Hadoop 项目正式启动,并支持 MapReduce 和 HDFS 独立发展 |
2006.11 | Google 发表了 Bigtable 论文 |
2008.01 | Hadoop 成为 Apache 顶级项目 |
2009.03 | Cloudera 推出世界上首个 Hadoop 发行版——CDH,并完全开放源码 |
2012.03 | HDFS NameNode HA 加入 Hadoop 主版本 |
2014.02 | Spark 代替 MapReduce 成为 Hadoop 的缺省计算引擎,并成为 Apache 顶级项目 |
技术体系
HDFS
概念
- Hadoop 分布式文件系统(Hadoop Distributed File System)
- 在开源大数据技术体系中,地位无可替代
特点
- 高容错:数据多副本,副本丢失后自动恢复
- 高可用:NameNode HA,安全模式
- 高扩展:10K 节点规模
- 简单一致性模型:一次写入多次读取,支持追加,不允许修改
- 流式数据访问:批量读而非随机读,关注吞吐量而非时间
- 大规模数据集:典型文件大小 GB~TB 级,百万以上文件数量, PB 以上数据规模
- 构建成本低且安全可靠:运行在大量的廉价商用机器上,硬件错误是常态,提供容错机制
MapReduce
概念
- 面向批处理的分布式计算框架
- 编程模型:将 MapReduce 程序分为 Map、Reduce 两个阶段
核心思想
- 分而治之,分布式计算
- 移动计算,而非移动数据
特点
- 高容错:任务失败,自动调度到其他节点重新执行
- 高扩展:计算能力随着节点数增加,近似线性递增
- 适用于海量数据的离线批处理
- 降低了分布式编程的门槛
Spark
高性能分布式通用计算引擎
- Spark Core - 基础计算框架(批处理、交互式分析)
- Spark SQL - SQL 引擎(海量结构化数据的高性能查询)
- Spark Streaming - 实时流处理(微批)
- Spark MLlib - 机器学习
- Spark GraphX - 图计算
采用 Scala 语言开发
特点
- 计算高效 - 内存计算、Cache 缓存机制、DAG 引擎、多线程池模型
- 通用易用 - 适用于批处理、交互式计算、流处理、机器学习、图计算等多种场景
- 运行模式多样 - Local、Standalone、YARN/Mesos
YARN
概念
- Yet Another Resource Negotiator,另一种资源管理器
- 为了解决 Hadoop 1.x 中 MapReduce 的先天缺陷
- 分布式通用资源管理系统
- 负责集群资源的统一管理
- 从 Hadoop 2.x 开始,YARN 成为 Hadoop 的核心组件
特点
- 专注于资源管理和作业调度
- 通用 - 适用各种计算框架,如 - MapReduce、Spark
- 高可用 - ResourceManager 高可用、HDFS 高可用
- 高扩展
Hive
概念
- Hadoop 数据仓库 - 企业决策支持
- SQL 引擎 - 对海量结构化数据进行高性能的 SQL 查询
- 采用 HDFS 或 HBase 为数据存储
- 采用 MapReduce 或 Spark 为计算框架
特点
- 提供类 SQL 查询语言
- 支持命令行或 JDBC/ODBC
- 提供灵活的扩展性
- 提供复杂数据类型、扩展函数、脚本等
HBase
概念
- Hadoop Database
- Google BigTable 的开源实现
- 分布式 NoSQL 数据库
- 列式存储 - 主要用于半结构化、非结构化数据
- 采用 HDFS 为文件存储系统
特点
- 高性能 - 支持高并发写入和查询
- 高可用 - HDFS 高可用、Region 高可用
- 高扩展 - 数据自动切分和分布,可动态扩容,无需停机
- 海量存储 - 单表可容纳数十亿行,上百万列
ElasticSearch
- 开源的分布式全文检索引擎
- 基于 Lucene 实现全文数据的快速存储、搜索和分析
- 处理大规模数据 - PB 级以上
- 具有较强的扩展性,集群规模可达上百台
- 首选的分布式搜索引擎
术语
数据仓库(Data Warehouse) - 数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它是单个数据存储,出于分析性报告和决策支持目的而创建。 为需要业务智能的企业,提供指导业务流程改进、监视时间、成本、质量以及控制。