大数据系统 Big Data Systems(BDS)
“大数据”一词特指数据量非常大的计算机系统,例如包含无法在单一服务器上存储的视频、图像、手写体等文件。此类系统进入了规模问题:如何存储海量的数据,如何确保数据是高质量的,如何以高效的方式处理数据,以及如何有效地洞察数据。本章节将详细讨论规模问题、数据存储、高性能计算和复杂理论等主题。讨论内容包括一系列通常用于解决大规模计算的技术,由于技术的发咋行,也需要考虑对大数据应用的支撑。
范围 | 能力 |
---|---|
|
|
子领域 | |
BDS-大规模计算问题–T1 BDS-大数据计算架构–E BDS-并行计算框架–E BDS-分布式数据存储-T2,E BDS-并行编程-T2 BDS-大数据应用技术-T2 BDS-云计算-T2 BDS-复杂理论-E BDS-对大数据技术的软件支持 |
BDS-大规模计算问题-T1
在管理和处理海量数据相关工作时,虽则数据量的增加,计算问题随之凸显。数据量和随之计算结果量的增长保证更有效的洞察。
知识
- 大数据背景下的海量数据需求,包括规模、吞吐和时效。
- 计算规模的界定。
- 计算量快速增长的考量。
- 数据快速增长的存储考量。
- 重视简单性的必要。
- 解决与日俱增的代理/进程的协调问题的方法。
技能
- 概述大数据应用致使的复杂性增加的原因,并明确这种复杂性的本质。
- 强调简单性重要的原因,但不能过度简单化。
- 描述减低复杂性可以采取的常用步骤。
- 根据统计和调研,对应用的数据规模和处理速度进行评估。
品行
- 建立对大规模计算难题的正确认知。
- 建立解决大规模计算的必要信心。
BDS-大数据计算架构-E
从计算机系统发展的历史角度来看,存在两个不同的应用架构模式:一个以I/O密集型为主,一个以计算密集为主。这两类应用所使用的系统(包括硬件和软件)在很大程度上是互相独立,为满足自身需求而定制设计的。而最新的发展方向表明,例如设计机器学习和深度学习的体系,已经趋向于融合两类架构,使之能够共享所有的设备。
知识
- 支持快速、高效地输入/输出数据的机制。
- 以数据为中心的高性能计算概念以及需求。
- 内存:考虑缓存,以及数据一致性问题。
- 各种并行计算架构,各自的优点和局限:多核、网格计算、GPU、共享内存、分布式内存、对称多进程、向量计算。
- 费林分类法(一种高性能计算分类方式)。
- 支持并行计算的计算指令。
- 并行存储的层次结构。
技能
- 掌握实现快速输入/输出数据的方法。
- 阐释各类快速输入/输出方法中的问题本质。
- 比较和对比各类并行计算架构。
- 阐述各类并行架构适合的应用及其性质。
- 针对特定的计算模式和数据特征,选择最合适的计算模型和系统架构。
品行
- 建立起对解决数据科学应用中计算硬件问题的信心。
BDS-并行计算框架-E
并行计算模型为上层并行计算程序提供非常重要的支持。
知识
- 并行计算模型的定义和设计目标。
- 并行计算模型的类型。
- 分布式系统。
- 网格搜索。
- 过程交互:通信和协调的问题。
- 问题分解:基于任务的分解,数据并行的分解。
技能
- 构建并行计算系统的模型。
- 评估并行计算的效率和效果。
- 如何设计和部署大规模数据并行处理系统。
品行
- 建立起对评估和设计复杂系统的信心。
BDS-分布式数据存储
大数据应用构筑于可扩展的、可容纳海量数据、可在不同机器上处理并且可在适当的时间范围内执行处理任务的数据存储技术之上。
知识
T2:
- 存储大量数据的技术,包括支持存储在不同类型设备上。
- 存储的文件结构。
- 确保清洁、一致和各类典型类型数据。
- 保护和维护数据。
- 数据提取问题。
- 各类型大规模数据存储寻址技术的优势和局限性:例如哈希、过滤、抽样等。
- 数据备份。
技能
T2:
- 阐述不同文件系统技术在处理大数据方面的作用。
- 概述大数据中各种冗余技术的优点。
- 描绘如何从大数据集中有效消除不必要的数据冗余。
- 描述大数据应用中保护和维护数据的技术,如何确保数据是最新的并且可用的。
E:
- 开发一个分布式数据存储系统,为可扩展机制选择和设定必要参数。
- 设计具备存储、迁移和压缩等相关策略的以数据为中心的存储系统,确保系统扩展性、可用性、高效性和安全性。
品行
T2:
- 建立设计一个支持大数据应用存储机制的积极意向。
BDS-并行编程-T2
并行编程,意即多个任务可以同时运行,是提高程序运行效率的一个重要技术手段,需要新型编程结构来支持。在实践中,这会带来新的程序缺陷,而且可达到的效率具有一定的限制。
知识
- 并发和并行,以及分布式系统。
- 并行机制的局限性,包括开销。
- 解决并发和并行计算的不同方法。
- 并行算法以及所需要支持的特定硬件架构,负载均衡问题。
- 经典的并行编程范式,例如MapReduce。
- 并行/并发算法的复杂性。
技能
- 解释并发/并行算法在处理大规模数据计算上的局限性。
- 识别特定并行算法中开销相关问题。
- 掌握并实现以数据为中心的并行程序开发方法。
- 根据数据规模和处理要求,开发和部署以数据为中心的并行计算系统。
- 开发和优化数据为中心的并行程序。
- 设计、实现和调优并行编程算法。
品行
- 认识并行计算的开销在特定情况下会变得过大。
- 建立在适当情况下创建并行处理系统的信心
BDS-大数据应用技术-T2
现有的技术,经过整合调优,已被证明在提高大数据应用程序的数据处理效率方面具有很高的价值。
知识
- 协同处理大数据技术的需求。
- 哈希。
- 采样、过滤。
- 数据草图和概要。
- 哈希、采样和过滤技术的局限性。
技能
- 说明哈希算法在处理大数据方面的作用。
- 阐述一系列可用于指导采样和过滤的准则。
- 遵循给定的准则,为特定的大数据应用执行样本选择。
- 审慎评估各种过滤方法及其用途。
- 根据可用空间和可容仍的精度损失,设计数据草图和概要结构,并分析其性能。
品行
- 关注在执行采样和过滤时存在的偏差陷阱。
BDS-云计算-T2
在大数据领域,云服务具备多种优势(与集群相较而言),了解其优势并有效利用非常关键,这其中还包含有网络服务技术知识。
知识
- 云计算的特性及其优势。
- 数据中心的架构。
- 与云计算相关的风险。
- 支持云计算的不同方法。
- 分布式文件系统。
- 支持大数据应用的云服务。
- 虚拟化技术。
- 云计算、云存储和虚拟机的安全性问题。
技能
- 概述云服务系统的主要任务。
- 设计数据中心。
- 列举典型的支持大数据应用的云服务。
- 选择和部署支持特定大数据应用的云服务。
- 设计云的安全策略。
品行
- 培养对云服务的使用责任心。
依赖
- 不同的云服务供应商包括亚马逊、谷歌和微软等。
BDS-复杂理论-E
了解如何衡量算法的性能,包括序列和并行算法,以及性能的理论极限,是大数据应用的技术的理论基础。
知识
- 计算的问题和算法的性能。
- 计算复杂性的概念,在大数据应用中并发/并行场景下使用的重要性。
- 复杂性在理论上的极限。
- 评估常用算法的复杂性,包括并发/并行计算的算法。
技能
- 解释为什么在处理性能方面的问题时,仅靠数学分析是不够的。
- 在给出一个明确数据规模、时间限制和资源限制的问题,分析该问题是否可以被解决,或者从复杂性方面可以以某种方式来解决。
- 在考虑到数据规模的前提下,选择适合特定大数据应用计算任务的算法。
品行
- 培养在处理复杂性方面的积极态度和信心。
- 认识到复杂性问题的解决是存在极限的。
BDS-对大数据应用的软件支持-T2
掌握一套可以有效部署和系统工作的高质量软件工具,有效简化大数据集的处理任务,使应用对底层透明从而发挥更大的数据洞察和创新价值。
知识
- 对支持大数据应用的编程环境的需求及其本质内涵。
- 自动伸缩容和无服务器计算的概念。
- 评估支持大数据场景下数据传输、分析和机器学习的复杂网络的可用性。
技能
- 比较和对照自动伸缩容和无服务器计算的用处。
- 识别负载均衡和自动伸缩容之间的关系。
- 阐述缓冲区大小对流式应用的影响。
- 了解能够推进人脸识别和视频流媒体应用的网络服务。
品行
- 鼓励对网络服务的使用问题进行反射,包括可能的偏差和其他类似缺陷。
- 培养在处理大数据应用方面的信心。
- 鼓励在大数据应用场景下简化设计,但不能过度简化。