大數(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頁,還剩36頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、.第一章1.試述信息技術(shù)發(fā)展史上的3次信息化浪潮及具體內(nèi)容。信息化浪潮發(fā)生時(shí)間標(biāo)志解決問題代表公司第一次浪潮1980年前后個(gè)人計(jì)算機(jī)信息處理Intel、AMD、IBM、蘋果、微軟、聯(lián)想、戴爾、惠普等第二次浪潮1995年前后互聯(lián)網(wǎng)信息傳輸雅虎、谷歌、阿里巴巴、百度、騰訊等第三次浪潮20XX前后物理網(wǎng)、云計(jì)算和大數(shù)據(jù)信息爆炸將涌現(xiàn)出一批新的市場標(biāo)桿企業(yè)試述數(shù)據(jù)產(chǎn)生方式經(jīng)歷的幾個(gè)階段答: 運(yùn)營式系統(tǒng)階段,用戶原創(chuàng)內(nèi)容階段,感知式系統(tǒng)階段。試述大數(shù)據(jù)的4個(gè)基本特征答:數(shù)據(jù)量大、數(shù)據(jù)類型繁多、處理速度快和價(jià)值密度低。試述大數(shù)據(jù)時(shí)代的數(shù)據(jù)爆炸的特性答:大數(shù)據(jù)時(shí)代的數(shù)據(jù)爆炸的特性是,人類社會(huì)產(chǎn)生的數(shù)據(jù)一致都

2、以每年50%的速度增長,也就是說,每兩年增加一倍。數(shù)據(jù)研究經(jīng)歷了哪4個(gè)階段?答:人類自古以來在科學(xué)研究上先后歷經(jīng)了實(shí)驗(yàn)、理論、計(jì)算、和數(shù)據(jù)四種范式。試述大數(shù)據(jù)對思維方式的重要影響答:大數(shù)據(jù)時(shí)代對思維方式的重要影響是三種思維的轉(zhuǎn)變:全樣而非抽樣,效率而非精確,相關(guān)而非因果。大數(shù)據(jù)決策與傳統(tǒng)的基于數(shù)據(jù)倉庫的決策有什么區(qū)別答:數(shù)據(jù)倉庫具備批量和周期性的數(shù)據(jù)加載以及數(shù)據(jù)變化的實(shí)時(shí)探測、傳播和加載能力,能結(jié)合歷史數(shù)據(jù)和實(shí)時(shí)數(shù)據(jù)實(shí)現(xiàn)查詢分析和自動(dòng)規(guī)則觸發(fā),從而提供對戰(zhàn)略決策和戰(zhàn)術(shù)決策。大數(shù)據(jù)決策可以面向類型繁多的、非結(jié)構(gòu)化的海量數(shù)據(jù)進(jìn)行決策分析。舉例說明大數(shù)據(jù)的基本應(yīng)用答:領(lǐng)域大數(shù)據(jù)的應(yīng)用金融行業(yè)大數(shù)據(jù)在

3、高頻交易、社區(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)行商品推薦和有針對性廣告投放個(gè)人生活大數(shù)據(jù)還可以應(yīng)用于個(gè)人生活,利用與每個(gè)人相關(guān)聯(lián)的個(gè)人大數(shù)據(jù),分析個(gè)人生活行為習(xí)慣,為其提供更加周全的個(gè)性化服務(wù)。舉例說明大數(shù)據(jù)的關(guān)鍵技術(shù)答:批處理計(jì)算,流計(jì)算,圖計(jì)算,查詢分析計(jì)算大數(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)用層。定義并解釋以下術(shù)語:云計(jì)算、物聯(lián)網(wǎng)答: 云計(jì)算:云計(jì)算就是實(shí)現(xiàn)了通過網(wǎng)絡(luò)提供可伸縮的、

4、廉價(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)程管理控制。詳細(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ù)中發(fā)現(xiàn)價(jià)值,服務(wù)于生產(chǎn)和生活;云計(jì)算本質(zhì)上皆在整合和優(yōu)化各種IT資源并通過網(wǎng)絡(luò)已服務(wù)的方法,廉價(jià)地提供給用戶;物聯(lián)網(wǎng)的發(fā)展目標(biāo)是實(shí)現(xiàn)嗚嗚向量,應(yīng)用創(chuàng)新是物聯(lián)網(wǎng)的核心

5、從整體來看,大數(shù)據(jù)、云計(jì)算和物聯(lián)網(wǎng)這三者是相輔相成的。大數(shù)據(jù)根植于云計(jì)算,大數(shù)據(jù)分析的很多技術(shù)都來自于云計(jì)算,云計(jì)算的分布式存儲(chǔ)和管理系統(tǒng)提供了海量數(shù)據(jù)的存儲(chǔ)和管理能力,沒有這些云計(jì)算技術(shù)作為支撐,大數(shù)據(jù)分析就無從談起。物聯(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ǔ)、分析和處理。第二章試述hadoop和谷歌的mapreduce、gfs等技術(shù)之間的關(guān)系答:Hadoop的核心是分布式文件系統(tǒng)HDFS和MapReduce,HDFS是谷歌文件系統(tǒng)GFS的開源實(shí)現(xiàn),MapReduces是針對谷歌MapReduce的開源實(shí)現(xiàn)。試

6、述Hadoop具有哪些特性。答:高可靠性,高效性,高可擴(kuò)展性,高容錯(cuò)性,成本低,運(yùn)行在Linux平臺(tái),支持多種編程語言試述Hadoop在各個(gè)領(lǐng)域的應(yīng)用情況。答:20XX,雅虎在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)頁聚類等。試述Hadoop的項(xiàng)目結(jié)構(gòu)以及每個(gè)部分的具體功能。答:PigChukwaHiveHBaseMapReduceHDFSZookeeperComm

7、onAvroCommeon是為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)用的功能和簡單的動(dòng)態(tài)語言集成功能。HDFS是Hadoop項(xiàng)目的兩個(gè)核心之一,它是針對谷歌文件系統(tǒng)的開源實(shí)現(xiàn)。HBase是一個(gè)提高可靠性、高性能、可伸縮、實(shí)時(shí)讀寫、分布式的列式數(shù)據(jù)庫,一般采用HDFS作為其底層數(shù)據(jù)存儲(chǔ)。MapReduce是針對谷歌MapReduce的開源實(shí)現(xiàn),用于大規(guī)模數(shù)據(jù)集的并行運(yùn)算。Zoookepper是針對谷歌Chubby的一個(gè)開

8、源實(shí)現(xiàn),是高效和可靠的協(xié)同工作系統(tǒng),提供分布式鎖之類的基本服務(wù),用于構(gòu)建分布式應(yīng)用,減輕分布式應(yīng)用程序所承擔(dān)的協(xié)調(diào)任務(wù)。Hive是一個(gè)基于Hadoop的數(shù)據(jù)倉庫工具,可以用于對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)行各種 MapRedu

9、ce操作。第三章試述分布式文件系統(tǒng)設(shè)計(jì)的需求。設(shè)計(jì)需求含義HDFS的實(shí)現(xiàn)情況透明性具備訪問透明性、位置透明性、性能、和伸縮透明性只能提供一定程度的訪問透明性,完全支持位置透明性、性能和伸縮透明性并發(fā)控制客戶端對于文件的讀寫不應(yīng)該影響其他客戶端對同一個(gè)文件的讀寫機(jī)制非常簡單,任何時(shí)候都只允許有一個(gè)程序?qū)懭肽硞€(gè)文件文件復(fù)制一個(gè)文件可以擁有不同位置的多個(gè)副本HDFS采用了多副本機(jī)制硬件和操作系統(tǒng)的異構(gòu)性可以在不同的操作系統(tǒng)和計(jì)算機(jī)上實(shí)現(xiàn)同樣的客戶端和服務(wù)端程序采用Java語言開發(fā),具有很好的跨平臺(tái)能力可伸縮性支持節(jié)點(diǎn)的動(dòng)態(tài)加入或退出建立在大規(guī)模廉價(jià)機(jī)器上的分布式文件系統(tǒng)集群,具有很好的伸縮性容錯(cuò)保證

10、文件服務(wù)在客戶端或者服務(wù)端出現(xiàn)問題的時(shí)候能正常使用具有多副本機(jī)制和故障自動(dòng)檢測、恢復(fù)機(jī)制安全保證系統(tǒng)的安全性安全性較弱分布式文件系統(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)或者也被稱為名稱結(jié)點(diǎn),另一類叫從節(jié)點(diǎn)Slave Node或者也被稱為數(shù)據(jù)節(jié)點(diǎn)試述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ì)上明顯要大

11、于普通文件系統(tǒng)。試述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ǔ)的塊的列表。hadoop fs -ls 顯示指定的文件的詳細(xì)信息hadoop fs -cat 將指定的文件的內(nèi)容輸出到標(biāo)準(zhǔn)輸出hadoop fs -mkdir 創(chuàng)建指定的文件夾hadoop fs -get -ignorecrc -crc 復(fù)制指定的文件到本地文件系統(tǒng)指定的

12、文件或文件夾。-ignorecrc選項(xiàng)復(fù)制CRC校驗(yàn)失敗的文件。使用-crc選項(xiàng)復(fù)制文件以及CRC信息。hadoop fs -put 從本地文件系統(tǒng)中復(fù)制指定的單個(gè)或多個(gè)源文件到指定的目標(biāo)文件系統(tǒng)中。也支持從標(biāo)準(zhǔn)輸入中讀取輸入寫入目標(biāo)文件系統(tǒng)。hadoop fs -rmr 刪除指定的文件夾及其的所有文件第四章試述在Hadoop體系架構(gòu)中HBase與其他組成部分的相互關(guān)系。答: HBase利用Hadoop MapReduce來處理HBase中的海量數(shù)據(jù),實(shí)現(xiàn)高性能計(jì)算;利用Zookeeper作為協(xié)同服務(wù),實(shí)現(xiàn)穩(wěn)定服務(wù)和失敗恢復(fù);使用HDFS作為高可靠的底層存儲(chǔ),利用廉價(jià)集群提供海量數(shù)據(jù)存儲(chǔ)能力;

13、 Sqoop為HBase的底層數(shù)據(jù)導(dǎo)入功能,Pig和Hive為HBase提供了高層語言支持,HBase是BigTable的開源實(shí)現(xiàn)。請闡述HBase和BigTable的底層技術(shù)的對應(yīng)關(guān)系答:項(xiàng)目BigTableHBase文件存儲(chǔ)系統(tǒng)GFSHDFS海量數(shù)據(jù)處理MapReduceHadoop MapReduce協(xié)同服務(wù)管理ChubbyZookeeper請闡述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ǔ),元組或行會(huì)被連續(xù)地存儲(chǔ)在磁盤也中基于列存儲(chǔ),每

14、個(gè)列族都由幾個(gè)文件保存,不同列族的文件是分離的數(shù)據(jù)索引針對不同列構(gòu)建復(fù)雜的多個(gè)索引只有一個(gè)行鍵索引數(shù)據(jù)維護(hù)用最新的當(dāng)前值去替換記錄中原來的舊值更新操作不會(huì)刪除數(shù)據(jù)舊的版本,而是生成一個(gè)新的版本可伸縮性很難實(shí)現(xiàn)橫向擴(kuò)展,縱向擴(kuò)展的空間也比較有限輕易地通過在集群中增加或者減少硬件數(shù)量來實(shí)現(xiàn)性能的伸縮HBase有哪些類型的訪問接口?答:HBase提供了Native Java API , HBase Shell , Thrift Gateway , REST GateWay , Pig , Hive 等訪問接口。請以實(shí)例說明HBase數(shù)據(jù)模型。列限定符列族列限定符列族答:InfoNameMajorEm

15、ail201505001Luo MinMath201505002Liu JunMath201505003Xie YouMath行鍵單元格單元格有兩個(gè)時(shí)間戳ts1和ts2行鍵單元格單元格有兩個(gè)時(shí)間戳ts1和ts2每個(gè)時(shí)間戳對應(yīng)一個(gè)數(shù)據(jù)版本分別解釋HBase中行鍵、列鍵和時(shí)間戳的概念行鍵是唯一的,在一個(gè)表里只出現(xiàn)一次,否則就是在更新同一行,行鍵可以是任意的字節(jié)數(shù)組。列族需要在創(chuàng)建表的時(shí)候就定義好,數(shù)量也不宜過多。列族名必須由可打印字符組成,創(chuàng)建表的時(shí)候不需要定義好列。時(shí)間戳,默認(rèn)由系統(tǒng)指定,用戶也可以顯示設(shè)置。使用不同的時(shí)間戳來區(qū)分不同的版本。請舉個(gè)實(shí)例來闡述HBase的概念視圖和物理視圖的不同H

16、Base數(shù)據(jù)概念視圖行鍵時(shí)間戳列族contents列族anchorT5Anchor:=CNNT3Anchor:my.look.ca=CNNT3Content:html=.T2Content:html=.T1Content:html=.HBase數(shù)據(jù)物理視圖行鍵時(shí)間戳列族anchorT5Anchor:=CNNT4Anchor:my.look.ca=CNN行鍵時(shí)間戳列族contentsT3Content:html=.T2Content:html=.T1Content:html=.在HBase的概念視圖中,一個(gè)表可以視為一個(gè)稀疏、多維的映射關(guān)系。在物理視圖中,一個(gè)表會(huì)按照屬于同一列族的數(shù)據(jù)保存在一起

17、試述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)用戶的讀寫請求請闡述HBase的數(shù)據(jù)分區(qū)機(jī)制。答: HBase采用分區(qū)存儲(chǔ),一個(gè)大的表會(huì)被分拆許多個(gè)Region,這些Region會(huì)被分發(fā)到不同的服務(wù)器上實(shí)現(xiàn)分布式存儲(chǔ)。HBase中的分區(qū)是如何定位的。通過構(gòu)建的映射表的每個(gè)條目包含兩項(xiàng)內(nèi)容,一個(gè)是Regionde 標(biāo)識符,另一個(gè)是Region服務(wù)器標(biāo)識,這個(gè)條目就標(biāo)識Region和Regi

18、on服務(wù)器之間的對應(yīng)關(guān)系,從而就可以知道某個(gè)Region被保存在哪個(gè)Region服務(wù)器中。試述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位置信息請闡述HBase的三層結(jié)構(gòu)下,客戶端是如何訪問到數(shù)據(jù)的。答:首先訪問Zookeeper,獲

19、取-ROOT表的位置信息,然后訪問-Root-表,獲得.MATA.表的信息,接著訪問.MATA.表,找到所需的Region具體位于哪個(gè)Region服務(wù)器,最后才會(huì)到該Region服務(wù)器讀取數(shù)據(jù)。試述HBase系統(tǒng)基本架構(gòu)以及每個(gè)組成部分的作用。1客戶端客戶端包含訪問HBase的接口,同時(shí)在緩存中維護(hù)著已經(jīng)訪問過的Region位置信息,用來加快后續(xù)數(shù)據(jù)訪問過程2Zookeeper服務(wù)器Zookeeper可以幫助選舉出一個(gè)Master作為集群的總管,并保證在任何時(shí)刻總有唯一一個(gè)Master在運(yùn)行,這就避免了Master的單點(diǎn)失效問題3Master主服務(wù)器Master主要負(fù)責(zé)表和Region的管理工

20、作:管理用戶對表的增加、刪除、修改、查詢等操作;實(shí)現(xiàn)不同Region服務(wù)器之間的負(fù)載均衡;在Region分裂或合并后,負(fù)責(zé)重新調(diào)整Region的分布;對發(fā)生故障失效的Region服務(wù)器上的Region進(jìn)行遷移4Region服務(wù)器Region服務(wù)器是HBase中最核心的模塊,負(fù)責(zé)維護(hù)分配給自己的Region,并響應(yīng)用戶的讀寫請求請闡述Region服務(wù)器向HDFS文件系統(tǒng)中讀寫數(shù)據(jù)的基本原理Region服務(wù)器內(nèi)部管理一系列Region對象和一個(gè)HLog文件,其中,HLog是磁盤上面的記錄文件,它記錄著所有的更新操作。每個(gè)Region對象又是由多個(gè)Store組成的,每個(gè)Store對象了表中的一個(gè)列族

21、的存儲(chǔ)。每個(gè)Store又包含了MemStore和若干個(gè)StoreFile,其中,MemStore是在內(nèi)存中的緩存。試述HStore的工作原理每個(gè)Store對應(yīng)了表中的一個(gè)列族的存儲(chǔ)。每個(gè)Store包括一個(gè)MenStore緩存和若干個(gè)StoreFile文件。MenStore是排序的內(nèi)存緩沖區(qū),當(dāng)用戶寫入數(shù)據(jù)時(shí),系統(tǒng)首先把數(shù)據(jù)放入MenStore緩存,當(dāng)MemStore緩存滿時(shí),就會(huì)刷新到磁盤中的一個(gè)StoreFile文件中,當(dāng)單個(gè)StoreFile文件大小超過一定閾值時(shí),就會(huì)觸發(fā)文件分裂操作。試述HLog的工作原理答:HBase系統(tǒng)為每個(gè)Region服務(wù)器配置了一個(gè)HLog文件,它是一種預(yù)寫式日

22、志W(wǎng)rite Ahead Log,用戶更新數(shù)據(jù)必須首先寫入日志后,才能寫入MemStore緩存,并且,直到MemStore緩存內(nèi)容對應(yīng)的日志已經(jīng)寫入磁盤,該緩存內(nèi)容才能被刷寫到磁盤。在HBase中,每個(gè)Region服務(wù)器維護(hù)一個(gè)HLog,而不是為每個(gè)Region都單獨(dú)維護(hù)一個(gè)HLog。請說明這種做法的優(yōu)缺點(diǎn)。優(yōu)點(diǎn):多個(gè)Region對象的更新操作所發(fā)生的日志修改,只需要不斷把日志記錄追加到單個(gè)日志文件中,不需要同時(shí)打開、寫入到多個(gè)日志文件中。缺點(diǎn):如果一個(gè)Region服務(wù)器發(fā)生故障,為了恢復(fù)其上次的Region對象,需要將Region服務(wù)器上的對象,需要將Region服務(wù)器上的HLog按照其所屬

23、的Region對象進(jìn)行拆分,然后分發(fā)到其他Region服務(wù)器上執(zhí)行恢復(fù)操作。當(dāng)一臺(tái)Region服務(wù)器意外終止時(shí),Master如何發(fā)現(xiàn)這種意外終止情況?為了恢復(fù)這臺(tái)發(fā)生意外的Region服務(wù)器上的Region,Master應(yīng)該做出哪些處理? Zookeeper會(huì)實(shí)時(shí)監(jiān)測每個(gè)Region服務(wù)器的狀態(tài),當(dāng)某個(gè)Region服務(wù)器發(fā)生故障時(shí),Zookeeper會(huì)通知Master。Master首先會(huì)處理該故障Region服務(wù)器上面遺留的HLog文件,這個(gè)遺留的HLog文件中包含了來自多個(gè)Region對象的日志記錄。系統(tǒng)會(huì)根據(jù)每條日志記錄所屬的Region對象對HLog數(shù)據(jù)進(jìn)行拆分,分別放到相應(yīng)Region

24、對象的目錄下,然后,再將失效的Region重新分配到可用的Region服務(wù)器中,并把與該Region對象相關(guān)的HLog日志記錄也發(fā)送給相應(yīng)的Region服務(wù)器。Region服務(wù)器領(lǐng)取到分配給自己的Region對象以及與之相關(guān)的HLog日志記錄以后,會(huì)重新做一遍日志記錄中的各種操作,把日志記錄中的數(shù)據(jù)寫入到MemStore緩存中,然后,刷新到磁盤的StoreFile文件中,完成數(shù)據(jù)恢復(fù)。第五章如何準(zhǔn)確理解NoSQL的含義?NoSQL是一種不同于關(guān)系數(shù)據(jù)庫的數(shù)據(jù)庫管理系統(tǒng)設(shè)計(jì)方式,是對非關(guān)系型數(shù)據(jù)庫的一類統(tǒng)稱,它采用的數(shù)據(jù)模型并非傳統(tǒng)關(guān)系數(shù)據(jù)庫的關(guān)系模型,而是類似鍵/值、列族、文檔等非關(guān)系模型。試

25、述關(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ò)展性和高可用性的需求請比較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)約束

26、條件NoSQL不存在數(shù)據(jù)庫模式,可以自由靈活定義并存儲(chǔ)各種不同類型的數(shù)據(jù)查詢效率快可以實(shí)現(xiàn)高效的簡單查詢,但是不具備高度結(jié)構(gòu)化查詢等特性,復(fù)雜查詢的性能不盡人意RDBMS借助于索引機(jī)制可以實(shí)現(xiàn)快速查詢包括記錄查詢和范圍查詢很多NoSQL數(shù)據(jù)庫沒有面向復(fù)雜查詢的索引,雖然NoSQL可以使用MapReduce來加速查詢,但是,在復(fù)雜查詢方面的性能仍然不如RDBMS一致性強(qiáng)一致性弱一致性RDBMS嚴(yán)格遵守事務(wù)ACID模型,可以保證事務(wù)強(qiáng)一致性很多NoSQL數(shù)據(jù)庫放松了對事務(wù)ACID四性的要求,而是遵守BASE模型,只能保證最終一致性數(shù)據(jù)完整性容易實(shí)現(xiàn)很難實(shí)現(xiàn)任何一個(gè)RDBMS都可以很容易實(shí)現(xiàn)數(shù)據(jù)完整

27、性,比如通過主鍵或者非空約束來實(shí)現(xiàn)實(shí)體完整性,通過主鍵、外鍵來實(shí)現(xiàn)參照完整性,通過約束或者觸發(fā)器來實(shí)現(xiàn)用戶自定義完整性但是,在NoSQL數(shù)據(jù)庫卻無法實(shí)現(xiàn)擴(kuò)展性一般好RDBMS很難實(shí)現(xiàn)橫向擴(kuò)展,縱向擴(kuò)展的空間也比較有限NoSQL在設(shè)計(jì)之初就充分考慮了橫向擴(kuò)展的需求,可以很容易通過添加廉價(jià)設(shè)備實(shí)現(xiàn)擴(kuò)展可用性好很好RDBMS在任何時(shí)候都以保證數(shù)據(jù)一致性為優(yōu)先目標(biāo),其次才是優(yōu)化系統(tǒng)性能,隨著數(shù)據(jù)規(guī)模的增大,RDBMS為了保證嚴(yán)格的一致性,只能提供相對較弱的可用性大多數(shù)NoSQL都能提供較高的可用性標(biāo)準(zhǔn)化是否RDBMS已經(jīng)標(biāo)準(zhǔn)化SQLNoSQL還沒有行業(yè)標(biāo)準(zhǔn),不同的NoSQL數(shù)據(jù)庫都有自己的查詢語言,很

28、難規(guī)范應(yīng)用程序接口StoneBraker認(rèn)為:NoSQL缺乏統(tǒng)一查詢語言,將會(huì)拖慢NoSQL發(fā)展技術(shù)支持高低RDBMS經(jīng)過幾十年的發(fā)展,已經(jīng)非常成熟,Oracle等大型廠商都可以提供很好的技術(shù)支持NoSQL在技術(shù)支持方面仍然處于起步階段,還不成熟,缺乏有力的技術(shù)支持可維護(hù)性復(fù)雜復(fù)雜RDBMS需要專門的數(shù)據(jù)庫管理員維護(hù)NoSQL數(shù)據(jù)庫雖然沒有DBMS復(fù)雜,也難以維護(hù)5.試述NoSQL數(shù)據(jù)庫的四大類型答:鍵值數(shù)據(jù)庫、列族數(shù)據(jù)庫、文檔數(shù)據(jù)庫和圖數(shù)據(jù)庫6.試述鍵值數(shù)據(jù)庫、列族數(shù)據(jù)庫、文檔數(shù)據(jù)庫和圖數(shù)據(jù)庫的適用場合和優(yōu)缺點(diǎn)。數(shù)據(jù)庫適用場合優(yōu)點(diǎn)缺點(diǎn)鍵值數(shù)據(jù)庫通過鍵而是通過值來查的業(yè)務(wù)擴(kuò)展性好,靈活性好,大

29、量寫操作時(shí)性能高無法存儲(chǔ)結(jié)構(gòu)化信息,條件查詢效率較低列族數(shù)據(jù)庫不需要ACID事務(wù)支持的情形查找速度快,可擴(kuò)展性強(qiáng),容易進(jìn)行分布式擴(kuò)展,復(fù)雜性低功能較少,大都不支持強(qiáng)事務(wù)一致性文檔數(shù)據(jù)庫只在相同的文檔上添加事務(wù)性能好高并發(fā),靈活性高,復(fù)雜性低,數(shù)據(jù)結(jié)構(gòu)靈活提供嵌入式文檔功能,將經(jīng)常查詢的數(shù)據(jù)存儲(chǔ)在同一個(gè)文檔中既可以根據(jù)鍵來構(gòu)建索引,也可以根據(jù)內(nèi)容構(gòu)建索引缺乏統(tǒng)一的查詢語法圖形數(shù)據(jù)庫具有高度相互關(guān)聯(lián)關(guān)系的數(shù)據(jù)靈活性高,支持復(fù)雜的圖形算法,可用于構(gòu)建復(fù)雜的關(guān)系圖譜復(fù)雜性高,只能支持一定的數(shù)據(jù)規(guī)模7.試述CAP理論的具體含義。答:所謂的CAP指的是:CConsistency:一致性,是指任何一個(gè)讀操作

30、總是能夠讀到之前完成的寫操作的結(jié)果,也就是在分布式環(huán)境中,多點(diǎn)的數(shù)據(jù)是一致的,或者說,所有節(jié)點(diǎn)在同一時(shí)間具有相同的數(shù)據(jù)A:Availability:可用性,是指快速獲取數(shù)據(jù),可以在確定的時(shí)間內(nèi)返回操作結(jié)果,保證每個(gè)請求不管成功或者失敗都有響應(yīng);PTolerance of Network Partition:分區(qū)容忍性,是指當(dāng)出現(xiàn)網(wǎng)絡(luò)分區(qū)的情況時(shí)即系統(tǒng)中的一部分節(jié)點(diǎn)無法和其他節(jié)點(diǎn)進(jìn)行通信,分離的系統(tǒng)也能夠正常運(yùn)行,也就是說,系統(tǒng)中任意信息的丟失或失敗不會(huì)影響系統(tǒng)的繼續(xù)運(yùn)作。8.請舉例說明不同產(chǎn)品在設(shè)計(jì)時(shí)是如何運(yùn)用CAP理論的。9.試述數(shù)據(jù)庫的ACID四性的含義1.原子性Atomicity指事務(wù)必

31、須是原子工作單元,對于其數(shù)據(jù)修改,要么全都執(zhí)行,要么全都不執(zhí)行。2.一致性consistency指事務(wù)在完成時(shí),必須使所有的數(shù)據(jù)都保持一致狀態(tài)。隔離性Isolation指并發(fā)事務(wù)所做的修改必須與其他并發(fā)事務(wù)所做的修改隔離。持久性Durability指事務(wù)完成之后,它對于系統(tǒng)的影響是永久性的,該修改即使出現(xiàn)致命的系統(tǒng)故障也將一直保持。10.試述BASE的具體含義BASE的基本含義是基本可用Basically Availble、軟狀態(tài)Soft-state和最終一致性Eventual consistency11.請解釋軟狀態(tài)、無狀態(tài)、硬狀態(tài)的具體含義。軟狀態(tài)soft-state是與硬狀態(tài)hard-s

32、tate相對應(yīng)的一種提法。數(shù)據(jù)庫保存的數(shù)據(jù)是硬狀態(tài)時(shí),可以保證數(shù)據(jù)一致性,即保證數(shù)據(jù)一直是正確的。軟狀態(tài)是指狀態(tài)可以有一段時(shí)間不同步,具有一定的滯后性。12.什么是最終一致性?最終一致性根據(jù)更新數(shù)據(jù)后各進(jìn)程訪問到數(shù)據(jù)的時(shí)間和方式的不同,又可以區(qū)分為:會(huì)話一致性:它把訪問存儲(chǔ)系統(tǒng)的進(jìn)程放到會(huì)話session的上下文中,只要會(huì)話還存在,系統(tǒng)就保證讀己之所寫一致性。如果由于某些失敗情形令會(huì)話終止,就要建立新的會(huì)話,而且系統(tǒng)保證不會(huì)延續(xù)到新的會(huì)話;單調(diào)寫一致性:系統(tǒng)保證來自同一個(gè)進(jìn)程的寫操作順序執(zhí)行。系統(tǒng)必須保證這種程度的一致性,否則就非常難以編程了單調(diào)讀一致性:如果進(jìn)程已經(jīng)看到過數(shù)據(jù)對象的某個(gè)值,那

33、么任何后續(xù)訪問都不會(huì)返回在那個(gè)值之前的值因果一致性:如果進(jìn)程A通知進(jìn)程B它已更新了一個(gè)數(shù)據(jù)項(xiàng),那么進(jìn)程B的后續(xù)訪問將獲得A寫入的最新值。而與進(jìn)程A無因果關(guān)系的進(jìn)程C的訪問,仍然遵守一般的最終一致性規(guī)則讀己之所寫一致性:可以視為因果一致性的一個(gè)特例。當(dāng)進(jìn)程A自己執(zhí)行一個(gè)更新操作之后,它自己總是可以訪問到更新過的值,絕不會(huì)看到舊值試述不一致性窗口的含義。所有后續(xù)的訪問都可以讀取到操作OP寫入的最新值。從OP操作完成到后續(xù)訪問可以最終讀取到OP寫入的最新值,這之間的時(shí)間間隔稱為不一致性窗口。14最終一致性根據(jù)更新數(shù)據(jù)后各進(jìn)程訪問到數(shù)據(jù)的時(shí)間和方式的不同,又可以分為哪些不同類型的一致性?會(huì)話一致性、單

34、調(diào)寫一致性、單調(diào)寫一致性、因果一致性和讀己之所寫一致性。什么是NewSQL數(shù)據(jù)庫?NewSQL是對各種新的可擴(kuò)展、高性能數(shù)據(jù)庫的簡稱,這類數(shù)據(jù)庫不僅具有NoSQL對海量數(shù)據(jù)的存儲(chǔ)管理能力,還保持了傳統(tǒng)數(shù)據(jù)庫支持ACID和SQL特性。第六章1.試述云數(shù)據(jù)庫的概念。答:云數(shù)據(jù)庫是部署和虛擬化在云計(jì)算環(huán)境中的數(shù)據(jù)庫。云數(shù)據(jù)庫是在云計(jì)算的大背景下發(fā)展起來的一種新興的共享基礎(chǔ)架構(gòu)的方法,它極大地增強(qiáng)了數(shù)據(jù)庫的存儲(chǔ)能力,消除了人員、硬件、軟件的重復(fù)配置,讓軟、硬件升級變得更加容易,同時(shí),也虛擬化了許多后端功能。云數(shù)據(jù)庫具有高可擴(kuò)展性、高可用性、采用多租形式和支持資源有效分發(fā)等特點(diǎn)。2.與傳統(tǒng)的軟件使用方式

35、相比,云計(jì)算這種模式具有哪些明顯的優(yōu)勢?3.云數(shù)據(jù)庫有哪些特性?答:1動(dòng)態(tài)可擴(kuò)展2高可用性3較低的使用代價(jià)4易用性5高性能6免維護(hù)7安全4.試述云數(shù)據(jù)庫的影響。答:在大數(shù)據(jù)時(shí)代,每個(gè)企業(yè)幾乎每天都在不斷產(chǎn)生大量的數(shù)據(jù)。企業(yè)類型不同,對于存儲(chǔ)的需求也千差萬別,而云數(shù)據(jù)庫可以很好地滿足不同企業(yè)的個(gè)性化存儲(chǔ)需求。首先,云數(shù)據(jù)庫可以滿足大企業(yè)的海量數(shù)據(jù)存儲(chǔ)需求。云數(shù)據(jù)庫在當(dāng)前數(shù)據(jù)爆炸的大數(shù)據(jù)時(shí)代具有廣闊的應(yīng)用前景。傳統(tǒng)的關(guān)系數(shù)據(jù)庫難以水平擴(kuò)展,相本無法存儲(chǔ)如此海量的數(shù)據(jù)。因此,具有高可擴(kuò)展性的云數(shù)據(jù)庫就成為企業(yè)海量數(shù)據(jù)存儲(chǔ)管理的很好選擇。其次,云數(shù)據(jù)庫可以滿足中小企業(yè)的低成本數(shù)據(jù)存儲(chǔ)需求。中小企業(yè)在I

36、T基礎(chǔ)設(shè)施方面的投人比較有限,非??释麖牡谌椒奖?、快捷、廉價(jià)地獲得數(shù)據(jù)庫服務(wù)。云數(shù)據(jù)庫采用多租戶方式同時(shí)為多個(gè)用戶提供服務(wù),降低了單個(gè)用戶的使用成本,而且用戶使用云數(shù)據(jù)庫服務(wù)通常按需付費(fèi),不會(huì)浪費(fèi)資源造成額外支出,因此,云數(shù)據(jù)庫使用成本很低,對于中小企業(yè)而言可以大大降低企業(yè)的信息化門檻,讓企業(yè)在付出較低成本的同時(shí),獲得優(yōu)質(zhì)的專業(yè)級數(shù)據(jù)庫服務(wù),從而有效提升企業(yè)信息化水平。另外,云數(shù)據(jù)庫可以滿足企業(yè)動(dòng)態(tài)變化的數(shù)據(jù)存儲(chǔ)需求。企業(yè)在不同時(shí)期需要存儲(chǔ)的數(shù)據(jù)量是不斷變化的,有時(shí)增加,有時(shí)減少。在小規(guī)模應(yīng)用的情況下,系統(tǒng)負(fù)載的變化可以由系統(tǒng)空閑的多余資源來處理,但是,在大規(guī)模應(yīng)用的情況下,傳統(tǒng)的關(guān)系數(shù)據(jù)庫

37、由于其伸縮性較差,不僅無法滿足應(yīng)用需求,而且會(huì)給企業(yè)帶來高昂的存儲(chǔ)成本和管理開銷。而云數(shù)據(jù)庫的良好伸縮性,可以讓企業(yè)在需求增加時(shí)立即獲得數(shù)據(jù)庫能力的提升,在需求減少時(shí)立即釋放多余的數(shù)據(jù)庫能力,較好地滿足企業(yè)的動(dòng)態(tài)數(shù)據(jù)存儲(chǔ)需求。5.舉例說明云數(shù)據(jù)庫廠商及其代表性產(chǎn)品。答:云數(shù)據(jù)庫供應(yīng)商主要分為三類。傳統(tǒng)的數(shù)據(jù)庫廠商,如Teradata、Oracle、IBM DB2和Microsoft SQLServer等。涉足數(shù)據(jù)庫市場的云供應(yīng)商,如Amazon、Google.Yahoo!、阿里、百度、騰訊等。新興廠商,如IVertica.LongJump和EnterpriseDB等。7.試述UMP系統(tǒng)的功能。

38、答:UMP系統(tǒng)是構(gòu)建在一個(gè)大的集群之上的,通過多個(gè)組件的協(xié)同作業(yè),整個(gè)系統(tǒng)實(shí)現(xiàn)了對用戶透明的容災(zāi)、讀寫分離、分庫分表、資源管理、資源調(diào)度、資源隔離和數(shù)據(jù)安全功能。1.容災(zāi)云數(shù)據(jù)庫必須向用戶提供一直可用的數(shù)據(jù)庫連接,當(dāng)MySQL實(shí)例發(fā)生故障時(shí),系統(tǒng)必須自動(dòng)執(zhí)行故障恢復(fù),所有故障處理過程對于用戶而言是透明的,用戶不會(huì)感知到后臺(tái)發(fā)生的一切。為了實(shí)現(xiàn)容災(zāi),UMP系統(tǒng)會(huì)為每個(gè)用戶創(chuàng)建兩個(gè)MySQL實(shí)例,一個(gè)是主庫,一個(gè)是從庫,而且,這兩個(gè)MySQL實(shí)例之間互相把對方設(shè)置為備份機(jī),任意一個(gè)MySQL實(shí)例上面發(fā)生的更新都會(huì)復(fù)制到對方。同時(shí),Proxy服務(wù)器可以保證只向主庫寫人數(shù)據(jù)。2.讀寫分離由于每個(gè)用戶都

39、有兩個(gè)MySQL實(shí)例,即主庫和從庫,因此,可以充分利用主從庫實(shí)現(xiàn)用戶讀寫操作的分離,實(shí)現(xiàn)負(fù)載均衡。UMP系統(tǒng)實(shí)現(xiàn)了對于用戶透明的讀寫分離功能,當(dāng)整個(gè)功能被開啟時(shí),負(fù)責(zé)向用戶提供訪問MySQL數(shù)據(jù)庫服務(wù)的Proxy服務(wù)器,就會(huì)對用戶發(fā)起的SQL語句進(jìn)行解析,如果屬于寫操作,就直接發(fā)送到主庫,如果是讀操作,就會(huì)被均衡地發(fā)送到主庫和從庫上執(zhí)行。3.分庫分表UMP支持對用戶透明的分庫分表。但是,用戶在創(chuàng)建賬號的時(shí)候需要指定類型為多實(shí)例,并且設(shè)置實(shí)例的個(gè)數(shù),系統(tǒng)會(huì)根據(jù)用戶設(shè)置來創(chuàng)建多組MySQL實(shí)例。除此以外,用戶還需要自己設(shè)定分庫分表規(guī)則,如需要確定分區(qū)字段,也就是根據(jù)哪個(gè)字段進(jìn)行分庫分表,還要確定分

40、區(qū)字段里的值如何映射到不同的MySQL實(shí)例上。4.資源管理UMP系統(tǒng)采用資源池機(jī)制來管理數(shù)據(jù)庫服務(wù)器上的CPU、內(nèi)存、磁盤等計(jì)算資源,所有的計(jì)算資源都放在資源池內(nèi)進(jìn)行統(tǒng)一分配,資源池是為MySQL實(shí)例分配資源的基本單位。整個(gè)集群中的所有服務(wù)器會(huì)根據(jù)其機(jī)型、所在機(jī)房等因素被劃分為多個(gè)資源池,每臺(tái)服務(wù)器會(huì)被加人到相應(yīng)的資源池。在資源池劃分的基礎(chǔ)上,UMP還在每臺(tái)服務(wù)器內(nèi)部采用Cgroup將資源進(jìn)一步地細(xì)化,從而可以限制每個(gè)進(jìn)程組使用資源的上限,同時(shí)保證進(jìn)程組之間相互隔離。5.資源調(diào)度UMP系統(tǒng)中有3種規(guī)格的用戶,分別是數(shù)據(jù)量和流量比較小的用戶、中等規(guī)模用戶以及需要分庫分表的用戶。多個(gè)小規(guī)模用戶可以

41、共享同一個(gè)MySQL實(shí)例。對于中等規(guī)模的用戶,每個(gè)用戶獨(dú)占個(gè)MySQL實(shí)例。用戶可以根據(jù)自己的需求來調(diào)整內(nèi)存空間和磁盤空間,如果用戶需要更多的資源,就可以遷移到資源有空閑或者具有更高配置的服務(wù)器上對于分庫分表的用戶,會(huì)占有多個(gè)獨(dú)立的MySQL實(shí)例,這些實(shí)例既可以共存在同一臺(tái)物理機(jī)上,也可以每個(gè)實(shí)例獨(dú)占一臺(tái)物理機(jī)。UMP通過MySQL實(shí)例的遷移來實(shí)現(xiàn)資源調(diào)度。借助于阿里集團(tuán)中間件團(tuán)隊(duì)開發(fā)的愚公系統(tǒng),UMP可以實(shí)現(xiàn)在不停機(jī)的情況下動(dòng)態(tài)擴(kuò)容、縮容和遷移。6.資源隔離當(dāng)多個(gè)用戶共享同一個(gè)MySQL實(shí)例或者多個(gè)MySQL實(shí)例共存在同一個(gè)物理機(jī)上時(shí),為了保護(hù)用戶應(yīng)用和數(shù)據(jù)的安全,必須實(shí)現(xiàn)資源隔離,否則,某

42、個(gè)用戶過多消耗系統(tǒng)資源會(huì)嚴(yán)重影響到其他用戶的操作性能。7.數(shù)據(jù)安全數(shù)據(jù)安全是讓用戶放心使用云數(shù)據(jù)庫產(chǎn)品的關(guān)鍵,尤其是企業(yè)用戶,數(shù)據(jù)庫中存放了很多業(yè)務(wù)數(shù)據(jù),有些屬于商業(yè)機(jī)密,一旦泄露,會(huì)給企業(yè)造成損失。UMP系統(tǒng)設(shè)計(jì)了多種機(jī)制來保證數(shù)據(jù)安全。SSL數(shù)據(jù)庫連接。數(shù)據(jù)訪問IP白名單。記錄用戶操作日志。SQL攔截。13.UMP系統(tǒng)是如何保障數(shù)據(jù)安全的? 答:SSL數(shù)據(jù)庫連接。SSL 是為網(wǎng)絡(luò)通信提供安全及數(shù)據(jù)完整性的一種安全協(xié)議,它在傳輸層對網(wǎng)絡(luò)連接進(jìn)行加密。Proxy 服務(wù)器實(shí)現(xiàn)了完整的MySQL 客戶端服務(wù)器協(xié)議,可以與客戶端之間建立SSL 數(shù)據(jù)庫連接。數(shù)據(jù)訪問IP白名單。可以把允許訪問云數(shù)據(jù)庫的

43、IP 地址放入白名單,只有白名單內(nèi)的IP地址才能訪問,其他IP地址的訪問都會(huì)被拒絕,從而進(jìn)一步保證賬戶安全。記錄用戶操作日志。用戶的所有操作記錄都會(huì)被記錄到日志分析服務(wù)器,通過檢查用戶操作記錄,可以發(fā)現(xiàn)隱藏的安全漏洞。SQL攔截。Proxy 服務(wù)器可以根據(jù)要求攔截多種類型的SQL 語句,比如全表掃描語句select *。15.簡述RDS中實(shí)例與數(shù)據(jù)庫的概念。答:RDS實(shí)例或簡稱實(shí)例,是用戶購買RDS服務(wù)的基本單位。在實(shí)例中可以創(chuàng)建多個(gè)數(shù)據(jù)庫,可以使用常見的數(shù)據(jù)庫客戶端連接、管理及使用數(shù)據(jù)庫??梢酝ㄟ^RDS管理控制臺(tái)或OPENAPI來創(chuàng)建、修改和刪除數(shù)據(jù)庫。各實(shí)例之間相互獨(dú)立、資源隔離,相互之間

44、不存在CPU、內(nèi)存、IOPS等搶占問題。但是,同一實(shí)例中的不同數(shù)據(jù)庫之間是資源共享的。每個(gè)實(shí)例擁有其自己的特性,如數(shù)據(jù)庫類型、版本等,系統(tǒng)有相應(yīng)的參數(shù)來控制實(shí)例行為。用戶所購買RDS實(shí)例的性能,取決于購買RDS實(shí)例時(shí)所選擇的配置,可供用戶選擇的硬件配置項(xiàng)為內(nèi)存和磁盤容量。RDS數(shù)據(jù)庫或簡稱數(shù)據(jù)庫,是用戶在一個(gè)實(shí)例下創(chuàng)建的邏輯單元,一個(gè)實(shí)例可以創(chuàng)建多個(gè)數(shù)據(jù)庫,在實(shí)例內(nèi)數(shù)據(jù)庫命名唯一,所有數(shù)據(jù)庫都會(huì)共享該實(shí)例下的資源,如CPU、內(nèi)存、磁盤容量等。RDS不支持使用標(biāo)準(zhǔn)的SQL語句或客戶端工具創(chuàng)建數(shù)據(jù)庫,必須使用OPENAPI或RDS管理控制臺(tái)進(jìn)行操作。16.列舉連接RDSforMySQL數(shù)據(jù)庫的4種

45、方法。答:方法1:使用客戶端MySQL-Front訪問。使用客戶端MySQL-Front,在連接Host框中輸人數(shù)據(jù)實(shí)例鏈接地址、端口、數(shù)據(jù)庫用戶名和數(shù)據(jù)庫密碼后,單擊確定按鈕即可。方法2: 使用數(shù)據(jù)庫管理T具NavicatMySQL。Navicat_MySQL是一套專為MySQL設(shè)計(jì)的強(qiáng)大的數(shù)據(jù)庫管理及開發(fā)工具,可以在連接輸人框中輸人數(shù)據(jù)實(shí)例地址、端口、數(shù)據(jù)庫用戶名和數(shù)據(jù)庫密碼后,單擊確定按鈕即可。方法3:使用MySQL命令登錄。用戶安裝MySQL客戶端后,可進(jìn)人命令行方式連接數(shù)據(jù)庫。命令格式如下。mysql -uuser_name -h -P3306 -pxxxx其中,-u指定的是用戶名,

46、-h指定的是主機(jī)名,-P指定的是端口,-p指定的是密碼。方法4:使用阿里云控制臺(tái)iDBCloud訪問。阿里云控制臺(tái)iDBCloud的頁面如圖6-7所示,RDS連接地址以及端口不需要再輸人,只需在用戶名中輸人數(shù)據(jù)庫的賬號,在密碼欄中輸人數(shù)據(jù)庫賬號的密碼,便可以登錄RDS進(jìn)行數(shù)據(jù)操作了。第七章1.試述MapReduce和Hadoop的關(guān)系。答:谷歌公司最先提出了分布式并行編程模型MapReduce, Hadoop MapReduce是它的開源實(shí)現(xiàn)。谷歌的MapReduce運(yùn)行在分布式文件系統(tǒng)GFS上,與谷歌類似,HadoopMapReduce運(yùn)行在分布式文件系統(tǒng)HDFS上。相對而言,HadoopM

47、apReduce要比谷歌MapReduce的使用門檻低很多,程序員即使沒有任何分布式程序開發(fā)經(jīng)驗(yàn),也可以很輕松地開發(fā)出分布式程序并部署到計(jì)算機(jī)集群中。2.MapReduce是處理大數(shù)據(jù)的有力工具,但不是每個(gè)任務(wù)都可以使用MapReduce來進(jìn)行處理。試述適合用MapReduce來處理的任務(wù)或者數(shù)據(jù)集需滿足怎樣的要求。答:適合用MapReduce來處理的數(shù)據(jù)集,需要滿足一個(gè)前提條件:待處理的數(shù)據(jù)集可以分解成許多小的數(shù)據(jù)集,而且每一個(gè)小數(shù)據(jù)集都可以完全并行地進(jìn)行處理。3. MapReduce模型采用Master-Slave結(jié)構(gòu),試描述JobTracker和TasKTracker的功能。答:MapR

48、educe框架采用了Master/Slave架構(gòu),包括一個(gè)Master和若干個(gè)Slave。Master上運(yùn)行JobTracker,Slave上運(yùn)行TaskTrackero用戶提交的每個(gè)計(jì)算作業(yè),會(huì)被劃分成若千個(gè)任務(wù)。JobTracker負(fù)責(zé)作業(yè)和任務(wù)的調(diào)度,監(jiān)控它們的執(zhí)行,并重新調(diào)度已經(jīng)失敗的任務(wù)。TaskTracker負(fù)責(zé)執(zhí)行由JobTracker指派的任務(wù)。6.試述MapReduce的工作流程。9.MapReduce中有這樣一個(gè)原則:移動(dòng)計(jì)算比移動(dòng)數(shù)據(jù)更經(jīng)濟(jì)。試述什么是本地計(jì)算,并分析為何要采用本地計(jì)算。答:MapReduce設(shè)計(jì)的一個(gè)理念就是計(jì)算向數(shù)據(jù)靠攏,而不是數(shù)據(jù)向計(jì)算靠攏,因?yàn)橐苿?dòng)

49、數(shù)據(jù)需要大量的網(wǎng)絡(luò)傳輸開銷,尤其是在大規(guī)模數(shù)據(jù)環(huán)境下,這種開銷尤為驚人,所以,移動(dòng)計(jì)算要比移動(dòng)數(shù)據(jù)更加經(jīng)濟(jì)。本地計(jì)算:在一個(gè)集群中,只要有可能,MapReduce框架就會(huì)將Map程序就近地在HDFS數(shù)據(jù)所在的節(jié)點(diǎn)運(yùn)行,即將計(jì)算節(jié)點(diǎn)和存儲(chǔ)節(jié)點(diǎn)放在一起運(yùn)行,從而減少了節(jié)點(diǎn)間的數(shù)據(jù)移動(dòng)開銷。10.試說明一個(gè)MapReduce程序在運(yùn)行期間,所啟動(dòng)的Map任務(wù)數(shù)量和Reduce任務(wù)數(shù)量各是由什么因素決定的。11.是否所有的MapReduce程序都需要經(jīng)過Map和Reduce這兩個(gè)過程?如果不是,請舉例說明。答:不是。對于關(guān)系的選擇運(yùn)算,只需要Map過程就能實(shí)現(xiàn),對于關(guān)系R中的每個(gè)元組t,檢測是否是滿足

50、條件的所需元組,如果滿足條件,則輸出鍵值對,也就是說,鍵和值都是t。這時(shí)的Reduce函數(shù)就只是一個(gè)恒等式,對輸入不做任何變換就直接輸出。12.試分析為何采用Combiner可以減少數(shù)據(jù)傳輸量?是否所有的MapReduce程序都可以采用Combiner?為什么?答:對于每個(gè)分區(qū)內(nèi)的所有鍵值對,后臺(tái)線程會(huì)根據(jù)key對它們進(jìn)行內(nèi)存排序,排序是MapReduce的默認(rèn)操作。排序結(jié)束后,還包含一個(gè)可選的合并操作。如果用戶事先沒有定義Combiner函數(shù),就不用進(jìn)行合并操作。如果用戶事先定義了Combiner函數(shù),則這個(gè)時(shí)候會(huì)執(zhí)行合并操作,從而減少需要溢寫到磁盤的數(shù)據(jù)量。所謂合并,是指將那些具有相同ke

51、y的的value加起來,比如,有兩個(gè)鍵值對和,經(jīng)過合并操作以后就可以得到一個(gè)鍵值對,減少了鍵值對的數(shù)量。不過,并非所有場合都可以使用Combiner,因?yàn)?Combiner的輸出是Reduce任務(wù)的輸人,Combiner絕不能改變Reduce任務(wù)最終的計(jì)算結(jié)果,一般而言,累加、最大值等場景可以使用合并操作。13.MapReduce程序的輸入文件、輸出文件都存儲(chǔ)在HDFS中,而在Map任務(wù)完成時(shí)的中間結(jié)果則存儲(chǔ)在本地磁盤中。試分析中間結(jié)果存儲(chǔ)在本地磁盤而不是HDFS上有何優(yōu)缺點(diǎn)。答:第八章試述在Hadoop推出之后其優(yōu)化與發(fā)展主要體現(xiàn)在哪兩個(gè)方面。答:Hadoop對MapReduce和GDFS的

52、許多方面做了有針對性的改進(jìn)提升。試述HDFS1.0中只包含一個(gè)名稱節(jié)點(diǎn)會(huì)帶來哪些問題。答:HDFS1.0采用單點(diǎn)名稱節(jié)點(diǎn)的設(shè)計(jì),不僅會(huì)帶來單點(diǎn)故障問題,還存在可擴(kuò)展性、性能和隔離性等問題。在可擴(kuò)展性方面,名稱節(jié)點(diǎn)把整個(gè)HDFS文件系統(tǒng)中的元數(shù)據(jù)信息都保存在自己的內(nèi)存中,HDFS1.0中只有一個(gè)名稱節(jié)點(diǎn),不可以水平擴(kuò)展,而單個(gè)名稱節(jié)點(diǎn)的內(nèi)存空間是由上限的,這限制了系統(tǒng)中數(shù)據(jù)塊、文件和目錄的數(shù)目。在系統(tǒng)整體性能方面,整個(gè)HDFS文件系統(tǒng)的性能會(huì)受限于單個(gè)名稱節(jié)點(diǎn)的吞吐量。在隔離性方面,單個(gè)名稱節(jié)點(diǎn)難以提供不同程序之間的隔離性,一個(gè)程序可能會(huì)影響會(huì)影響其他運(yùn)行的程序。請描述HDFS HA架構(gòu)組成組建

53、及其具體功能。答:在一個(gè)典型的HA集群中,一般設(shè)置兩個(gè)名稱節(jié)點(diǎn),其中一個(gè)名稱節(jié)點(diǎn)處于活躍狀態(tài),另一個(gè)處于待命狀態(tài)。處于活躍狀態(tài)的名稱節(jié)點(diǎn)負(fù)責(zé)對外處理所有客戶端的請求,而處于待命狀態(tài)的名稱節(jié)點(diǎn)則作為備用節(jié)點(diǎn),保存了足夠多的系統(tǒng)元數(shù)據(jù),當(dāng)名稱節(jié)點(diǎn)出現(xiàn)故障時(shí)提供快速回復(fù)能力也就是說,在HDFS HA中,處于待命狀態(tài)的名稱節(jié)點(diǎn)提供了熱備份,一旦活躍名稱節(jié)點(diǎn)出現(xiàn)故障,就可以立即切換到待命名稱節(jié)點(diǎn),不會(huì)影響到系統(tǒng)的正常對外服務(wù)。請分析HDFS HA架構(gòu)中數(shù)據(jù)節(jié)點(diǎn)如何和名稱節(jié)點(diǎn)保持通信。答:在HDFS聯(lián)邦中,所有名稱節(jié)點(diǎn)會(huì)共享底層的數(shù)據(jù)節(jié)點(diǎn)存儲(chǔ)資源。每個(gè)數(shù)據(jù)節(jié)點(diǎn)要向集群中所有的名稱節(jié)點(diǎn)注冊,并周期性地向名稱

54、節(jié)點(diǎn)發(fā)送心跳和塊信息,報(bào)告自己的狀態(tài),同時(shí)也會(huì)處理來自名稱節(jié)點(diǎn)的指令。6、請描述HDFS聯(lián)邦中塊池的概念,并分析為什么HDFS聯(lián)邦中的一個(gè)名稱節(jié)點(diǎn)失效,也不會(huì)影響到與它相關(guān)的數(shù)據(jù)節(jié)點(diǎn)繼續(xù)為其他名稱節(jié)點(diǎn)提供服務(wù)。答:HDFS聯(lián)邦擁有多個(gè)獨(dú)立的命名空間,其中,每一個(gè)命名空間管理屬于自己的一組塊,這些屬于同一個(gè)命名空間的塊構(gòu)成一個(gè)塊池。每個(gè)數(shù)據(jù)節(jié)點(diǎn)會(huì)為多個(gè)塊池提供塊的存儲(chǔ)??梢钥闯?數(shù)據(jù)節(jié)點(diǎn)是一個(gè)物理邏輯,而塊池則屬于邏輯概念,一個(gè)塊池是一組塊的邏輯集合,塊池中的各個(gè)塊實(shí)際上是存儲(chǔ)在各個(gè)不同的數(shù)據(jù)節(jié)點(diǎn)中的。因此HDFS聯(lián)邦中的一個(gè)名稱節(jié)點(diǎn)失效,也不會(huì)影響到與它相關(guān)的數(shù)據(jù)節(jié)點(diǎn)繼續(xù)為其他名稱節(jié)點(diǎn)提供服務(wù)

55、。請闡述MapReduce1.0體系結(jié)構(gòu)中存在的問題。答:1存在單點(diǎn)故障;JobTracker大包大攬導(dǎo)致任務(wù)過重;容易出現(xiàn)內(nèi)存溢出;資源劃分不合理。請描述YARN架構(gòu)中各組件的功能。答:組件功能ResourceManager處理客戶端請求啟動(dòng)/監(jiān)控ApplicationMaster監(jiān)控NodeManager資源分配與調(diào)度ApplicationMaster為應(yīng)用程序申請資源,并分配給內(nèi)部任務(wù)任務(wù)調(diào)度、監(jiān)控與容錯(cuò)NodeManager單個(gè)節(jié)點(diǎn)上的資源管理處理來自ResourceManager的命令處理來自ApplicationMaster的命令請描述在YARN框架中執(zhí)行一個(gè)MapReduce程序

56、時(shí),從提交到完成需要經(jīng)歷的具體步驟。答:用戶編寫客戶端應(yīng)用程序,向YARN提交應(yīng)用程序,提交的內(nèi)容包括ApplicationMaster程序、啟動(dòng)ApplicationMaster的命令、用戶程序等。YARN中的ResourceManager負(fù)責(zé)接收和處理來自客戶端的請求。接到客戶端應(yīng)用程序請求后,ResourceManager里面的調(diào)度器會(huì)為應(yīng)用程序分配一個(gè)容器。同時(shí),ResourceManager的應(yīng)用程序管理器會(huì)與該容器所在的NodeManager通信,為該應(yīng)用程序在該容器中啟動(dòng)一個(gè)ApplicationMasterApplicationMaster被創(chuàng)建后會(huì)首先向ResourceMan

57、ager注冊,從而使得用戶可以通過ResourceManager來直接查看應(yīng)用程序的運(yùn)行狀態(tài)ApplicationMaster采用輪詢的方式通過RPC協(xié)議向ResourceManager申請資源。ResourceManager以容器的形式向提出申請的ApplicationMaster分配資源,一旦ApplicationMaster申請到資源后,就會(huì)與該容器所在的NodeManager進(jìn)行通信,要求它啟動(dòng)任務(wù)。當(dāng)ApplicationMaster要求容器啟動(dòng)任務(wù)時(shí),它會(huì)為任務(wù)設(shè)置好運(yùn)行環(huán)境包括環(huán)境變量、JAR包、二進(jìn)制程序等,然后將任務(wù)啟動(dòng)命令寫到一個(gè)腳本中,最后通過在容器中運(yùn)行該腳本來啟動(dòng)任務(wù)

58、。各個(gè)任務(wù)通過某個(gè)RPC協(xié)議向ApplicationMaster匯報(bào)自己的狀態(tài)和進(jìn)度,讓ApplicationMaster可以隨時(shí)掌握各個(gè)任務(wù)的運(yùn)行狀態(tài),從而可以在任務(wù)失敗時(shí)重啟任務(wù)。應(yīng)用程序運(yùn)行完成后,ApplicationMaster向ResourceManager的應(yīng)用程序管理器注銷并關(guān)閉自己。若ApplicationMaster因故失敗,ResourceManager中的應(yīng)用程序管理器會(huì)監(jiān)測到失敗的情形,然后將其重新啟動(dòng),直到所有任務(wù)執(zhí)行完畢。請對YARN和MapReduce1.0框架進(jìn)行優(yōu)劣勢對比分析。答:1大大減少了承擔(dān)中心服務(wù)功能的ResourceManager的資源消耗。Map

59、Reduce1.0中的JobTracker需要同時(shí)承擔(dān)資源管理、任務(wù)調(diào)度和任務(wù)監(jiān)控等三大功能,而YARN中的ResourceManager只需要負(fù)責(zé)資源管理,需要消耗大量資源的任務(wù)調(diào)度和監(jiān)控重啟工作則交由ApplicationMaster來完成。由于每個(gè)作業(yè)都有與之關(guān)聯(lián)的獨(dú)立的ApplicationMaster,所以,系統(tǒng)中存在多個(gè)作業(yè)時(shí),就會(huì)同時(shí)存在多個(gè)ApplicationMaster,這就實(shí)現(xiàn)了監(jiān)控任務(wù)的分布化,不再像MapReduce1.0那樣監(jiān)控任務(wù)只集中在一個(gè)JobTracker上。MapReduce1.0既是一個(gè)計(jì)算框架,又是一個(gè)資源管理調(diào)度框架,但是只能支持MapReduce編

60、程模型。而YARN則是一個(gè)純粹的資源調(diào)度管理框架,在它上面可以運(yùn)行包括MapReduce在內(nèi)的不同類型的計(jì)算框架,默認(rèn)類型是MapReduce。因?yàn)?YARN中的ApplicationMaster是可變更的,針對不同的計(jì)算框架,用戶可以采用任何編程語言自己編寫服務(wù)于該計(jì)算框架的ApplicationMaster。比如,可以編寫一個(gè)面向MapReduce計(jì)算框架的ApplicationMaster,從而使得MapReduce計(jì)算框架可以運(yùn)行在YARN框架之上。同理,還可以編寫面向Spark、Storm等計(jì)算框架的ApplicationMaster,從而使得Spark、Storm等計(jì)算框架也可以運(yùn)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論