大数据分析与计算 汤羽 第二章习题答案

大数据分析与计算 汤羽 第二章习题答案,第1张

数据分析与计算 汤羽 第二章习题答案

1. 阐述大数据计算系统涉及到的三个基本系统及其含义。

参考答案:三个基本系统:数据存储系统、数据处理系统、数据应用系统。

1)数据存储系统包括数据采集层(系统日志、网络爬虫、无线传感器网络、物联网、以及各种数据源);数据清洗、抽取与建模(将各种类型的结构化、非结构化、异构数据转化为标准存储格式数据,并定义数据属性及值域)

2)数据处理系统包括针对不同类型数据的计算模型(如针对非结构化数据的MapReduce批处理模型、针对动态数据流的流计算(Stream Computing)模型、针对结构化数据的大规模并发处理(MPP)模型、基于物理大内存的高性能内存计算(In-memory Computing)模型等);针对应用需求的各类数据分析算法(回归分析、聚合算法、关联规则算法、决策树算法、贝叶斯分析、机器学习算法等)

3)数据应用系统则是基于上述存系统和计算处理平台提供各行业各领域的大数据应用技术解决方案。

2. 大数据存储架构的构成,并用图展示说明。

参考答案: 目前的大数据存储架构主要由数据层、分布式文件系统、非关系型数据库(NoSQL)、以及一个统一标准的数据读取界面组成,有些设计中还会在NoSQL数据库之上加一个提供数据挖掘和分析功能的数据仓库层,如图所示。

 

3. 美国国家标准学会把数据模型定义为三个层次,分别为哪三个层次,并阐述每个层次的含义。

参考答案:概念模型主要基于用户的数据功能需求产生,通过与客户的交流获得对客户业务要素、功能和关联关系的理解,从而定义出该业务领域内对应于上述业务要素和功能的实体类(entity class)。概念建模阶段并不拘泥于实体的实现细节或存储方式,重点是表达能够反映客户数据需求和支撑业务流程的数据实体及其相互间的关联关系。

       逻辑模型则给出更多的数据实体细节,包括主键、外键、属性、索引、关系、约束、甚至是视图,以数据表、数据列、值域、面向对象类(object-oriented class) 、XML标签等形式来描述。在有些建模实践中把概念模型与逻辑模型合为一个模型也是可以的。

       物理模型(有时又被称为存储模型)则是考虑数据的存储实现方式,包括数据拆分(partition)、数据表空间、数据集成。有的数据建模工具(如SparX Enterprise Architect)在此阶段还可按照上述逻辑模型生成与实体对应的SQL代码段,用于随后的数据库表格设计。

4. 关系型数据库面临的挑战有哪些?

参考答案:

  • 大数据超大规模数据(PB量级)的存储和管理要求系统具有很好的d性、在分布式环境中可方便地扩展,传统关系型数据库对数据一致性完整性的强调和集中部署方式使得其扩展性较差、难以适应数据量爆炸式增长的场景。
  • RDBMS基于严格定义的键索引和数据表的存储模式适合结构化数据的存储管理,并能提供高效的基于SQL语言的查询机制。但对于非结构化或半结构化数据,RDBMS就难以处理,查询效率也大大降低。
  • 大数据计算处理要求数据存储结构能够很好地支持上层的计算模型。比如MapReduce计算模型采用的是分治策略(Divide-and-Conquer),即先把一个大数据集划分(split)为多个子集,然后每个子集运行Map程序进行处理;在完成子集的处理后,再运行Reduce程序完成计算结果的汇总,这就要求下层的数据存储结构能够支持这种数据集(或数据表结构)的划分和融汇功能。关系型数据库由于严格的数据一致性完整性要求,难以对数据表进行这种分割处理,因此很难支持大数据计算的各种计算模型。

5. 按照存储架构设计,NoSQL数据库有哪四种分类?

参考答案:NoSQL数据库可分为键值数据库(key-value store database)、列存储数据库(column family-oriented database)、文档数据库(document-oriented database)和图形数据库(graph-oriented database)四个大类。

      键值(key-value)数据库是基于键值对(key, value)实现对数据的存储和查询。其基本思想是:数据值(value)是通过键(key)来查询,键可以是字符串类型,值可以是任意类型的数据,比如整型、字符型、数组、列表、集合等。底层结构则可采用哈希表(Hash Table)对键进行索引和管理,支持快速查询。但键值数据库不支持基于数据值的查询。

       列存储数据库采用列存储结构(columnar storage structure),也有人称之为DSM(decomposition storage model)存储模型,即数据是基于值域(列)进行检索、存储和管理。列式存储仍然使用键(key),但键是指向列。列存储数据库支持高压缩比,大规模数据下对数据字段的查询非常高效,但不适合于实时删除或更新整条记录,也不支持数据表的join *** 作。

      文档数据库是围绕一系列语义上自包含的文档来组织数据管理的,文档没有模式(schema free),也就是说并不要求文档具有某种特定的结构。一个文档数据库实际上是一系列文档的集合,文档其实是一个数据记录,这个记录能够对包含的数据类型和内容进行“自我描述”,XML文档、HTML文档和JSON 文档就属于此类。

      图形数据库将社交关系等数据描述为点(Vertex)和边(Edge)及他们的属性(Property),每一张图(Graph)都可以看做是一个结构化数据。

6. 列举两种在大数据计算分析中主要用到的计算模型。

参考答案:数据计算分析主要用到的计算模型有MapReduce (离线批处理),流计算(Streaming)。

MapReduce是一种支持分布式计算环境的并行处理模型。MapReduce程序运行在由多台计算机组成的Master/Slave集群架构上(一个Master节点,多个Slave节点;Master节点负责任务调度和管理,Slave节点执行具体的计算任务)。MapReduce模型实际上采用了分治策略(divide-and-conquer),即将一个大数据集分割为多个小尺度子集(split),然后让计算程序靠近每个子集,同时并行完成计算处理。MapReduce编程界面简便易用,能够在普通商业计算机集群上有效地处理超大规模数据,是目前大数据计算的一个主流计算模型。MapReduce的不足之处是硬盘数据读取频繁,处理时效性较差,不适合于要求快速响应的在线智能分析。

       流计算(Stream Computing)是一种处理实时动态数据的计算模型。流计算过程:数据采集系统将实时数据(消息队列metaQ或Socket导入数据、前端业务数据、Log监控数据等)通过平台的数据接入层导入Storm平台;Storm实时处理系统则承担数据实时计算分析任务;计算结果则导入数据落地层(Hadoop的HDFS存储系统、MySQL数据库或Lustre文件系统),提供对用户的实时查询服务。另外,Storm还有一个元数据管理器统一协调前端业务数据写入,定义实时数据类型及描述格式,并指导数据落地层如何处理结果数据。应当注意,Storm实时处理系统并不是将所有的实时数据都导入落地层,大部分无用的实时数据在完成计算后即丢弃。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5574270.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存