大数据概述
English version: General Introduction to Big Data
本讲介绍大数据的定义、演变、特征、类型与架构。
什么是大数据?
历史定义
- 1997 年(NASA):“big data” 一词首次出现在 NASA 科学家的论文中,描述可视化问题:“当数据集无法放入主内存,甚至无法放入本地磁盘时,最常见的解决方案是获取更多资源。”
- 2008 年:知名计算机科学家预测”大数据计算”将”改变企业、科研人员、医疗从业者以及国家国防与情报机构的运作方式”。
- 《牛津英语词典》(定义 #1):“规模非常大的数据,通常达到其操作和管理带来重大物流挑战的程度。”
- 《牛津英语词典》(定义 #2):“规模过大或过于复杂,难以用标准方法处理、分析或使用的信息集合。”
- 麦肯锡(2011 年):“规模超出典型数据库软件工具捕获、存储、管理和分析能力的数据集。“该定义被故意设计为主观性的,并包含一个动态阈值。
大数据的演变
数据规模从 1950 年代的仅 600 MB 增长到 2010 年的 100 PB。
什么催生了大数据?
智能设备和互联系统的普及极大地增加了数据生成量:
- 普通手机 → 智能手机
- 台式机 → 云服务与应用
- 普通汽车 → 智能无人驾驶汽车
- 智能家居 → 智慧城市与物联网
大数据特征 — 5V
2001 年,行业分析师 Doug Laney 将 3V(Volume、Velocity、Variety)描述为关键的数据管理挑战。后来又增加了更多 V:
| V | 含义 | 说明 |
|---|---|---|
| Volume(容量) | 数据的规模 | 大到无法有效本地存储、访问或处理 |
| Velocity(速度) | 数据生成的速度 | 比小数据更持续地产生;包括生成频率和处理频率 |
| Variety(多样性) | 不同类型的数据 | 结构化、非结构化或半结构化:数字、文本、图像、视频、音频等 |
| Veracity(真实性) | 数据准确性 | 涉及数据来源、所有权、质量、不确定性和可信度 |
| Value(价值) | 有用的数据 | 可通过大数据分析提取的知识 |
容量带来的挑战
- 在保持完整性和安全性的前提下存储海量数据
- 快速且关键地访问这些数据
- 处理大数据以检索感兴趣的信息
速度示例(2015 年每分钟)
- 100,000+ 条推文
- 695,000+ 条社交状态更新
- 11,000,000+ 条即时消息
- 700,000+ 次 Google 搜索
- 170,000,000+ 封电子邮件
- 1,820 TB 数据产生
- 220 位新移动用户
真实性顾虑
- 每 3 位企业领导者中就有 1 位不信任其用于做出关键决策的信息
- 90% 的数据已过时或存储在过时的介质上(称为暗数据)
大数据类型
数据可分为机器生成或人类生成:
- 人类生成:人与机器交互的产物 —— 电子邮件、文档、Facebook 帖子
- 机器生成:由计算机应用或硬件在无主动人工干预的情况下生成 —— 传感器、灾害预警系统、气象预报系统、卫星数据
基本类型
| 类型 | 说明 | 示例 |
|---|---|---|
| 结构化数据 | 以行和列的表格式存储在关系型数据库中 | 员工信息、金融交易 |
| 非结构化数据 | 原始的、未组织的,不适合关系型数据库系统 | 视频、音频、图像、电子邮件、文本文件、社交媒体帖子 |
| 半结构化数据 | 具有一定结构,但不适合关系型数据库 | JSON、XML |
JSON
JavaScript Object Notation —— 一种轻量级的数据存储和传输格式,常用于服务器向网页发送数据。
XML
eXtensible Markup Language —— 一种类似于 HTML 的标记语言,用于存储和传输数据。
大数据架构
大数据系统通常分为四个层次:
数据源层
在数据处理和分析之前,必须将数据从原始来源捕获到大数据系统中。示例包括:
- 日志:由 Web 应用和服务器生成,用于性能监控
- 交易数据:由电子商务、银行和金融应用生成
- 社交媒体:由社交媒体平台生成
- 数据库:存储在关系型数据库中的结构化数据
- 传感器数据:由物联网(IoT)系统生成
数据聚合层
涉及使用数据访问连接器(有线和无线)收集原始数据。关键组件:
- 发布-订阅消息传递:涉及发布者、代理和消费者的通信模型。示例:Apache Kafka、Amazon Kinesis。
- Source-Sink 连接器:高效地从各种来源收集、聚合和移动数据到集中式数据存储。示例:Apache Flume。
数据预处理
对原始数据执行的重要过程,将其转换为可理解的格式。步骤包括:
| 步骤 | 说明 |
|---|---|
| 数据集成 | 整合不同来源的数据,为最终用户提供统一的数据视图 |
| 数据清洗 | 检测并解决损坏记录、缺失值、格式错误等问题 |
| 数据归约 | 减少数据量或维度(属性数量) |
| 数据转换 | 将数据转换或整合为适合管理和分析的适当格式 |
数据分析层
分析并非新概念 —— 回归分析和机器学习等技术已存在多年。大数据分析侧重于使用高效算法提取有意义的信息。
应用于大数据的分析类型:
| 类型 | 目的 |
|---|---|
| 描述性分析 | 发生了什么? |
| 诊断性分析 | 为什么发生? |
| 预测性分析 | 将会发生什么? |
| 规范性分析 | 我们应该怎么做? |
数据可视化层
可视化通过帮助最终用户从数据中获取洞察,完成了大数据的生命周期:
- 静态:展示存储在服务数据库中的分析结果
- 动态:使用实时组件、图表或仪表定期更新结果
- 交互式:接受用户输入并显示相应结果
推荐教材
-
Big Data Analytics: A Hands-On Approach —— Arshdeep Bahga & Vijay Madisetti
- ISBN: 978-1-949978-00-1
- 网站: www.hands-on-books-series.com
-
Python Data Science Handbook —— Jake VanderPlas
- ISBN: 978-1-491-91205-8
-
Learning Python —— Mark Lutz
- ISBN: 978-0-596-15806-4
相关概念
- 大数据 5Vs —— 深入解析 Volume、Velocity、Variety、Veracity、Value
- 结构化与非结构化数据 —— 数据类型对比
- 大数据架构 —— 四层系统概览
- 数据分析类型 —— 描述性、诊断性、预测性、规范性