《分布式計算、云計算與大數(shù)據(jù)》習題參考解答_第1頁
《分布式計算、云計算與大數(shù)據(jù)》習題參考解答_第2頁
《分布式計算、云計算與大數(shù)據(jù)》習題參考解答_第3頁
《分布式計算、云計算與大數(shù)據(jù)》習題參考解答_第4頁
《分布式計算、云計算與大數(shù)據(jù)》習題參考解答_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

《分布式計算、云計算與大數(shù)據(jù)》習題參考解答第1章分布式計算概述

一、選擇題

1,CD2,ABC3,ABCD4,ACD

二、簡答題

1,參考1.1.1和節(jié)

2,參考1.1.2節(jié)

3,分布式計算的核心技術是進程間通信,參考1.3.2節(jié)

4,單播和組播

5,超時和多線程

三、試驗題

1.進程A在進程B發(fā)送receive前發(fā)起send操作

進程A進程B

發(fā)出非堵塞send操

作,進程A連續(xù)運行

發(fā)出堵塞receive操

作,進程B被堵塞進程B在進程A發(fā)起send前發(fā)出receive操作

發(fā)出非堵塞send操作,進程A連續(xù)運行

發(fā)出堵塞receive操作,進程B

被堵塞

收到進程A發(fā)送的數(shù)據(jù),進程B被喚醒

2.進程A在進程B發(fā)送receive前發(fā)起send操作

進程A進程B

發(fā)出堵塞send操作,

進程A被堵塞

發(fā)出堵塞receive操作,進程B被堵塞

進程B在進程A發(fā)起send前發(fā)出receive操作

發(fā)出堵塞send操作,進程A被堵塞

發(fā)出堵塞receive操作,進程B

被堵塞

收到進程A發(fā)送的數(shù)據(jù),進程B

被喚醒

收到進程B返回的數(shù)

據(jù),進程A被喚醒

3.1).在供應堵塞send操作和堵塞receive操作的通信系統(tǒng)中在供應非堵塞send操作和堵塞receive操作的通信系統(tǒng)中2).P1,P2,P3進程間通信的挨次狀態(tài)圖

m1

m1

m2

m2

第2章分布式計算范型概述

1.消息傳遞,客戶-服務器,P2P,分布式對象,網絡服務,移動代理等

2.分布式應用最廣泛最流行的范型是客戶-服務器范型,參考節(jié)

3.分布式應用最基本的范型是消息傳遞模型,參考節(jié)

4.參考節(jié),P2P應用有許多,例如Napster,迅雷,PPS網絡電視等

5.參考節(jié)

6.參考節(jié)

7.略

8.消息傳遞模式是最基本的分布式計算范型,適用于大多數(shù)應用;客戶-服務器范型是最

流行的分布式計算范型,應用最為廣泛;P2P范型又稱為對等結構范型,使得網絡以最有效率的方式運行,適用于各參加者地位公平的網絡;分布式對象范型,是抽象化的遠程調用,適用于簡單的分布式計算應用等。

9.略

10.中間件又稱為代理,中間件為參加對象供應內容抽象,隱蔽對象引用,起到中介作用。

11.略

第3章Socket編程與客戶服務器應用開發(fā)

一、填空題

1.數(shù)據(jù)包socket,流式socket

2.無連接方式,面對連接方式

3.數(shù)據(jù)層,業(yè)務層,應用層

4.迭代服務器和并發(fā)服務器

5.有狀態(tài)服務器和無狀態(tài)服務器

二、簡答題

1.API:ApplicationProgrammingInterface,應用程序編程接口,是一些預先定義

的函數(shù),目的是供應應用程序與開發(fā)人員基于某軟件或硬件得以訪問一組例程的能

力,而又無需訪問源碼,或理解內部工作機制的細節(jié)

SocketAPI:套接字應用程序編程接口,適用于進程間通信的套接字應用程序編程

接口

Winsock:Windows下網絡編程的規(guī)范-WindowsSockets是Windows下得到廣泛應

用的、開放的、支持多種協(xié)議的網絡編程接口。

2.無連接方式將以任意挨次到達,而有連接方式則以發(fā)送挨次按序到達

3.setToTimeout設置為0則表示永無超時,

4./*

*thisexampleillustratesthebasicmethodforreceivingadatagrampacket

*/

try{

DatagramSocketmySocket=newDatagramSocket(port);

"Waitingforreceivingthedata!");

5.2.3B23.A24.E2

6.E2

7.B2

8.E

29.D30.A

31.A32.BC

二、填空題

4.6.

8.setContentType(Strings)

9.response\addCookie(c)10.靜態(tài)頁面\動態(tài)頁面

://

15.gbk16.一對多/多對一

三、名詞解釋及解答

1.靜態(tài)網頁是實際存在的,無需經過服務器的編譯,直接加載到客戶掃瞄器上顯示出來。

2.所謂動態(tài)網頁是指網頁文件里包含了程序代碼,通過后臺數(shù)據(jù)庫與Web服務器的信息交互,由后臺數(shù)據(jù)庫供應實時數(shù)據(jù)更新和數(shù)據(jù)查詢服務。

3.數(shù)據(jù)和資源共享這兩種方式結合在一起即成為今日廣泛使用的網絡數(shù)據(jù)庫(WEB數(shù)據(jù)庫),它是以后臺(遠程)數(shù)據(jù)庫為基礎,加上肯定的前臺(本地計算機)程序,通過掃瞄

器完成數(shù)據(jù)存儲、查詢等操作的系統(tǒng)。

4.前者是指令元素、后者是行為元素。jsp:include動作和include指令之間的根本性的不同在于它們被調用的時間。jsp:include動作在懇求期間被激活,而include指令在頁面轉換期間被激活。

4.request對象是從客戶端向服務器發(fā)出懇求,包括用戶提交的信息以及客戶端的一些信息??蛻舳丝赏ㄟ^HTML表單或在網頁地址后面供應參數(shù)的方法提交數(shù)據(jù),然后通過request對象的相關方法來獵取這些數(shù)據(jù)。request的各種方法主要用來處理客戶端掃瞄器提交的懇求中的各項參數(shù)和選項。

5.JSP的response隱蔽對象在轉換為Servlet之后,對應于HttpServletResponse型態(tài)對象,HttpServletResponse對象是有關于對客戶端懇求之響應,它可以來設定一些要響應的訊息,例如標題信息、響應狀態(tài)碼等.

7.①跨平臺

既然JSP是基于Java語言的,那么它就可以使用JavaAPI,所以它也是跨平臺的,可以應用在不同的系統(tǒng)中,如Windows、Linux、Mac和Solaris等正是由于跨平臺的特性,使得采納JSP技術開發(fā)的項目可以不加修改地應用到任何不同的平臺上,這也應驗了Java語言的"一次編寫,處處運行"的特點。

②業(yè)務代碼分別

采納JSP技術開發(fā)的項目,通常使用HTML語言來設計和格式化靜態(tài)頁面的內容,而使用JSP標簽和Java代碼片段來實現(xiàn)動態(tài)部分。

③組件重用

JSP中可以使用JavaBean編寫業(yè)務組件,也就是使用一個JavaBean類封裝業(yè)務處理代碼或者作為一個數(shù)據(jù)存儲模型,在JSP頁面甚至整個項目中都可以重復使用這個JavaBean。JavaBean也可以應用到其他Java應用程序中,包括桌面應用程序。

④繼承JavaServlet功能

Servlet是JSP消失之前的主要JavaWeb處理技術。它接受用戶懇求,在Servlet類中編寫全部Java和HTML代碼,然后通過輸出流把結果頁面返回給掃瞄器。

⑤預編譯

預編譯就是在用戶第一次通過掃瞄器訪問JSP頁面時,服務器將對JSP頁面代碼進行編譯,并且僅執(zhí)行一次編譯。編譯好的代碼將被保存,在用戶下一次訪問時,直接執(zhí)行編譯好的代碼。這樣不僅節(jié)省了服務器的CPU資源,還大大提升了客戶端的訪問速度。

8.需要Java運行環(huán)境和JSP服務器;JDK即JavaDevelopmentKit,是Java運行所必需的環(huán)境包。JSP服務器有Tomcat/Weblogic/websphere/JBOSS等等。

9.它是軟件系統(tǒng)體系結構,通過它可以充分利用兩端硬件環(huán)境的優(yōu)勢,將任務合理安排到Client端和Server端來實現(xiàn),降低了系統(tǒng)的通訊開銷。

S結構(Browser/Server,掃瞄器/服務器模式),它將系統(tǒng)功能實現(xiàn)的核心部分集中到服務器上,簡化了系統(tǒng)的開發(fā)、維護和使用??蛻魴C上只要安裝一個掃瞄器(Browser),如NetscapeNavigator或InternetExplorer,服務器安裝Oracle、Sybase、Informix或SQLServer等數(shù)據(jù)庫。

11.動態(tài)網頁語言有JSP、ASP和PHP等等。

JSP(JavaServerPages)是由SunMicrosystems公司提倡、很多公司參加一起建立的一種動態(tài)網頁技術標準。

ASP是ActiveServerPage的縮寫,意為“動態(tài)服務器頁面”。ASP是微軟公司開發(fā)的代替CGI腳本程序的一種應用,它可以與數(shù)據(jù)庫和其它程序進行交互,是一種簡潔、便利的編程工具。

PHP,是英文超文本預處理語言HypertextPreprocessor的縮寫。PHP是一種HTML內嵌式的語言,是一種在服務器端執(zhí)行的嵌入HTML文檔的腳本語言,語言的風格有類似于C語言,被廣泛地運用。

是一種基于對象和大事驅動并具有相對平安性的客戶端腳本語言。同時也是一種廣泛用于客

戶端Web開發(fā)的腳本語言,常用來給HTML網頁添加動態(tài)功能,比如響應用戶的各種操作。

是用于保持狀態(tài)的基于Web服務器的方法。Session允許通過將對象存儲在Web服務器的內存中在整個用戶會話過程中保持任何對象。

,有時也用其復數(shù)形式Cookies,指某些網站為了辨別用戶身份、進行session跟蹤而儲存在用戶本地終端上的數(shù)據(jù)(通常經過加密)。

15.當用戶通過掃瞄器訪問一個Web站點時,首先向服務器發(fā)送一個連接懇求,懇求內容包括服務器的地址和懇求頁面的路徑。服務器依據(jù)用戶懇求的路徑以及頁面路徑組合起來查找到相應的頁面,然后返回客戶端。客戶端在向服務器端提交數(shù)據(jù)時有多種數(shù)據(jù)提交機制,最常用的是GET方法和POST方法。

16.servlet有良好的生存期的定義,包括加載和實例化、初始化、處理懇求以及服務結束。這個生存期由接口的init,service和destroy方法表達。Servlet被服務器實例化后,容器運行其init方法,懇求到達時運行其service方法,service方法自動派遣

運行與懇求對應的doXXX方法(doGet,doPost)等,當服務器打算將實例銷毀的時候調用其destroy方法。

第6章P2P原理與實踐

1、P2P的基本概念是什么?

答:P2P,即Peer-to-Peer的縮寫,在英語中“Peer”表示“對等者”和“伙伴”的意思,因此我們常稱它為“點對點”或者“端對端”,而學術界常稱它為“對等計算”。P2P是一種以非集中化方式使用分布式資源來完成一些關鍵任務的系統(tǒng)和應用。

2、P2P技術有哪些特點?

答:非中心化、可擴展性高、健壯性強、高性價比、負載均衡等。

3、說明P2P網絡有哪幾種拓撲結構,并舉出它們的典型應用系統(tǒng)。

答:中心化拓撲,應用:Napster;全分布式非結構化拓撲,應用:Gnutella;全分布式結構化拓撲,應用:Chord;半分布式拓撲,應用:KaZaA。

4、嘗試開發(fā)一個基于P2P模式的簡潔的文件傳輸系統(tǒng)。

暫未完成

5、對于P2P的將來,你有哪些感想?

第7章WebServices

1.什么是WebServices?

答:WebServices是基于網絡、自包含、分布式的模塊化組件;它執(zhí)行特定的任務,遵守詳細的技術規(guī)范,這些技術規(guī)范使得WebServices能與其他兼容組件進行互操作;一般由企業(yè)發(fā)布能完成特定業(yè)務需求的在線服務,而其他企業(yè)或應用軟件可以通過Internet尋求到自己所需的服務,并調用此服務,以完成特定的需求。

2.WebServices有哪些特點?

答:WebServices具有良好的封裝性、松耦合性、高度可集成性和易于構建的特點

3.在哪些應用場合中適合使用WebServices方案?

答:WebServices的適用場合有:跨防火墻的通信、應用程序集成、B2B的集成和軟件及數(shù)據(jù)的重用。

4.簡述WebServices的體系架構和工作原理。

答:WebServices的體系架構可以參見本章圖。在典型狀況下,Web服務由服務供應者、服務使用者和注冊中心三者構成。服務供應者托管可通過網絡訪問特定的軟件模塊,定義WebServices的服務描述并將服務發(fā)布到服務注冊中心統(tǒng)一名目中;服務懇求者使用查找操作

從注冊中心中檢索特定的服務,然后使用服務描述與服務供應者進行綁定并調用相應的服務,以進行交互。

有哪些特點?

答:可擴展性、自描述性、簡潔性、數(shù)據(jù)的描述與顯示相分別、易于數(shù)據(jù)的交換和共享、易于充分利用數(shù)據(jù)、可用于制造新的語言。

與WebServices是有怎樣的關系?

答:在WebServices中SOAP、WSDL、UDDI等技術都是基于XML建立起來的,它是WebServices的基石。正是由于XML具有跨平臺、跨語言等特性,才使得WebServices也具備這些特性,成為應用集成的好幫手。

7.試著使用XML語言描述一個生活中你熟識的事物,并畫出該文檔的樹形圖,同時寫出相應的XMLSchema文檔。

解析:

這里我們來描述下某家鞋店的鞋子信息,一雙鞋的信息可以包括品名、價格、尺碼、類別、顏色、材質和產地等。鞋子列表信息如下:

adidas

42

Training

Blue

Leather

India

8.什么是SOAP,它由哪幾個部分組成?

答:簡潔對象訪問協(xié)議(SOAP)是一種基于XML的、輕量級的、跨平臺的分布式系統(tǒng)間信息交換協(xié)議。SOAP主要由四個部分組成,SOAPEnvelope用于定義一個描述消息中的內容、發(fā)送者、接收者、處理者及如何處理的整體表示框架;SOAP編碼規(guī)章定義了一套編碼機制用于交換應用程序定義的數(shù)據(jù)類型的實例;SOAPRPC表示遠程過程調用和應答的協(xié)定;SOAP綁定定義了一種使用底層傳輸協(xié)議來完成在節(jié)點間交換SOAP消息的商定。

9.嘗試用SOAPXMLSchema編寫一個列車時刻信息的服務。該SOAP服務接收三個參數(shù):日期、始發(fā)地和終點,返回滿意參數(shù)條件的全部列車信息(如:列車編號、始發(fā)地、終點、始發(fā)時間、到達時間、票價和余票等)。

解析:

SOAP懇求消息如下:

上海虹橋

武昌

D3052

10、SOAPWebServices有哪幾種應用模型?

答:懇求/響應模式、fire-and-forget模式、高級消息模式、增量解析和處理模式、緩存模式。

11、簡述WSDL和UDDI。

答:WSDL(WebServicesDescriptionLanguage,Web服務描述語言)是一種基于XML的、特地用于描述WebServices的語言。通過WSDL可以對服務的功能信息、功能參數(shù)的消息類型、協(xié)議綁定信息和特定服務的地址信息進行描述。

UDDI(UniversalDescription、DiscoveryandIntegeration,統(tǒng)一描述、發(fā)覺和集成)是一套基于Web的分布式的WebServices信息注冊中心的實現(xiàn)標準規(guī)范,也包含一組訪問協(xié)議的實現(xiàn)標準,使得企業(yè)能將自身的WebServices注冊上去,并讓其他企業(yè)能夠發(fā)覺并使用這些服務,使服務更簡單被獵取。為了實現(xiàn)Web服務跨平臺、跨語言和松耦合的特性,UDDI也是以XML為基礎的。UDDI供應了一個全球的、跨平臺、開發(fā)的框架,企業(yè)可以更具需要發(fā)布服務產品或業(yè)務流程到注冊中心中,以便更多的結識更多、更好的合作伙伴,從而拓展企業(yè)的業(yè)務范圍。

12、試著使用MyEclipse實現(xiàn)第9題中列車時刻信息查詢服務,要求使用JAX-WS開發(fā)SOAP型WebServices。留意,從客戶端傳入始發(fā)地、終點和始發(fā)時間三個參數(shù),服務返回滿意要求的全部列車時刻信息。

解析:

(1)創(chuàng)建實體類Train,含有屬性trainNum(列車編號)、startPlace(始發(fā)地)、startTime(始發(fā)時間)、destination(終點)、reachTime(到達時間)、price(票價)、remainder(余票)。的代碼如下:

publicclassTrain{

privateStringtrainNum;quals(startPlace)&&

().equals(destination)&&

().startsWith(time)){

(temp);

}

}

returnresultList;

}

}

(3)完成服務端的建立后,可以創(chuàng)建客戶端CheckTrainPollingClient。留意,客戶端需要傳入三個參數(shù)(startPlace、destination和time),且這里采納異步方式。的代碼如下:publicclassCheckTrainPollingClient{

publicstaticvoidmain(Stringargs){

CheckTrainWSServiceservice=newCheckTrainWSService();

CheckTrainWSDelegateport=();

2024/07/182024/07/18quals(tStartPlace)){

(temp);

}

}

returnresultList;

}

quals(tStartPlace)

}

}

returnresultList;

}

quals(tStartPlace)&&

().equals(tDestination)

}

}

returnresultList;

}

}

(3)完成服務建立,并部署和發(fā)布后,可以啟動TestwithRESTWebServicesExplorer測試服務。先測試某站始發(fā)的全部列車信息,如輸入“上海虹橋”,則返回上海虹橋站始發(fā)的全部列車時刻信息,如下如所示:

接著測試從“上海虹橋”站到“杭州”站的全部列車時刻信息,如下圖所示:最終,測試“2024-07-20”從“廣州”到“深圳”的全部列車信息,如下圖所示:第8章云計算原理與技術

略,參考各章節(jié)內容

第9章云計算模擬編程實踐

略,參考各章節(jié)內容

第10章云存儲技術

1.參考11.1.1

2.參考11.1.2

3.參考11.1.3

4.參考11.1.4

5.參考11.2.1

6.參考

7.參考

8.參考11.2.2

9.參考及其他文獻

第11章大數(shù)據(jù)技術與實踐

1.簡述大數(shù)據(jù)的定義及其它的特征。

答:大數(shù)據(jù)并沒有統(tǒng)一的定義,但是通常它是指所處理的數(shù)據(jù)規(guī)模巨大到無法通過目前主流數(shù)據(jù)庫軟件工具,在可以接受的時間內完成抓取、儲存、管理和分析,并從中提取出人類可以理解的資訊。

4V特征:

第一個特征Volume是數(shù)據(jù)體量巨大。

其次個特征Variety:數(shù)據(jù)類型繁多。非結構和半結構數(shù)據(jù)正是大數(shù)據(jù)處理的難點所在。

第三個特征Velocity:處理速度快,時效性強。

最終一個特征是Value:商業(yè)價值高,但是價值密度低。單個數(shù)據(jù)的價值很低,只有大量數(shù)據(jù)聚合起來處理才能借助歷史數(shù)據(jù)猜測將來走勢,體現(xiàn)出大數(shù)據(jù)計算的價值所在。

2.思索:HDFS體系結構是否存在其局限性或瓶頸。

采納Master-Slave結構,必定會存在單點故障問題與NameNode性能瓶頸問題。其他更具體的請讀者補充。

3.HDFS中為什么默認副本數(shù)為3?

答:副本數(shù)為3的集群中,將一個副本保存到本地機架1的一個節(jié)點1上,其次個副本保存到本地機架的一個節(jié)點2上,第三個副本由節(jié)點2傳輸復制到遠程機架2的節(jié)點3上。

把三分之二的副本儲存在本地機架,把三分之一的副本儲存在遠程機架。這樣做既保證了數(shù)據(jù)的牢靠性,又節(jié)約了機架之間的網絡帶寬。一整個機架崩潰的概率很明顯遠遠低于單個節(jié)點的崩潰概率。一個機架崩潰了可以由另一機架保證數(shù)據(jù)的可用性。

4.HBase是如何實現(xiàn)隨機快速存取數(shù)據(jù)的?為什么要HBASE在創(chuàng)建表時只需要定義列

族,列族是如何存儲的?

隨機寫入:HBase底層的存儲是采納了一個keyvalue的文件結構,稱作hfile來實現(xiàn)的;HBase的隨機寫入并不是立即寫入HDFS;而是先寫入內存memstore,當memstore達到肯定的閥值后才會寫入HDFS;而且HBase的后臺合并機制,將memstore寫入到HDFS的小文件合并成大文件;

隨機刪除:HBase中刪除數(shù)據(jù)并不是馬上刪除,而只是在數(shù)據(jù)上做好標記,然后再下一次合并操作的時候進行清理。

隨機讀?。篐Base在存儲數(shù)據(jù)時在一個hfile中只存儲同一列族的數(shù)據(jù),并且數(shù)據(jù)時按Rowkey排序的,因此在讀取數(shù)據(jù)時只需要依據(jù)Rowkey跳轉到指定行就讀取數(shù)據(jù)。HBase特殊擅長的是對于同一列族的挨次讀取,所以隨機小數(shù)據(jù)量讀取雖然可行,但是性能遠遠不如挨次讀取。

5.Cassandra中超級列族與超級列與HBase中的列族和列有什么區(qū)分和聯(lián)系?

超級列(supercolumn)是一種特別的列。兩種列都是名/值對,但是一般列的值是字節(jié)數(shù)組,而超級列的值是一個子列的映射。超級列不能存儲其他的超級列的映射,即超級列僅允許使用一層,但是它不限制列的數(shù)量。

超級列族概念上和一般列族相像,只不過它是超級列的集合。

6.Cassandra供應了怎樣的可供用戶選擇的全都性級別?

寫全都性

假如是向Cassandra寫數(shù)據(jù),全都性級別指定了必需寫多少個副本勝利后再返回給客戶端應用。寫可以使用如下全都性級別,ANY是最低的全都性(但可用性最高),ALL是最高的全都性(但可用性最低),QUORUM是中間的可確保強全都性,可以容忍肯定程度的故障。

ANY至少一個節(jié)點響應寫操作。假如懇求的rowkey對應的全部的副本節(jié)點都停止了,接收到懇求的節(jié)點會記錄HINT消息和懇求數(shù)據(jù),然后響應寫勝利。在rowkey對應的

全部副本節(jié)點至少有一個啟動之前,全部讀rowkey會失敗。并且HINT消息只保留一段時間,假如在這段時間內全部副本節(jié)點還不行用,則數(shù)據(jù)會丟失。

ONE集群中至少有1個副本節(jié)點寫勝利。

TWO集群中至少有2個副本節(jié)點寫勝利。

THREE集群中至少有3個副本節(jié)點寫勝利。

QUORUM集群中至少有quorum個副本節(jié)點寫勝利.quorum=(各數(shù)據(jù)中心副本因子之和)/2+1,假如2個數(shù)據(jù)中心,1個數(shù)據(jù)中的副本因子3,1個數(shù)據(jù)中心的副本因子是2,quorum=(3+2)/2+1=3

LOCAL_QUORUM集群中同1個數(shù)據(jù)中心至少有quorum個副本節(jié)點寫勝利。quorum=(本數(shù)據(jù)中心副本因子)/2+1,假如接受懇求的節(jié)點所在的數(shù)據(jù)中心的副本因子是2,則quorum=(2)/2+1=2

EACH_QUORUM集群中每個數(shù)據(jù)中心至少有quorum個副本節(jié)點寫勝利。quorum計算同LOCAL_QUORUM。

ALL集群中全部副本節(jié)點寫勝利。

讀全都性

假如是向Cassandra讀數(shù)據(jù),全都性級別指定了必需多少個副本響應后再返回給客戶端應用結果。

ONE返回集群最近副本(打算于snitch)的響應。

TWO返回集群里2個最近副本中的最新數(shù)據(jù)。

THREE返回集群里3個最近副本中的最新數(shù)據(jù)。

QUORUM返回集群里quorum個副本中的最新數(shù)據(jù)。quorum=(各數(shù)據(jù)中心副本因子之和)/2+1,假如2個數(shù)據(jù)中心,1個數(shù)據(jù)中的副本因子3,1個數(shù)據(jù)中心的副本因子是2,quorum=(3+2)/2+1=3

LOCAL_QUORUM返回集群里當前數(shù)據(jù)中心quorum個副本中的最新數(shù)據(jù)。quorum=(本數(shù)據(jù)中心副本因子)/2+1,假如接受懇求的節(jié)點所在的數(shù)據(jù)中心的副本因子是2,則quorum=(2)/2+1=2

EACH_QUORUM返回集群中每個數(shù)據(jù)中心至少有quorum個副本中的最新數(shù)據(jù)。

quorum計算同LOCAL_QUORUM。

ALL返回集群中全部副本中的最新數(shù)據(jù)。

7.Redis的數(shù)據(jù)類型是怎樣的?是否像HBase一樣是Key-Value形式?

Redis并不是簡潔的key-value存儲,實際上他是一個數(shù)據(jù)結構服務器,支持不同類型的值。也就是說,你不必僅僅把字符串當作鍵所指向的值。

下列這些數(shù)據(jù)類型都可作為值類型。

字符串(string)、列表(list)、集合(set)、有序集合(ortedset)、希表(hash)。

String是最基本的一種數(shù)據(jù)類型,一般的key/value存儲都可以歸為此類。

List類型其實就是一個每個子元素都是String類型的雙向鏈表。

Set是String類型的無序集合。

Sortedset和set一樣也是string類型元素的集合,不同的是每個元素都會關聯(lián)

一個double類型的score。

Hash是一個string類型的field和value的映射表.它的添加,刪除操作都是O(1)

(平均).hash特殊適合用于存儲對象。

8.Redis供應了哪兩種分布式模型?

讀寫分別模型:傳統(tǒng)Master與Slave模式。

數(shù)據(jù)分片模型:將每個節(jié)點看成都是獨立的master,然后通過業(yè)務實現(xiàn)數(shù)據(jù)分片。

結合上面兩種模型,可以將每個master設計成由一個master和多個slave組成的模型。

9.MongoDB的數(shù)據(jù)組織形式是怎樣的?它的特點與應用場景是怎樣的?

MongoDB組織數(shù)據(jù)的方式如下:

Key-Value對>文檔>集合>數(shù)據(jù)庫

多個Key-Value對組織起來形成類似于JSON格式的文檔,多個文檔組織成為一個集合,多個集合組織起來,就形成了數(shù)據(jù)庫(database)。單個MongoDB實例可以使用多個數(shù)據(jù)庫,每個數(shù)據(jù)庫都是獨立運作的,可以有單獨的權限,每個數(shù)據(jù)庫的數(shù)據(jù)被分開保存在不同的文件里。

適用范圍:

適合實時的插入,更新與查詢,并具備應用程序實時數(shù)據(jù)存儲所需的復制及高度伸縮性。

適合作為信息基礎設施的長久化緩存層。

適合由數(shù)十或數(shù)百臺服務器組成的數(shù)據(jù)庫。由于Mongo已經包含對MapReduce引擎的內置支持。

10.名詞解釋:PRAM、BSP、LogP與MapReduce.

PRAM:即并行隨機存取機,也稱之為SIMD-SM(共享存儲的單指令流多數(shù)據(jù)流)模型,是一種應用于并行計算抽象模型?PRAM模型中,假設有一組有限或無限個獨立的至少擁有簡潔算數(shù)計算力量和規(guī)律推斷力量的處理機,每個處理機擁有自己的本地存儲(即寄存器)。并假定存在一個容量無限大的共享存儲器,這個存儲器被切分成特定大小的存儲單元。在單位時間內,每個處理機都能夠隨機地訪問任意存儲單元。

BSP:整體同步并行計算模型(BulkSynchronousParallelComputingModel),又名大同步模型或BSP模型。在一個超級步中,各處理器均執(zhí)行局部操作,并且可以通過選路器接收和發(fā)送消息。

LogP:LogP模型是一種分布存儲器?點對點通信的多處理器模型?這個模型說明白由互連網絡連接起來的計算機集群的性能特點,但沒有描述網絡的結構?

MapReduce:MapReduce模型是一種并行編程技術。它源自函數(shù)式編程理念,并有Google把它應用到在分布式計算環(huán)境上的大規(guī)模數(shù)據(jù)處理中。

11.當今流行的大數(shù)據(jù)處理模型MapReduce的數(shù)據(jù)處理過程及其優(yōu)劣勢。

MapReduce的輸入和輸出都是是一系列的key/value對。MapReduce運行環(huán)境的用戶通過實現(xiàn)兩個函數(shù)(Map和Reduce)來表達自己的算法。Map函數(shù),通過讀入一系列的key/value對來輸出一系列的以key/value對為形式的中間結果。MapReduce運行環(huán)境會收集這些中間結果的key/value對,并依據(jù)key的值進行聚合和排序,并將這些key/value對有序地傳遞給Reduce函數(shù)。同樣由用戶定義的Reduce函數(shù)接收這些中間結果的key及與其對應的value列表,合并這些value來生成對應key的更小的一個value集合。通常觸發(fā)一次Reduce函數(shù)會產生一個或零個結果value。

MapReduce的優(yōu)勢:

1、移動計算而不是移動數(shù)據(jù),避開了額外的網絡負載。

2、任務之間相互獨立,讓局部故障可以更簡單的處理,單個節(jié)點的故障的話只需要重

啟該節(jié)點任務即可。

3、抱負狀態(tài)下MapReduce模型是可線性擴展的。

4、MapReduce模型結構簡潔,終端用戶至少只需編寫Map和Reduce函數(shù)。

6、MapReduce模型的擴展性曲線是平坦的。

12.實際操作搭建編程環(huán)境并編寫簡潔的調用HDFS和HBaseAPI的程序,可參考HDFS、

HBase的API文檔。

13.實際操作搭建編程環(huán)境并編寫簡潔的MapReduce的程序,可參考Hadoop的API文

溫馨提示

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

評論

0/150

提交評論