大數(shù)據(jù)技術(shù)原理及應(yīng)用林子雨版課后習(xí)題答案解析_第1頁
大數(shù)據(jù)技術(shù)原理及應(yīng)用林子雨版課后習(xí)題答案解析_第2頁
大數(shù)據(jù)技術(shù)原理及應(yīng)用林子雨版課后習(xí)題答案解析_第3頁
大數(shù)據(jù)技術(shù)原理及應(yīng)用林子雨版課后習(xí)題答案解析_第4頁
大數(shù)據(jù)技術(shù)原理及應(yīng)用林子雨版課后習(xí)題答案解析_第5頁
已閱讀5頁,還剩48頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

專業(yè)資料整理分享

第一章

1.試述信息技術(shù)發(fā)展史上的3次信息化浪潮及具體內(nèi)容。

信息化浪潮發(fā)殳時(shí)間標(biāo)志解決問題代袤公司

第一次浪潮1980年前后個(gè)人計(jì)算機(jī)信息處理Intel.AMD、IBM.

蘋果、微軟、聯(lián)想、

戴爾、惠普等

第二次浪潮1995年前后互聯(lián)網(wǎng)信息傳輸雅虎、谷歌、阿里

巴巴、百度、騰訊

第三次浪潮2010年前后物理網(wǎng)、云計(jì)信息爆炸將涌現(xiàn)出一批新的

算和大數(shù)據(jù)市場(chǎng)標(biāo)桿企業(yè)

2.試述數(shù)據(jù)產(chǎn)生方式經(jīng)歷的幾個(gè)階段

答:運(yùn)營式系統(tǒng)階段,用戶原創(chuàng)內(nèi)容階段,感知式系統(tǒng)階段。

3.試述大數(shù)據(jù)的4個(gè)基本特征

答:數(shù)據(jù)量大、數(shù)據(jù)類型繁多、處理速度快和價(jià),直密度低。

4.試述大數(shù)據(jù)時(shí)代的“數(shù)據(jù)爆炸”的特性

答:大數(shù)據(jù)時(shí)代的“數(shù)據(jù)爆炸”的特性是,人類社會(huì)產(chǎn)生的數(shù)據(jù)一致都以每年

50%的速度增長(zhǎng),也就是說,每?jī)赡暝黾右槐丁?/p>

5.數(shù)據(jù)研究經(jīng)歷了哪4個(gè)階段?

答:人類自古以來在科學(xué)研究上先后歷經(jīng)了實(shí)驗(yàn)、理論、計(jì)算、和數(shù)據(jù)四種范式。

6.試述大數(shù)據(jù)對(duì)思維方式的重要影響

答:大數(shù)據(jù)時(shí)代對(duì)思維方式的重要影響是三種思維的轉(zhuǎn)變:全樣而非抽樣,效率

而非精確,相關(guān)而非因果。

7.大數(shù)據(jù)決策與傳統(tǒng)的基于數(shù)據(jù)倉庫的決策有什么區(qū)別

答:數(shù)據(jù)倉庫具備批量和周期性的數(shù)據(jù)加載以及數(shù)據(jù)變化的實(shí)時(shí)探測(cè)、傳播和加

載能力,能結(jié)合歷史數(shù)據(jù)和實(shí)時(shí)數(shù)據(jù)實(shí)現(xiàn)查詢分析和自動(dòng)規(guī)則觸發(fā),從而提供對(duì)

戰(zhàn)略決策和戰(zhàn)術(shù)決策。

大數(shù)據(jù)決策可以面向類型繁多的、非結(jié)構(gòu)化的海量數(shù)據(jù)進(jìn)行決策分析。

8.舉例說明大數(shù)據(jù)的基本應(yīng)用

答:

領(lǐng)域大數(shù)據(jù)的應(yīng)用

金融行業(yè)大數(shù)據(jù)在高頻交易、社區(qū)情緒分析和信貸風(fēng)險(xiǎn)分析三大金融創(chuàng)

新領(lǐng)域發(fā)揮重要作用。

汽車行業(yè)利用大數(shù)據(jù)和物聯(lián)網(wǎng)技術(shù)的五人駕駛汽車,在不遠(yuǎn)的未來將走

進(jìn)我們的日常生活

互聯(lián)網(wǎng)行業(yè)借助于大數(shù)據(jù)技術(shù),可以分析客戶行為,進(jìn)行商品推薦和有針

對(duì)性廣告投放

個(gè)人生活大數(shù)據(jù)還可以應(yīng)用于個(gè)人生活,利用與每個(gè)人相關(guān)聯(lián)的“個(gè)人

大數(shù)據(jù)”,分析個(gè)人生活行為習(xí)慣,為其提供更加周全的個(gè)性

化服務(wù)。

9.舉例說明大數(shù)據(jù)的關(guān)鍵技術(shù)

答:批處理計(jì)算,流計(jì)算,圖計(jì)算,查詢分析計(jì)算

10.大數(shù)據(jù)產(chǎn)業(yè)包含哪些關(guān)鍵技術(shù)。

答:IT基礎(chǔ)設(shè)施層、數(shù)據(jù)源層、數(shù)據(jù)管理層、數(shù)據(jù)分析層、數(shù)據(jù)平臺(tái)層、數(shù)據(jù)

應(yīng)用層。

11.定義并解釋以下術(shù)語:云計(jì)算、物聯(lián)網(wǎng)

答:云計(jì)算:云計(jì)算就是實(shí)現(xiàn)了通過網(wǎng)絡(luò)提供可伸縮的、廉價(jià)的分布式計(jì)算機(jī)

能力,用戶只需要在具備網(wǎng)絡(luò)接入條件的地方,就可以隨時(shí)隨地獲得所需的各種

IT資源。

物聯(lián)網(wǎng)是物物相連的互聯(lián)網(wǎng),是互聯(lián)網(wǎng)的延伸,它利用局部網(wǎng)絡(luò)或互聯(lián)網(wǎng)

等通信技術(shù)把傳感器、控制器、機(jī)器、人類和物等通過新的方式連在一起,形成

人與物、物與物相連,實(shí)現(xiàn)信息化和遠(yuǎn)程管理控制。

12.詳細(xì)闡述大數(shù)據(jù)、云計(jì)算和物聯(lián)網(wǎng)三者之間的區(qū)別與聯(lián)系。

大數(shù)據(jù)、云計(jì)算和坳聯(lián)網(wǎng)的區(qū)別大數(shù)據(jù)、云計(jì)算和物聯(lián)網(wǎng)的聯(lián)系

大數(shù)據(jù)側(cè)重于海量數(shù)據(jù)的存儲(chǔ)、處理與從整體來看,大數(shù)據(jù)、云計(jì)算和物聯(lián)網(wǎng)

分析,海量數(shù)據(jù)中發(fā)現(xiàn)價(jià)值,服務(wù)于生這三者是相輔相成的。大數(shù)據(jù)根植于云

產(chǎn)和生活;云計(jì)算本質(zhì)上皆在整合和優(yōu)計(jì)算,大數(shù)據(jù)分析的很多技術(shù)都來自于

化各種IT資源并通過網(wǎng)絡(luò)已服務(wù)的方云計(jì)算,云計(jì)算的分布式存儲(chǔ)和管理系

法,廉價(jià)地提供給用戶;物聯(lián)網(wǎng)的發(fā)展統(tǒng)提供了海量數(shù)據(jù)的存儲(chǔ)和管理能力,

目標(biāo)是實(shí)現(xiàn)嗚嗚向量,應(yīng)用創(chuàng)新是物聯(lián)沒有這些云計(jì)算技術(shù)作為支撐,大數(shù)據(jù)

網(wǎng)的核心分析就無從談起。物聯(lián)網(wǎng)的傳感器源源

不斷的產(chǎn)生大量數(shù)據(jù),構(gòu)成了大數(shù)據(jù)的

重要數(shù)據(jù)來源,物聯(lián)網(wǎng)需要借助于云計(jì)

算和大數(shù)據(jù)技術(shù),實(shí)現(xiàn)物聯(lián)網(wǎng)大數(shù)據(jù)的

存儲(chǔ)、分析和處理。

第二章

1.試述hadoop和谷歌的mapreduce、gfs等技術(shù)之間的關(guān)系

答:Hadoop的核心是分布式文件系統(tǒng)HDFS和MapReduce,HDFS是谷歌文件系統(tǒng)

GFS的開源實(shí)現(xiàn),MapReduces是針對(duì)谷歌MapReduce的開源實(shí)現(xiàn)。

2.試述Hadoop具有哪些特性。

答:高可靠性,高效性,高可擴(kuò)展性,高容錯(cuò)性,成本低,運(yùn)行在Linux平臺(tái),

支持多種編程語言

3.試述Hadoop在各個(gè)領(lǐng)域的應(yīng)用情況。

答:2007年,雅虎在Sunnyvale總部建立了M45-----■個(gè)包含了4000個(gè)處理器

和1.5PB容量的Hadooop集群系統(tǒng);

Facebook主要將Hadoop平臺(tái)用于日志處理,推薦系統(tǒng)和數(shù)據(jù)倉庫等方面;

百度主要使用Hadoop于日志的存儲(chǔ)和統(tǒng)計(jì)、網(wǎng)頁數(shù)據(jù)的分析和挖掘、商業(yè)分析、

在線數(shù)據(jù)反饋、網(wǎng)頁聚類等。

4.試述Hadoop的項(xiàng)目結(jié)構(gòu)以及每個(gè)部分的具體功能。

答:

PigChukwaHiveHBase

MapReduceHDFSZookeeper

CommonAvro

Commeon是為Hadoop其他子項(xiàng)目提供支持的常用工具,主要包括文件系統(tǒng)、RPC

和串行化庫

Avro是為Hadoop的子項(xiàng)目,用于數(shù)據(jù)序列化的系統(tǒng),提供了豐富的數(shù)據(jù)結(jié)構(gòu)類

型、快速可壓縮的二進(jìn)制數(shù)據(jù)格式、存儲(chǔ)持續(xù)性數(shù)據(jù)的文件集、遠(yuǎn)程調(diào)用的功能

和簡(jiǎn)單的動(dòng)態(tài)語言集成功能。

HDFS是Hadoop項(xiàng)目的兩個(gè)核心之一,它是針對(duì)谷歌文件系統(tǒng)的開源實(shí)現(xiàn)。

HBase是一個(gè)提高可靠性、高性能、可伸縮、實(shí)時(shí)讀寫、分布式的列式數(shù)據(jù)庫,

一般采用HDFS作為其底層數(shù)據(jù)存儲(chǔ)。

MapReduce是針對(duì)谷歌MapReduce的開源實(shí)現(xiàn),月于大規(guī)模數(shù)據(jù)集的并行運(yùn)算。

Zoookepper是針對(duì)谷歌Chubby的一個(gè)開源實(shí)現(xiàn),是高效和可靠的協(xié)同工作系統(tǒng),

提供分布式鎖之類的基本服務(wù),用于構(gòu)建分布式應(yīng)用,減輕分布式應(yīng)用程序所承

擔(dān)的協(xié)調(diào)任務(wù)。

Hive是一個(gè)基于Hadoop的數(shù)據(jù)倉庫工具,可以用于對(duì)Hadoop文件中的數(shù)據(jù)集

進(jìn)行數(shù)據(jù)整理、特殊查詢和分布存儲(chǔ)。

Pig是一種數(shù)據(jù)流語言和運(yùn)行環(huán)境,適合于使用Hadoop和MapReducce平臺(tái)上查

詢大型半結(jié)構(gòu)化數(shù)據(jù)集。

Sqoop可以改進(jìn)數(shù)據(jù)的互操作性,主要用來在H大哦哦哦配合關(guān)系數(shù)據(jù)庫之間交

換數(shù)據(jù)。

Chukwa是一個(gè)開源的、用于監(jiān)控大型分布式系統(tǒng)的數(shù)據(jù)收集系統(tǒng),可以將各種

類型的數(shù)據(jù)收集成適合Hadoop處理的文件,并保存在HDFS中供Hadoop進(jìn)行各

種MapReduce操作。

第三章

1.試述分布式文件系統(tǒng)設(shè)計(jì)的需求。

設(shè)計(jì)需求含義HDFS的實(shí)現(xiàn)情況

透明性具備訪問透明性、位置透只能提供一定程度的訪

明性、性能、和伸縮透明問透明性,完全支持位置

性透明性、性能和伸縮透明

并發(fā)控制客戶端對(duì)于文件的讀寫機(jī)制非常簡(jiǎn)單,任何時(shí)候

不應(yīng)該影響其他客戶端都只允許有一個(gè)程序?qū)?/p>

對(duì)同一個(gè)文件的讀寫入某個(gè)文件

文件復(fù)制一個(gè)文件可以擁有不同HDFS采用了多副本機(jī)制

位置的多個(gè)副本

硬件和操作系統(tǒng)的異構(gòu)可以在不同的操作系統(tǒng)采用Java語言開發(fā),具

性和計(jì)算機(jī)上實(shí)現(xiàn)同樣的有很好的跨平臺(tái)能力

客戶端和服務(wù)端程序

可伸縮性支持節(jié)點(diǎn)的動(dòng)態(tài)加入或建立在大規(guī)模廉價(jià)機(jī)器

退出上的分布式文件系統(tǒng)集

群,具有很好的伸縮性

容錯(cuò)保證文件服務(wù)在客戶端具有多副本機(jī)制和故障

或者服務(wù)端出現(xiàn)問題的自動(dòng)檢測(cè)、恢復(fù)機(jī)制

時(shí)候能正常使用

安全保證系統(tǒng)的安全性安全性較弱

2.分布式文件系統(tǒng)是如何實(shí)現(xiàn)較高水平擴(kuò)展的?

分布式文件系統(tǒng)在物理結(jié)構(gòu)上是由計(jì)算機(jī)集群中的多個(gè)節(jié)點(diǎn)構(gòu)成的,這些節(jié)點(diǎn)分

為兩類,一類叫“主節(jié)點(diǎn)"(MasterNode)或者也被稱為“名稱結(jié)點(diǎn)"(NameNode),

另一類叫“從節(jié)點(diǎn)”(SlaveNode)或者也被稱為“數(shù)據(jù)節(jié)點(diǎn)”(DataNode)

3.試述HDFS中的塊和普通文件系統(tǒng)中的塊的區(qū)別。

答:在傳統(tǒng)的文件系統(tǒng)中,為了提高磁盤讀寫效率,一般以數(shù)據(jù)塊為單位,惡如

不是以字節(jié)為單位。

HDFS中的塊,默認(rèn)一個(gè)塊大小為64MB,而HDFS中的文件會(huì)被拆分成多個(gè)塊,

每個(gè)塊作為獨(dú)立的單元進(jìn)行存儲(chǔ)。HDFS在塊的大小的設(shè)計(jì)上明顯要大于普通文

件系統(tǒng)。

4.試述HDFS中的名稱節(jié)點(diǎn)和數(shù)據(jù)節(jié)點(diǎn)的具體功能。

答:名稱節(jié)點(diǎn)負(fù)責(zé)管理分布式文件系統(tǒng)系統(tǒng)的命名空間,記錄分布式文件系統(tǒng)中

的每個(gè)文件中各個(gè)塊所在的數(shù)據(jù)節(jié)點(diǎn)的位置信息:

數(shù)據(jù)節(jié)點(diǎn)是分布式文件系統(tǒng)HDFS的工作節(jié)點(diǎn),負(fù)責(zé)數(shù)據(jù)的存儲(chǔ)和讀取,會(huì)

根據(jù)客戶端或者是名稱節(jié)點(diǎn)的調(diào)度來進(jìn)行數(shù)據(jù)的存儲(chǔ)和檢索,并向名稱節(jié)點(diǎn)定期

發(fā)送自己所存儲(chǔ)的塊的列表。

hadoopfs-Is<path>顯示<path>指定的文件的詳細(xì)信息

hadoopfs-cat<path>將<path>指定的文件的內(nèi)容輸出到標(biāo)準(zhǔn)輸出

hadoopfs-mkdir<path>創(chuàng)建<path>指定的文件■夾

hadoopfs-get[-ignorecrc][-crc]<src><IocaIdst>復(fù)制<src>指定的文件

到本地文件系統(tǒng)<localdst>指定的文件或文件夾。-ignorecrc選項(xiàng)復(fù)制CRC校

臉失敗的文件。使用-crc選項(xiàng)復(fù)制文件以及CRC信息。

hadoopfs-put<IocaIsrc><dst>從本地文件系統(tǒng)中復(fù)制<localsrc>指定的單

個(gè)或多個(gè)源文件到<dst>指定的目標(biāo)文件系統(tǒng)中。也支持從標(biāo)準(zhǔn)輸入(stdin)中讀

取輸入寫入目標(biāo)文件系統(tǒng)。

hadoopfs-rmr<path>刪除<path>指定的文件夾及其的所有文件

第四章

1.試述在Hadoop體系架構(gòu)中HBase與其他組成部分的相互關(guān)系。

答:HBase利用HadoopMapReduce來處理HBase中的海量數(shù)據(jù),實(shí)現(xiàn)高性能計(jì)

算;利用Zookeeper作為協(xié)同服務(wù),實(shí)現(xiàn)穩(wěn)定服務(wù)和失敗恢復(fù);使用HDFS作為

高可靠的底層存儲(chǔ),利用廉價(jià)集群提供海量數(shù)據(jù)存儲(chǔ)能力;Sqoop為HBase的底

層數(shù)據(jù)導(dǎo)入功能,Pig和Hive為HBase提供了高層語言支持,HBase是BigTabIe

的開源實(shí)現(xiàn)。

2.請(qǐng)闡述HBase和BigTable的底層技術(shù)的對(duì)應(yīng)關(guān)系

答:

項(xiàng)目BigTab1eHBase

文件存儲(chǔ)系統(tǒng)GFSHDFS

海量數(shù)據(jù)處理MapReduceHadoopMapReduce

協(xié)同服務(wù)管理ChubbyZookeeper

3.請(qǐng)闡述HBase和傳統(tǒng)關(guān)系數(shù)據(jù)庫的區(qū)別

答:

區(qū)別傳統(tǒng)關(guān)系數(shù)據(jù)庫HBase

數(shù)據(jù)類型關(guān)系模型數(shù)據(jù)模型

數(shù)據(jù)操作插入、刪除、更新、查詢、插入、查詢、刪除、清空,

多表連接無法實(shí)現(xiàn)表與表之間關(guān)

聯(lián)

存儲(chǔ)模式基于行模式存儲(chǔ),元組或基于列存儲(chǔ),每個(gè)列族都

行會(huì)被連續(xù)地存儲(chǔ)在磁由幾個(gè)文件保存,不同列

盤也中族的文件是分離的

數(shù)據(jù)索引針對(duì)不同列構(gòu)建復(fù)雜的只有一個(gè)行鍵索引

多個(gè)索引

數(shù)據(jù)維護(hù)用最新的當(dāng)前值去替換更新操作不會(huì)刪除數(shù)據(jù)

記錄中原來的舊值舊的版本,而是生成一個(gè)

新的版本

可伸縮性很難實(shí)現(xiàn)橫向擴(kuò)展,紈向輕易地通過在集群中增

擴(kuò)展的空間也比較有限加或者減少硬件數(shù)量來

實(shí)現(xiàn)性能的伸縮

4.HBase有哪些類型的訪問接口?

答:HBase提供了NativeJavaAPI,HBaseSheII,ThriftGateway,REST

GateWay,Pig,Hive等訪問接口。

5.請(qǐng)以實(shí)例說明HBase數(shù)據(jù)模型。

列族

答:

列限定符7/

Info

NameMajorEmaiI

201505001LuoMinMathLuo@

201505002LiuJunMathIiu@qq.com

201505003XieYouMathxie@

1

ff/1you@163.com

1

單元格

行鍵單元格有兩個(gè)時(shí)間戳tsi和ts2

每個(gè)時(shí)間戳對(duì)應(yīng)一個(gè)數(shù)據(jù)版本

6.分別解釋HBase中行鍵、列鍵和時(shí)間戳的概念

(1)行鍵是唯一的,在一個(gè)表里只出現(xiàn)一次,否則就是在更新同一行,行鍵可以

是任意的字節(jié)數(shù)組。

(2)列族需要在創(chuàng)建表的時(shí)候就定義好,數(shù)量也不宜過多。列族名必須由可打印

字符組成,創(chuàng)建表的時(shí)候不需要定義好列。

(3)時(shí)間戳,默認(rèn)由系統(tǒng)指定,用戶也可以顯示設(shè)置。使用不同的時(shí)間戳來區(qū)分

不同的版本。

7.請(qǐng)舉個(gè)實(shí)例來闡述HBase的概念視圖和物理視圖的不同

HBase數(shù)據(jù)概念視圖

行鍵時(shí)間戳列族contents列族anchor

“com.cnn.www”T5Anchor:cnnsi.co

m二“CNN”

T3Anchor:my.Iook.

ca二"CNN”

“com.cnn.www”T3Content:htmI=,*

T2Content:htmI="

T1Content:htmI=

HBase數(shù)據(jù)物理視圖

行鍵時(shí)間戳列族anchor

“com.cnn.www”T5Anchor:cnnsi.co

m二“CNN”

T4Anchor:my.look.

ca二“CNN”

行鍵時(shí)間戳列族contents

“com.cnn.www”T3Content:htmI=v

<htmI>...w

T2Content:htmI

<html>...99

T1Content:htmI=>,

在HBase的概念視圖中,一個(gè)表可以視為一個(gè)稀疏、多維的映射關(guān)系。

在物理視圖中,一個(gè)表會(huì)按照屬于同一列族的數(shù)據(jù)保存在一起

8.試述HBase各功能組建及其作用

(1)庫函數(shù):鏈接到每個(gè)客戶端;

(2)一個(gè)Master主服務(wù)器:主服務(wù)器Master主要負(fù)責(zé)表和Region的管理工作;

(3)許多個(gè)Region服務(wù)器:Region服務(wù)器是HBase中最核心的模塊,負(fù)責(zé)維

護(hù)分配給自己的Region,并響應(yīng)用戶的讀寫請(qǐng)求

9.請(qǐng)闡述HBase的數(shù)據(jù)分區(qū)機(jī)制。

答:HBase采用分區(qū)存儲(chǔ),一個(gè)大的表會(huì)被分拆許多個(gè)Region,這些Region

會(huì)被分發(fā)到不同的服務(wù)器上實(shí)現(xiàn)分布式存儲(chǔ)。

10.HBase中的分區(qū)是如何定位的.

通過構(gòu)建的映射表的每個(gè)條目包含兩項(xiàng)內(nèi)容,一個(gè)是Regionde標(biāo)識(shí)符,另一個(gè)

是Region服務(wù)器標(biāo)識(shí),這個(gè)條目就標(biāo)識(shí)Region和Region服務(wù)器之間的對(duì)應(yīng)關(guān)

系,從而就可以知道某個(gè)Region被保存在哪個(gè)Region服務(wù)器中。

11.試述HBase的三層結(jié)構(gòu)中各層次的名稱和作用。

層次名稱作用

第一層Zookeeper記錄了-ROOT-表的位置信息

文件

第二層-ROOT-表記錄了.META.表的Region位置信息

-ROOT一表只能有一個(gè)Region。通過-ROOT-表,就可以訪

問.META.表中的數(shù)據(jù)

第三層.META.表記錄了用戶數(shù)據(jù)表的Region位置信息,.META.表可以有多個(gè)

Region,保存了HBase中所有用戶數(shù)據(jù)表的Region位置信息

12.請(qǐng)闡述HBase的三層結(jié)構(gòu)下,客戶端是如何訪問到數(shù)據(jù)的。

答:首先訪問Zookeeper,獲取-ROOT表的位置信息,然后訪問-Root-表,獲

得.MATA.表的信息,接著訪問.MATA.表,找到所需的Region具體位于哪個(gè)Region

服務(wù)器,最后才會(huì)到該Region服務(wù)器讀取數(shù)據(jù)。

13.試述HBase系統(tǒng)基本架構(gòu)以及每個(gè)組成部分的作用。

(1)客戶端

客戶端包含訪問HBase的接口,同時(shí)在緩存中維護(hù)著已經(jīng)訪問過的Region

位置信息,用來加快后續(xù)數(shù)據(jù)訪問過程

(2)Zookeeper服務(wù)器

Zookeeper可以幫助選舉出一個(gè)Master作為集群的總管,并保證在任何時(shí)刻

總有唯——個(gè)Master在運(yùn)行,這就避免了Master的“單點(diǎn)失效”問題

(3)Master

主服務(wù)器Master主要負(fù)責(zé)表和Region的管理工作:管理用戶對(duì)表的增加、

刪除、修改、查詢等操作;實(shí)現(xiàn)不同Region服務(wù)器之間的負(fù)載均衡;在Region

分裂或合并后,負(fù)責(zé)重新調(diào)整Region的分布;對(duì)發(fā)生故障失效的Region服務(wù)器

上的Region進(jìn)行遷移

(4)Region服務(wù)器

Region服務(wù)器是HBase中最核心的模塊,負(fù)責(zé)維護(hù)分配給自己的Region,

并響應(yīng)用戶的讀寫請(qǐng)求

14.請(qǐng)闡述Region服務(wù)器向HDFS文件系統(tǒng)中讀寫數(shù)據(jù)的基本原理

Region服務(wù)器內(nèi)部管理一系列Region對(duì)象和一個(gè)HLog文件,其中,HLog是磁

盤上面的記錄文件,它記錄著所有的更新操作。每個(gè)Region對(duì)象又是由多個(gè)

Store組成的,每個(gè)Store對(duì)象了表中的一個(gè)列族的存儲(chǔ)。每個(gè)Store又包含了

MemStore和若干個(gè)StoreFiIe,其中,MemStore是在內(nèi)存中的緩存。

15.試述HStore的工作原理

每個(gè)Store對(duì)應(yīng)了表中的一個(gè)列族的存儲(chǔ)。每個(gè)Store包括一個(gè)MenStore緩存

和若干個(gè)StoreFiIe文件。MenStore是排序的內(nèi)存緩沖區(qū),當(dāng)用戶寫入數(shù)據(jù)時(shí),

系統(tǒng)首先把數(shù)據(jù)放入MenStore緩存,當(dāng)MemStore緩存滿時(shí),就會(huì)刷新到磁盤中

的一個(gè)StoreFiIe文件中,當(dāng)單個(gè)StoreFiIe文件大小超過一定閔值時(shí),就會(huì)觸

發(fā)文件分裂操作。

16.試述HLog的工作原理

答:HBase系統(tǒng)為每個(gè)Region服務(wù)器配置了一個(gè)HLcg文件,它是一種禎寫

式日志(WriteAheadLog),用戶更新數(shù)據(jù)必須首先寫入日志后,才能寫入

MemStore緩存,并且,直到MemStore緩存內(nèi)容對(duì)應(yīng)的日志已經(jīng)寫入磁盤,該緩

存內(nèi)容才能被刷寫到磁盤。

17.在HBase中,每個(gè)Region服務(wù)器維護(hù)一個(gè)HLog,而不是為每個(gè)Regicn都

單獨(dú)維護(hù)一個(gè)HLog。請(qǐng)說明這種做法的優(yōu)缺點(diǎn)。

優(yōu)點(diǎn):多個(gè)Region對(duì)象的更新操作所發(fā)生的日志修改,只需要不斷把日志

記錄追加到單個(gè)日志文件中,不需要同時(shí)打開、寫入到多個(gè)日志文件中。

缺點(diǎn):如果一個(gè)Region服務(wù)器發(fā)生故障,為了恢復(fù)其上次的Region對(duì)象,

需要將Region服務(wù)器上的對(duì)象,需要將Region服務(wù)器上的HLog按照其所屬的

Region對(duì)象進(jìn)行拆分,然后分發(fā)到其他Region服務(wù)器上執(zhí)行恢復(fù)操作。

18.當(dāng)一臺(tái)Region服務(wù)器意外終止時(shí),Master如何發(fā)現(xiàn)這種意外終止情況?為

了恢復(fù)這臺(tái)發(fā)生意外的Region服務(wù)器上的Region,Master應(yīng)該做出哪些處理(包

括如何使用HLog進(jìn)行詼復(fù))?

Zookeeper會(huì)實(shí)時(shí)監(jiān)測(cè)每個(gè)Region服務(wù)器的狀態(tài),當(dāng)某個(gè)Region服務(wù)器發(fā)

生故障時(shí),Zookeeper會(huì)通知Master。

Master首先會(huì)處理該故障Region服務(wù)器上面遺留的HLog文件,這個(gè)遺留的

HLog文件中包含了來自多個(gè)Region對(duì)象的日志記錄。

系統(tǒng)會(huì)根據(jù)每條日志記錄所屬的Region對(duì)象對(duì)HLog數(shù)據(jù)進(jìn)行拆分,分別放

到相應(yīng)Region對(duì)象的目錄下,然后,再將失效的Region重新分配到可用的

Region服務(wù)器中,并把與該Region對(duì)象相關(guān)的HLog日志記錄也發(fā)送給相應(yīng)的

Region服務(wù)器。

Region服務(wù)器領(lǐng)取到分配給自己的Region對(duì)象以及與之相關(guān)的HLog日志記

錄以后,會(huì)重新做一遍日志記錄中的各種操作,把日志記錄中的數(shù)據(jù)寫入到

MemStore緩存中,然后,刷新到磁盤的StoreFiIe文件中,完成數(shù)據(jù)恢復(fù)。

第五章

1.如何準(zhǔn)確理解NoSQL的含義?

NoSQL是一種不同于關(guān)系數(shù)據(jù)庫的數(shù)據(jù)庫管理系統(tǒng)設(shè)計(jì)方式,是對(duì)非關(guān)系型數(shù)據(jù)庫的一類統(tǒng)

稱,它采用的數(shù)據(jù)模型并非傳統(tǒng)關(guān)系數(shù)據(jù)庫的關(guān)系模型,而是類似鍵/值、列族、文檔等非

關(guān)系模型。

2.試述關(guān)系數(shù)據(jù)庫在哪些方面無法滿族Web2.0應(yīng)用的需求。

關(guān)系數(shù)據(jù)庫已經(jīng)無法滿足Web2.0的需求。主要表現(xiàn)在以下幾個(gè)方面:

(1)無法滿足海量數(shù)據(jù)的管理需求

(2)無法滿足數(shù)據(jù)高并發(fā)的需求

(3)無法滿足高可擴(kuò)展怛和高可用性的需求

3.請(qǐng)比較NoSQL數(shù)據(jù)庫和關(guān)系數(shù)據(jù)庫的優(yōu)缺點(diǎn)。

比較標(biāo)準(zhǔn)RDBMSNoSQL備注

數(shù)據(jù)庫原理完全支持部分支持RDBMS為關(guān)系代數(shù)理

論作為基礎(chǔ)

NoSQL沒有統(tǒng)一的理

論基礎(chǔ)

數(shù)據(jù)規(guī)模大超大RDBMS很難實(shí)現(xiàn)橫向

擴(kuò)展,縱向擴(kuò)展的空

間也比較有限,性能

會(huì)隨著數(shù)據(jù)規(guī)模的增

大而降低

NoSQL可以很容易通

過添加更多設(shè)備來支

持更大規(guī)模的數(shù)據(jù)

數(shù)據(jù)庫模式固定靈活RDBMS需要定義數(shù)據(jù)

庫模式,嚴(yán)格遵守?cái)?shù)

據(jù)定義和相關(guān)約束條

NoSQL不存在數(shù)據(jù)庫

模式,可以自由靈活

定義并存儲(chǔ)各種不同

類型的數(shù)據(jù)

查詢效率快可以實(shí)現(xiàn)高效的簡(jiǎn)單RDBMS借助于索引機(jī)

查詢,但是不具備高制可以實(shí)現(xiàn)快速查詢

度結(jié)構(gòu)億查詢等特(包括記錄查詢和范

性,復(fù)雜查詢的性能因查詢)

不盡人意

很多NoSQL數(shù)據(jù)庫沒

有面向復(fù)雜查詢的索

引,雖然NoSQL可以

使用MapReduce來加

速查詢,但是,在復(fù)

雜查詢方面的性能仍

然不如RDBMS

一致性強(qiáng)一致性弱一致性RDBMS嚴(yán)格遵守事務(wù)

ACID模型,可以保證

事務(wù)強(qiáng)一致性

很多NoSQL數(shù)據(jù)庫放

松了對(duì)事務(wù)ACID四

性的要求,而是遵守

BASE模型,只能保證

最終一致性

數(shù)據(jù)完整性容易實(shí)現(xiàn)很難實(shí)現(xiàn)任何一個(gè)RDBMS都可

以很容易實(shí)現(xiàn)數(shù)據(jù)完

整性,比如通過主鍵

或者非空約束來實(shí)現(xiàn)

實(shí)體完整性,通過主

鍵、外鍵來實(shí)現(xiàn)參照

完整性,通過約束或

者觸發(fā)器來實(shí)現(xiàn)用戶

自定義完整性

但是,在NoSQL數(shù)據(jù)

庫卻無法實(shí)現(xiàn)

獷展性一般好RDBMS很難實(shí)現(xiàn)橫向

獷展,縱向擴(kuò)展的空

間也比較有限

NoSQL在設(shè)計(jì)之初就

充分考慮了橫向獷展

的需求,可以很容易

通過添加廉價(jià)設(shè)備實(shí)

現(xiàn)擴(kuò)展

可用性好很好RDBMS在任何時(shí)候都

以保證數(shù)據(jù)一致性為

優(yōu)先目標(biāo),其次才是

優(yōu)化系統(tǒng)性能,隨著

數(shù)據(jù)規(guī)模的增大,

RDBMS為了保證嚴(yán)格

的一致性,只能提供

相對(duì)較弱的可用性

大多數(shù)NoSQL都能提

供較高的可用性

標(biāo)準(zhǔn)化是否RDBMS已經(jīng)標(biāo)準(zhǔn)化

(SQL)

NoSQL還沒有行業(yè)標(biāo)

準(zhǔn),不同的NoSQL數(shù)

據(jù)庫都有自己的查詢

語言,很難規(guī)范應(yīng)用

程序接口

StoneBraker認(rèn)為:

NoSQL塊乏統(tǒng)一1查詢

語言,將會(huì)拖慢

NoSQL發(fā)展

技術(shù)支持高低RDBMS經(jīng)過幾十年的

發(fā)展,已經(jīng)非常成熟,

Orac1c等大型廠商

都可以提供很好的技

術(shù)支持

NoSQL在技術(shù)支持方

面仍然處于起步階

段,還不成熟,缺乏

有力的技術(shù)支持

可維護(hù)性復(fù)雜復(fù)雜RDBMS需要專門的教

據(jù)庫管理員(DB

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論