林子雨大数据技术原理与应用答案_第1页
林子雨大数据技术原理与应用答案_第2页
林子雨大数据技术原理与应用答案_第3页
林子雨大数据技术原理与应用答案_第4页
林子雨大数据技术原理与应用答案_第5页
已阅读5页,还剩49页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

林子雨大数据技术原理及应用课后题答案

大数据第一章大数据概述课后题.....................................................1

大数据第二章大数据处理架构Hadoop课后题........................................5

大数据第三章Hadoop分布式文件系统课后题.......................................10

大数据第四章分布式数据库HBase课后题...........................................16

大数据第五章NoSQI数据库课后题.................................................22

大数据第六章云数据库课后作题....................................................28

大数据第七章MapReduce课后题..................................................34

大数据第八章流计算课后题........................................................41

大数据第九章图计算课后题........................................................50

大数据第十章数据可视化课后题....................................................53

大数据第一章课后题

—大数据概述

1.试述信息技术发展史上的3次信息化浪潮及其具体内容。

第一次信息化浪潮1980年前后个人计算机开始普及,计算机走入企业和千

家万户。代表企业:Intel,AMD,IBM,苹果,微软,联想,戴尔,惠普等。

第二次信息化浪潮1995年前后进入互联网时代。代表企业:雅虎,谷歌阿

里巴巴,百度,腾讯。

第三次信息浪潮2010年前后,云计算大数据,物联网快速发展,即将涌现

一批新的市场标杆企业。

2.试述数据产生方式经历的几个阶段。

经历了三个阶段:

运营式系统阶段数据伴随一定的运营活动而产生并记录在数据库。

用户原创内容阶段Web2.0时代。

感知式系统阶段物联网中的设备每时每刻自动产生大量数据。

3.试述大数据的4个基本特征。

数据量大(Volume)

据类型繁多(Variety)

处理速度快(Velocity)

价值密度低(Value)

4.试述大数据时代的“数据爆炸”特性。

大数据摩尔定律:人类社会产生的数据一直都在以每年50%的速度增长,即

每两年就增加一倍。

5.科学研究经历了那四个阶段?

实验比萨斜塔实验

理论采用各种数学,几何,物理等理论,构建问题模型和解决方案。例如:

牛一,牛二,牛三定律。

计算设计算法并编写相应程序输入计算机运行。

数据以数据为中心,从数据中发现问题解决问题。

6.试述大数据对思维方式的重要影响。

全样而非抽样

效率而非精确

相关而非因果

7.大数据决策与传统的基于数据仓库的决策有什么区别?

数据仓库以关系数据库为基础,在数据类型和数据量方面存在较大限制。

大数据决策面向类型繁多的,非结构化的海量数据进行决策分析。

8.举例说明大数据的具体应用。

汽车行业大数据和物联网技术无人汽车

互联网行业分析客户行为,进行商品推介和有针对性的广告投放。

城市管理智能交通环保检测城市规划和智能安防

生物医学流行病预测智慧医疗健康管理解读DNA

个人生活分析个人生活行为习惯,提供周到的个性化服务

9.举例说明大数据的关键技术

数据采集

数据存储和管理

数据处理分析

数据安全与隐私保并

10.大数据产业包含哪些层面?

IT基础设施层

数据源层

数据管理层

数据分析层

数据平台层

数据应用层

11.定义并解释一下术语:云计算,物联网。

云计算实现了通过网络提供可伸缩的廉价的分布式计算力,用户只需要在具

备网络接入条件的地方,就可以随时随地获得所需的各种IT资源。

物联网:物物相连的互联网,利用局部网络或者互联网等通信技术把传感器,

控制器,机器,人员和物等通过新的方式连在一起,形成人与物,物与物相

连,实现信息化和远程管理控制。

12.详细阐述大数据,云计算和物联网三者之间的区别和联系。

大数据、云计算和物联网的区别

大数据侧重于海量数据的存储、处理与分析,从海量数据中发现价值,服务于生

产和生活;云计算本质二旨在整合和优化各种IT资源,并通过网络以服务的方式

廉价提供给用户;

物联网的发展目标是实现物物相连,应用创新是物联网发展的核心。

大数据、云计算和物联网的联系

从整体上看,大数据、云计算和物联网这三者是相辅相成的。大数据根植于云计

算,大数据分析的很多技术都来自于云计算,云L算的分布式和数据存储和管理

系统(包括分布式文件系统和分布式数据库系统)提供了海量数据的存储和管理

能力,分布式并行处理框架MapReduce提供了海量数据分析能力,没有这些

云计算技术作为支撑,大数据分析就无从谈起。反之,大数据为云计算提供了“用

武之地”,没有大数捱这个“练兵场”,云计算技术再先进,也不能发挥它的应

用价值。

物联网的传感器源源不断产生的大量数据,构成了大数据的重要来源,没有物联

网的飞速发展,就不会带来数据产生方式的变革,即由人工产生阶段向自动产生

阶段,大数据时代也不会这么快就到来。同时,物联网需要借助于云计算和大数

据技术、实现物联网大数据的存储、分析和处理。

云计算、大数据和物联网,三者会继续相互促进、相互影响,更好地服务于社会

生产和生活的各个领域。

大数据第二章课后题答案

——大数据处理架构Hadoop

1.试述Hadoop和谷歌的MapReduce、GFS等技术之间的关系。

Hadoop是Apache软件基金会旗下的-一个开源分布式计算平台,为

用户提供了系统底层细节透明的分布式基础架构。

①Hadoop的核心是分布式文件系统(HadoopDitributedFile

SystemzHDFS闲MapReduce。

②HDFS是对谷歌文件系统(GoogleFileSystem,GFS)的开源实现,是面

向普通硬件环境的分布式文件系统,具有较高的读写速度、很好的容错

性和可伸缩性,支持大规模数据的分布式存储,其冗余数据存储的方式

很好地保证了数据的安全性。

③MapReduce是针对谷歌MapReduce的开源实现,允许用户在不了

解分布式系统底层细节的情况下开发并行应用程序,采用MapReduce

来整合分布式文件系统上的数据,可保证分析和处理数据的高效性。

2.试述Hodoop具有哪些特性。

Hadoop是一个能够对大量数据进行分布式处理的软件框架,并且是以

一种可靠、高效、可伸缩的方式进行处理的,它具有以下几个方面的特性。

①高可靠性。采用冗余数据存储方式,即使一个副木发生故障,其他到木

也可以保证正营对外提供服务。

②高效性。作为并行分布式计算平台,Hocoop采用分布式存储和分布式

处理两大核心技术,能够高效地处理PB级数据。

③高可扩展性。Hodoop的设计目标是可以高效稳定地运行在廉价的计算

机集群上,可以扩展到数以千计的计算机节点。

@高容错性。采用冗余数据存储方式,自动保存数据的多个副本,并且能

够自动将失败的任务进行重新分配。

⑤成本低。Hodoop采用廉价的计算机集群,成本比较低,普通用户也很

容易用自己的PC搭建Hadoop运行环境。

⑥运行在Linux平台上。Hodoop是基于JQV。语言开发的,可以较好地

运行在Linux平台上。

⑦支持多种编程语言。Hadoop上的应用程序也可以使用其他语言编写,

如C++。

3.试述Hadoop在各个领域的应用情况。

互联网领域是Hadoop应用的主要阵地。

①雅虎将Hodocp主要用于支持广告系统与网页搜索。

②Facebook主要将Hadoop平台用于日志处理、推荐系统和数据仓库等

方面。

③淘宝Hodoop集群服务于阿里巴巴集团各部门,数据来源于各部门产品

的线上数据库(Oracle、MySQL)备份、系统日志以及爬虫数据,每天在

Hadoop集群运行各种MapReduce任务,如数据魔方、量子统计、推

荐系统、排行榜等。

@百度选择Hadoop主要用于日志的存储和统计、网页数据的分析和挖掘、

商业分析、在线数据反馈、网页聚类等。

4.试述Hadoop的项目结构以及每个部分的具体功能。

Hadoop项目结构

PigChukwaHiveHBase

MapReduceHDFSZookeeper

CommonAvro

各部分具体功能:

①CommorioCommon为Hadoop其他子项目提供支持的常用工具,

主要包括文件系统、RPC(RemoteProcedureCall)和串行化库,

②AvrOoAvroAvro是Hadoop的---个子项目,也是Apache中的一

个独立项目。Avr。是一个用于数据序列化的系统,提供了丰富的数据结

构类型、快速可压缩的二进制数据格式、存储持久性数据的文件集、远

程调用(RemoteProcedureCall,RPC)的功能和简单的动态语言集成

功能。Av「。可以将数据结构或对象转化成便于存储和传输的格式,节约

数据存储空间和网络传输带宽,Hadoop的其他子项目(如HBase和

Hive)的客户端与服务端之间的数据传输都采用了AvrOo

③HDFSoHDFS是针对GFS的开源实现。具有处理强大数据、流式史理、

可以运行在廉价的商用服务器上等优点。

④HBaseoHBase是针对谷歌的BigTable的开源实现。一般采用HDFS作

为其底层数据存储,基于列的存储,具有强大的非结构化数据存储能力。

具有良好的横向扩展能力。

⑤MapReduceoMopReduce是一种编程模型,用于大规模数据集(大

于1TB)的并行运算。允许用户在不了解分布式系统底层细节的情况下开

发并行应用程序,并将其运行于廉价计算机集群上,完成海量数据的处

理。

⑥ZookeeperoZookeeper是针对谷歌Chubby的-一个开源实现,是高

效和可靠的协同工作系统,提供分布式锁之类的基本服务(如统一命名

服务、状态同步服务、集群管理、分布式应用配置项的管理等),用于构

建分布式应用,减轻分布式应用程序所承担的协调任务。

⑦Hive。Hive是一个基于Hadoop的数据仓库工具,可以用于对Hadoop

文件中的数据集进行数据整理、特殊查询和分析存储,十分适合数据仓

库的统计分析。

⑧Pig。Pig是一种数据流语言和运行环境,适合于使用Hadoop和

MapReduce平台来查询大型半结构化数据集。Pig大大简化了

Hadoop常见的工作任务,它在MapReduce的基础上创建了更简单

的过程语言抽象,为Hodoop应用程序提供了一种更加接近结构化查询

语言(SQL)的接口。

⑨SqoopoSqoop可以改进数据的互操作性,主要用来在Hadoop和关

系数据库之间交换数据。通过Sqoop,可以方便地将数据从MySQL、

OraclexPostgreSQL等关系数据库中导入Hodoop(可以导入HDFS、

HBase或Hive),或者将数据从Hadoop导出到关系数据库,使得传统关

系数据库和Hcdoop之间的数据迁移变得非常方便。

⑩ChukwaoChukwQ是一个开源的、用于监控大型分布式系统的数据收

集系统,可以将各种类型的数据收集成适合Hodoop处理的文件,并保

存在HDFS中供Hadoop进行各种MapReduce操作。

5.路径JAVA_HOME是在哪一个配置文件中进行设置的?

在安装Hadoop的文件夹下的“conf”目录下配置。

6.所有节点的HDFS路径是通过fs.defQ来设置的,请问它是在哪个

配置文件中设置的?

在安装目录下的HDFScore-site.xml配置文件中配置。

是文件系统的名字。通常是NameNode的hostname

与P。1需要在每一个需要访问集群的机器上指定,包括集群中的节点

7.试列举单机模式和伪分布模式的异同点。

相同点:运行机器数相同。单机模式与伪分布式都是在一台单机上运行。

不同点:

①运行模式不同:单机模式是Hadoop的默认模式,即在一台单机上运行,

没有分布式文件系统,直接读写本地操作系统的文件系统。伪分布模式

但用不同的Java进程模仿分布式运行中的各类结点。

②启动进程不同:单机模式下,Hadocp不会启动NameNodex

DataNodexJobTrackerxTaskTracker等守护进程,Mop()和Reduced

任务作为同一个进程的不同部分来执行的。伪分布式模式下,Hadoop

启动NameNode、DotoNode、JobTracker^ToskTrocker这些守护

进程都在同一台机器上运行,是相互独立的JQV。进程。

③配置文件处理方式不同:单机模式下,不对配置文件进行修改。伪分布

式模式下,修改3个配置文件:core-site.xml(Hadoop集群的特性,

作用于全部进程及客户端)、hdfs-sitexml(配置HDFS集群的工作属性)、

mapred-site.xml(配置MapReduce集群的属性)。

@节点交互不同:单机模式因为不需要与其他节点交互,单机模式就不使

用HDFS,也不加载任何Hadoop的守护进程。该模式主要用于开发调

试MapReduce程序的应用逻辑。伪分布模式在单机模式之上增加了代

码调试功能,允许你检查内存使用情况,HDFS输入输出,以及其他的守

护进程交互。

8.Hodoop伪分布式运行启动后所具有的进程都有哪些?

Hodoop伪分布式运行启动后所具有的进程有:NomeNode、DotQNode、

JobTrackerxTaskTrackero

9.如果具备集群实验条件,请尝试按照Hadoop官方文档搭建全分布式的

Hadoop集群环境。

略。

大数据第三章课后作业

——Hadoop分布式文件系统

1.试述分布式文件系统设计的需求。

包括访问透明性、位置透

明性、性能和伸缩透明

性;访问透明性:用户不

需要专门区分哪些是本

地文件,哪些是远程文HDFS只能提供一定程度

件。用户能够通过相同的的访问透明性,完全的位

(1)透明性

操作来访问本地和远程置透明性、性能和伸缩透

文件资源;位置透明性:明性。

不改变路径名的前提下,

不管文件副本数量和实

际存储位置发生何种变

化,对用户而言都是透明

的;性能和伸缩透明性:

系统中节点的增加和减

少以及性能的变化对用

户而言是透明的,用户感

觉不到什么时候节点加

入或退出;

客户端对于文件的读写HDFS机制非常简单,任

(2)并发性不应该影响其他客户端何时候只允许有一个程

对同一文件的读写;序写入某个文件。

一个文件可以拥有不同

(3)文件复制HDFS采用多副本机制。

位置的多个副本

可以在不同的操作系统

(4)硬件和操作系统异HDFS采用JAVA,具有

和计算机上实现同样的

构性很好的跨平台性。

客户端和服务器端程序;

HDFS建立在大规模兼价

支持节点的动态加入和机器上的分布式文件系

(5)可伸缩性

退出;统集群,具有良好的可伸

缩性。

保证文件服务器在客户HDFS具有多副本机制

(6)容错端或服务器出现问题的和故障自动检测恢复机

时候能正常使用;制。

(7)安全保障系统的安全性;HDFS安全性较弱。

2.分布式文件系统是如何实现较高水平的扩展的?

分布式文件系统把文件分布存储到多个计算机节点上,成千上万的计算机节点

构成计算机集群。

3.试述HDFS中的块和普通文件系统中的块的区别。

HDFS中的块比普通文件系统中的块大很多。且在HDFS中如果一个文件小于

数据块的大小,它并不占用整个数据存储块的空间。

4.试述HDFS中的名称节点和数据节点的具体功能。

名称节点:负责文件和目录的创建删除和重命名等,管理数据节点和文件块

的映射关系。

数据节点:负责数据的存储和读取。

5.在分布式文件系统中,中心节点的设计至关重要,请阐述HDFS是如何减轻

中心节点的负担的。

名称节点不参与数据的传输。

6.HDFS只设置唯一一个名称节点,在简化系统的同时也带来了一些明显的局

限性,请阐述局限性具体表现在哪些方面。

1)命名空间的限制:

名称节点是保存在内存中,因此名称节点能够容纳对象(文件,块)的个数

受到内存空间大小的限制

2)性能的瓶颈

整个分布式文件系统的吞吐量受限于单个名称节点的吞吐量

3)隔离问题

由于集群中只有一个名称节点,只有一个命名空间,因此无法为不同应用程

序进行隔离

4)集群的可用性

一旦唯一的名称节点发生故障,会导致整个集群不可用

7.试述HDFS的冗余数据保存策略。

HDFS采用多副本方式对数据进行冗余存储,通常一个数据块的多个副本会

被分不到不同的数据节点上。

8.数据复制主要是在数据写入和数据恢复的时候发生,HDFS数据复制是使用

流水线复制的策略,请阐述该策略的细节。

这个文件首先被写入本地,被切分成若干个块,每个块向HDFS集群中名称

节点发起写请求,名称节点会将各个数据节点的使用情况,选择一个数据节

点列表返回给客户端,当第一个数据节点接收块的时候,写入本地,并且向

第二数据节点发起连接请求,把自己的接收的块传给第二个数据节点,依次

类推,列表中的对个数据节点形成一条数据复制的流水线。最后数据写完后,

数据复制同时完成.

9.试述HDFS是如何探测错误发生以及如何进行恢复的。

(1)名称节点出错:

1)把名称节点的元数据信息同步存储到其他文件系统;

2)可以把第二名称节点作为不就措施

一般会把两者结合使用,其他文件系统的元数据信息放到第二名称节点

进行恢复,并把第二名称节点作为名称节点使用(这样做仍然会有一部分数

据丢失)

(2)数据节点出错:

数据节点定期向名称节点发送心跳信息,向名称节点报告状态,如果名

称节点没有收到某些数据节点时,这时名称节点将这些数据节点标记为宕机,

由于这些数据节点不可用导致一些数据块的囿本数据量小于冗余因子时,就

会启动数据冗余复制,生成新的副本

(3)数据出错:

网络传输和磁盘错误等因数都会造成数据的错误,客户端读取数据后,

会采用md5对数据块进行校验,以正确读取到正确的数据。如果校验出错,

客户端就会请求到另外一个数据节点读取该文件块,并向名称节点报告这个

文件错误,名称节点会定期检查并重新复制这个块

10.请阐述HDFS在不发生故障的情况下读文件的过程。

1)使用HDFS提供供的客户端Client,向远程的Namenode发起

RPC请求;

2)Nomenode会视情况返回文件的部分或者全部block列表,对于

每个block,Namenode者B会返回有该block拷贝的DataNode地址;

3)客户端Client会选取离客户端最近的DotoNode来读取block;如

果客户端本身就是DataNode,那么将从本地直接获取数据;

4)读取完当前block的数据后,关闭当前的DotoNode链接,并

为读取下一个block寻找最佳的DotaNode;

5)当读完列表block后,且文件读取还没有结束,客户端会继续向

Namenode获取下一扑匕的block歹ij表;

6)读取完一个block都会进行checksum验证,如果读取dotonode

时出现错误,客户端会通知Namenode,然后再从下一个拥有该block

拷贝的datanode继续读。

11.请阐述HDFS在不发生故障的情况下写文件的过程。

1)使用HDFS提供的客户端Client,向远程的Nomenode发起RPC

请求

2)Nomenode会检查要创建的文件是否已经存在,创建者是否有权

限进行操作,成功则会为文件创建一个记录,否则会让客户端抛出异常;

3)当客户端开始写入文件的时候,客户端会将文件切分成多个

packets,并在内部以数据队列“dot。queue(数据队列)”的形式管

理这些packets,并向Namenode申请blocks,获取用来存储replicas

的合适的datanode列表,列表的大小根据Namenode中replication

的设定而定;

4)开始以pipeline(管道)的形式将pocket写入所有的replicas

中。开发库把pocket以流的方式写入第一个dotonode,igdatanode

把该packet存储之后,再将其传递给在此pipeline中的下一个datanode,

直到最后一个dotanode,这种写数据的方式呈流水线的形式。

5)最后一个dotcinode成功存储之后会返回一个。ckpacket(确

认队列),在pipeline里传递至客户端,在客户端的开发库内部维护着”

ackqueue”,成功收到Idatanode返回的ackpacket后会从"ack

queue"移除相应的pocket。

6)如果传输过程中,有某个dotonode出现了故障,那么当前的

pipeline会被关闭,出现故障的datanode会从当前的pipeline中移除,

剩余的block会继续剩下的datanode中继续以pipeline的形式传输,同

时Namenode会分配一个新的datanode,保持replicas设定的数量。

7)客户端完成数据的写入后,会对数据流调用close。方法,关词数

据流;

8)只要写入了dfs.eplicotion.min的复本数(默认为1),写操作就

会成功,并且这个块可以在集群中异步复制,直到达到其目标复本数

(dfs.replication的默认值为3),因为namenode已经知道文件由哪

些块组成,所以它在返回成功前只需要等待数据块进行最小量的复制。

大数据技术原理与应用第四章课后作业

分布式数据库HBose

1.试述在Hadoop体系架构中HBase与其他组成部分的相互关系。

HBase利用HadoopMapReduce来处理HBase中的海量数据,实现高

性能计算;利用Zookeeper作为协同服务,实现稳定服务和失败恢复;使用

HDFS作为高可靠的底层存储,利用廉价集群提供海量数据存储能力;Sqoop为

HBase的底层数据导入功能,Pig和Hive为HBase提供了高层语言支持,HBose

是BigTable的开源实现。

2.请阐述HBose和BigToble的底层技术的对应关系。

项目BigTableHBase

文件存储系统GFSHDFS

海量数据处理MapReduceHadoopMapReduce

协同服务管理ChubbyZookeeper

3.请阐述HBcise和传统关系数据库的区另人

主要体现在6个方面。

主要方面关系数据库HBase

数据类型关系模型丰富的数据类型和简单的数据模型数据存储为

存储方式未经解释的字符串

数据操作丰富插入删除更行查询不存在复杂的表与表之间的

等多表连接关系仅插入查询删除清

空等

存储模式基于行模式存储基于列存储

数据索引针对不同列构建复杂的多个索引是行键

索引,提高数据访问性能

数据维护更行操作用最新的当前值替更新操作不删除数据旧的版

换记录中原来的旧值本

可伸缩性难实现横向扩展,纵向扩展的水平扩展灵活轻易的通过在

空间有限集群中增加或者减少硬件数

量来实现性能的伸缩

4.HBose有哪些类型的访问接口?

HBase提供了NativeJavaAPI,HBaseShell,ThriftGateway,REST

Gateway,Pig,Hive等访问接口。

5.请以实例说明HBase数据模型。

列族

列限定符

J.Inf。"

namemajoremcil

2017151826LiliMathJLili@

2017452636Lilu的Qth,Lilu@

2485623039liulfieliulie@qg.com

'Zliulie@lfe.com\

单元格

兽兽无精喷彘基间减tsi和ts2.每个时间戳

6.分别解释HBcise巾行键、列键和时间戳的概念。

①行键标识行。行键可以是任意字符串,行键保存为字节数组。

②列族。HBose的基本的访问控制单元,需在表创建时就定义好。

③时间戳。每个堂元格都保存着同一份数据的多个版本,这些版本采月时

间戳进行索引。

7.请举个实例来阐述HBose的概念视图和物理视图的不同。

数据概念试图

行键时列族contents列族anchor

“n.wwtlA="CNN

n

“n.wwt3Contests.html=^^<html>---

,,

t4Contests.html=,5<html>---

数据物理视图

行键时间戳列族anchor

n.wwMtlA二"CNN”

行键时间戳列族contents

“n.ww”t3Contests.html=n<html>…”

14Contests.html=n<html>--J,

8.试述HBose各功能组件及其作用。

①库函数:链接到每个客户端;

②一个Master主服务器:主服务器Master主要负责表和Region的管理

工作;

③③许多个Region服务器:Region服务器是HBase中最核心的模块,

负责存储和维护分配给自己的Region,并响应用户的读写请求

9.请阐述HBdse的数据分区机制。

每个行区间构成一个分区,被称为“Region”,分发到不同的Region服务器上。

lO.HBase中的分区是如何定位的?

通过构建的映射表的每个条目包含两项内容,一个是Regionde标识符,另

一个是Region服务器标识,这个条目就标识Region和Region服务器之间的

对应关系,从而就可以知道某个Region被保存在哪个Region服务器中。

11.试述HBase的三层结构中各层次的名称和作用。

层次名称作用

笫一层Zookeeper文件记录了-ROOT-表的位置信息

第二层-ROOT-表记录了.M曰A.表的Region

位置信息-ROOT-表只能有一

个Region。通过-ROOT-表,

就可以访问.META.表中的数

第三层.META.表记录了用户数据表的

Region位置信息,.META.

表可以有多个Region,保存

7HBase中所有请阐述在

HBose三层结构下,客户端

是如何访问到数据的。

12.请阐述HBase的三层结构下,客户端是如何访问到数据的。

首先访问Zookeeper,获取-ROOT表的位置信息,然后访问-Root-表,获

得.MATA.表的信息,接着访问.MATA.表,找到所需的Region具体位于哪个

Region服务器,最后才会到该Region服务器读取数据。

13.试述HBase系统基本架构以及每个组成部分的作用。

(1)客户端

客户端包含访问HBase的接口,同时在缓存中维护着已经访问过的Region位

置信息,用来加快后续数据访问过程

(2)Zookeeper月艮务器

Zookeeper可以帮助选举出一个Master作为集群的总管,并保证在任何时刻

总有唯一一个Moste「在运行,这就避免了Moste「的“单点失效”问题

(3)Master

主服务器Master主要负责表和Region的管理工作:管理用户对表的增加、删

除、修改、查询等操作;实现不同Region服务器之间的负载均衡;在Region

分裂或合并后,负责重新调整Region的分布;对发生故障失效的Region报务

器上的Region进行迁移

(4)Region服务器

Region服务器是HBose中最核心的模块,负责维护分配给自己的Region,并

响应用户的读写请求

14.请阐述Region服务器向HDFS文件系统中读写数据的基本原理。

Region服务器内部管理一系列Region对象和一个HLog文件,其中,HLog

是磁盘上面的记录文件,它记录着所有的更新操作。每个Region对象又是由多

个Store组成的,每个Store对象了表中的一个列族的存储。每个Store又包含

了MemStore和若干个StoreFile,其中,MemStore是在内存中的缓存。

15.试述HStore的工作原理。

每个Store对应了表中的一个列族的存储。每个Store包括一个MenStore

缓存和若干个StoeFile文件。MenStore是排序的内存缓冲区,当用户写人数

据时,系统首先把数据放入MenStore缓存,当MemStore缓存满时,就会刷

新到磁盘中的一个Sto^eFile文件中,当单个StoreFile文件大小超过一定阈值时,

就会触发文件分裂操作。

16.试述山。9的工作原理。

HBase系统为每个Region服务器配置了一个HLog文件,它是一种预写式

日志(WriteAheadLog),用户更新数据必须首先写入日志后,才能写入

MemStoe缓存,并且,直到MemStore缓存内容对应的日志已经写入磁盘,

该缓存内容才能被刷写到磁盘。

17.在HBase中,每个Region服务器维护一个HLog,而不是为每个Region

都单独维护一个HLog。请说明这种做法的优点和缺点。

优点:多个Region对象的更新操作所发生的日志修改,只需要不断把日

志记录追加到单个日志文件中,不需要同时打开、写入到多个日志文件中。

缺点:如果一个Region服务器发生故障,为了恢复其上次的Region对象,

需要将Region服务器上的对象,需要将Region服务器上的HLog按照其所属

的Region对象进行拆分,然后分发到其他Region服务器上执行恢复操作。

18.当一台Region服务器意外终止时,Master如何发现这种意外终止情况?为

了恢复这台发生意外的Region服务器上的Region,Master应该做出那些

处理(包括如何使用HLog进行恢复)?

Zookeeper会实时监测每个Region服务器的状态,当某个Region服务

器发生故障时,Zookeeper会通知Master。

Master首先会处理该故障Region服务器上面遗留的HLog文件,这个遗

留的HLog文件中包含了来自多个Region对象的日志记录。

系统会根据每条日志记录所属的Region对象对HLog数据进行拆分,分别

放到相应Region对象的目录下,然后,再将失效的Region重新分配到可用的

Region服务器中,并把与该Region对象相关的HLog日志记录也发送给相应

的Region服务器。

Region服务器领取到分配给自己的Region对象以及与之相关的HLog日

志记录以后,会重新做一遍日志记录中的各种操作,把日志记录中的数据写入到

MemSkxe缓存中,然后,刷新到磁盘的StoreFile文件中,完成数据恢复。

大数据技术与原理第五章课后作业

——NoSQl数据库

1.如何准确理解NoSQL的含义?

NoSQL是一种不同于关系数据库的数据库管理系统设计方式,是对非关系型

数据库的一类统称,它采用的数据模型并非传统关系数据库的关系模型,而

是类似键/值、列族、文档等非关系模型。

2-试述关系数据库在哪些方面无法满足Web2.0应用的需求。

主要表现在以下几个方面:

(1)无法满足海量数据的管理需求

(2)无法满足数据高并发的需求

(3)无法满足高可扩展性和高可用性的需求

3.为什么说关系数据库的一些关键特性在Web2.0时代成为“鸡

肋”?

(DWeb2.0网站系统通常不要求严格的数据库事务

(2)Web2.0不要求严格的读写实时性

(3)Web2.0通常不包含大量复杂的SQL查询

4.请比较NoSQL数据库和关系数据库的优缺点。

①关系数据库。

优点:以完善得关系理论代数作为基础,有严格得标准,支持事务ACID四

性,高校查询,技术成熟,专业公司得技术支持;

缺点:可扩展性较差、无法较好支持海量数据存储、数据模型过于死板、无

法较好支持Web2Q应用、事务机制影响系统整体性能。

②NoSQL数据库。

优点:支持超大规模数据存储数据模型灵活支持Web2.0,具有强大得横向

扩展能力

缺点:缺乏数学理论基础,复杂查询性能不高。不能实现事务强一致性,很

难实现数据完整性、技术尚不成熟,缺乏专业的技术支持,维护较困难。

5.试述NoSQL数据库的四大类型。

答:键值数据库、列族数据库、文档数据库和图数据库

6.试述键值数据库、列族数据库、文档数据库和图形数据库的适用

场合和优缺点。

数据库适用场合优点缺点

键值数据库通过键而是通过扩展性好,灵活性无法存储结沟化

值来查的业务好,大量写操作时信息,条件查询效

性能高率较低

列族数据库不需要ACID事查找速度快,可扩功能较少,大都不

务支持的情形展性强,容易进行支持强事务一致

分布式如展,复杂性

性低

文档数据库只在相同的文档性能好(高并发),缺乏统一的查询

上添加事务灵活性高,复杂性语法

低,数据结构灵

活;提供嵌入式文

档功能,将经常查

询的数据存储在

同一个文档中;既

可以根据键来构

建索弓1,也可以根

据内容构建索引

图形数据库具有高度相互关灵活性高,支持复复杂性高,只能支

联关系的数据杂的图形算法,可持一定的数据规

用于构建复杂的模

关系图谱

7.试述CAP理论的具体含义。

C(Consistency):一致性,是指任何一个读操作总是能够读到之前完

成的写操作的结果.也就是在分布式环境中,多点的数据是一致的,或者说,

所有节点在同一时间具有相同的数据

A:(Availability):可用性,是指快速获取数据,可以在确定的时间内返

回操作结果,保证每个请求不管成功或者失败都有响应;

P(ToleranceofNetworkPartition):分区容忍性,是指当出现网络分区

的情况时(即系统中的一部分节点无法和其他节点进行通信),分离的系统也

能够正常运行,也就是说,系统中任意信息的丢失或失败不会影响系统的继

续运作。

8.请举例说明不同产品在设计时是如何运用CAP理论的。

①CAo强调一致性(C)和可用性(A),放弃分区容忍性(P),最简单的做法是把

所有与事务相关的内容都放到同一台机器上。这种做法会严重影响系统

的可扩展性。例如传统的关系数据库(MySQL、SQLServer和

PostgreSQL)。

②CPo强调一致性(C)和分区容忍性(P),放弃可用性(A),当出现网络分区的

情况时,受影响的服务需要等待数据一致,因此在等待期间就无法对外

提供服务。例如Neo4J、BigTable和HBase等NoSQL数据库。

③APo强调可用性(A)和分区容忍性(P),放弃-致性(C),允许系统返回不一

致的数据。这对于许多Web2.0网站而言是可行的,这些网站的用户首

先关注的是网站服务是否可用,当用户需要发布一条微博时,必须能够

立即发布,否则,用户就会放弃使用,但是,这条微博发布后什么时候

能够被其他用户读取到,则不是非常重要的问题,不会影响到用户体验。

因此,对于Web2.0网站而言,可用性与分区容忍性优先级要高于数据

一致性,网站一般会尽量朝着AP的方向设计。当然,在采用AP设计时,

也可以不完全放弃一致性,转而采用最终一致性。例如Dynamo、Riak、

CouchDBxCassandra等NoSQL数据度。

9.试述数据库的ACID四性的含义。

①原子性(Atomicity)

指事务必须是原子工作单元,对于其数据修改,要么全都执行,要么全

都不执行。

②一致性(consistency)

指事务在完成时,必须使所有的数据都保持一致状态。

③隔离性(Isolation)

指并发事务所做的修改必须与其他并发事务所做的修改隔离。

④持久性(Durability)

指事务完成之后,它对于系统的影响是永久性的,该修改即使出现致命

的系统故障也将一直保持。

10.试述BASE的具体含义。

BASE的基本含义是基本可用(BasicallyAvailble)^软状态(Soft-state)和

最终一致性(Eventualconsistency)

11.请解释软状态、无状态、硬状态的具体含义。

答:“软状态(soft-state),,是与“硬状态(hard-state)»相对应的一种提法。

数据库保存的数据是“硬状态”时,可以保证数据一致性,即保证数据一直

是正确的。“软状态”是指状态可以有一段时间不同步,具有一定的滞后性。

12.什么是最终一致性?

最终一致性根据更新数据后各进程访问到数据的时间和方式的不同,又

可以区分为:

①会话一致性:它把访问存储系统的进程放到会话(session)的上下文

中,只要会话还存在,系统就保证“读己之所写”一致性。如果由于某些失

败情形令会话终止,就要建立新的会话,而且系统保证不会延续到新的会话;

②单调写一致性:系统保证来自同一个进程的写操作顺序执行。系统必

须保证这种程度的一致性,否则就非常难以编程了

③单调读一致性:如果进程已经看到过数据对象的某个值,那么任何后

续访问都不会返回在那个值之前的值

④因果一致性:如果进程A通知进程B它已更新了一个数据项,那么进

程B的后续访问将获得A写入的最新值。而与进程A无因果关系的进程C

的访问,仍然遵守一般的最终一致性规则

⑤“读己之所写”一致性:可以视为因果一致性的一个特例。当进程A

自己执行一个更新噪作之后,它自己总是可以访问到更新过的值,绝不会看

到旧值。

13.试述不一致性窗口的含义。

所有后续的访问都可以读取到操作0P写入的最新值。从0P操作完成到后

续访问可以最终读取到0P写入的最新值,这之间的时间间隔称为“不一致

性窗口”。

14.最终一致性根据更新数据后各进程访问到数据的时间和方式的不

同,又可以分为哪些不同类型的一致性?

会话一致性、单调写一致性、单调写一致性、因果一致性和“读己之所写”

一致性。

15.什么是NewSQL数据库?

NewSQL是对各种新的可扩展、高性能数据库的简称,这类数据库不仅具有

NOSQL对海量数据的存储管理能力,还保持了传统数据库支持ACID和SQL

特性。

16.试述NewSQL数据库与传统的关系数据库以及NoSQL数据库的

区别。

NewSQL数据库不经具有NoSQL对海量数据的存储管理能力,还保持了传

统数据库支持ACID和SQL特性。

大数据技术与原理第六章课后作业

—云数据库

1.试述云数据库的概念。

云数据库是部署和虚拟化在云计算环境中的数据库。云数据库是在云计算的

大背景下发展起来的一种新兴的共享基础架构的方法,它极大地增强了数据库的

存储能力,消除了人员、硬件、软件的重复配置,让软、硬件升级变得更加容易,

同时,也虚拟化了许多后端功能。云数据库具有高可扩展性、高可用性、采用多

租形式和支持资源有效分发等特点。

2.与传统的软件使用方式相比,云计算这种模式具有哪些明显的

优势?

①可直接购买云计算厂商的软件服务;

②软件运行在云计算厂商服务器上,用户再有网络的地方就可以使用软件

服务。

③零成本投入,按需付费,极其廉价;

④维护零成本,由云计算厂商负责;

⑤获得IT资源的速度:随时可用,购买服务后立即可用;

⑥资源可拓展。等

3,云数据库有哪些特性?

①动态可扩展

②高可用性

③较低的使用代价

④易用性

⑤高性能

⑥免维护

⑦安全

4.试述云数据库的影响。

①云数据库可以满足大企业的海量数据存储需求。

②云数据库可以满足中小企业的低成本数据存储需求。

③云数据库可以满足企业动态变化的数据存储需求。

5.举例说明云数据库厂商及其代表性产品。

云数据库供应商主要分为三类。

①传统的数据库厂商,如TeradatasOracle^IBMDB2和Microsoft

SQLServer等。

②涉足数据库市场的云供应商,如Amazon、Google.Yahoolx阿里、

百度、腾讯等。

③新兴厂商,如IVerticci.LongJump和EnterpriseDB等。

6.试述MicrosoftSQLAzure的体系架构。

如下图所示,SQLAzure的体系架构中包含了一个虚拟机簇,可以根据工

作负载的变化,动态增加或减少虚拟机的数量。每台虚拟机SQLServerVM

(VirtualMachine

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论