大數(shù)據(jù)與云計(jì)算-雷16課件講解_第1頁
大數(shù)據(jù)與云計(jì)算-雷16課件講解_第2頁
大數(shù)據(jù)與云計(jì)算-雷16課件講解_第3頁
大數(shù)據(jù)與云計(jì)算-雷16課件講解_第4頁
大數(shù)據(jù)與云計(jì)算-雷16課件講解_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

主講人:雷明大數(shù)據(jù)與云計(jì)算知識點(diǎn)HBASE數(shù)據(jù)庫簡介存儲與管理貫穿大數(shù)據(jù)處理過程的始終。引言傳統(tǒng)的關(guān)系型數(shù)據(jù)庫難以應(yīng)對大數(shù)據(jù)挑戰(zhàn)。我們知道一臺普通PC機(jī)的硬盤大概可以存儲1Tb的數(shù)據(jù),那么10Tb,100Tb,1000Tb怎么辦?再比如現(xiàn)在我們大多數(shù)同學(xué)都有云存儲空間,而且還不小有50GB的空間,那么10個、100個、10000個同學(xué)呢?我們說1萬個同學(xué)就有1萬個50GB大小的空間,也就是500TB,這500TB的信息顯然不可能在一臺計(jì)算機(jī)上存儲。那又該如何存儲,如何查詢呢?分布式數(shù)據(jù)庫HBase是一個分布式的非關(guān)系型數(shù)據(jù)庫,一個高可靠、高性能、可伸縮的分布式數(shù)據(jù)庫,是Nosql數(shù)據(jù)庫,也就是NotOnly的縮寫。它的擴(kuò)展性強(qiáng),并發(fā)性能好,數(shù)據(jù)模型靈活。屬于Hadoop的組件,它使用Java語言編寫,需要運(yùn)行在HDFS文件系統(tǒng)之上,使用Zookeeper作為協(xié)同服務(wù)組件。HBase與Hadoop當(dāng)中的其他組件一樣,可以運(yùn)行在多臺計(jì)算機(jī)上,可以提供數(shù)10億行乘以數(shù)百萬列的大數(shù)據(jù)存儲、管理,以及隨機(jī)訪問和實(shí)時讀、寫的能力。分布式數(shù)據(jù)庫數(shù)據(jù)庫的核心目的是實(shí)現(xiàn)數(shù)據(jù)的高效管理,傳統(tǒng)關(guān)系數(shù)據(jù)庫一度占據(jù)商業(yè)數(shù)據(jù)庫應(yīng)用的主流位置分布式數(shù)據(jù)庫完備的關(guān)系理論基礎(chǔ)事務(wù)管理機(jī)制的支持高效的查詢優(yōu)化機(jī)制隨著web2.0應(yīng)用的發(fā)展,關(guān)系數(shù)據(jù)庫逐漸呈現(xiàn)不足:Schema-lessScalableNotransactions

Semi-structuredSchema

Hardtoscale

TransactionalStructured并發(fā)性可擴(kuò)展性可用性分布式數(shù)據(jù)庫HBase的原型是Google的分布式存儲系統(tǒng)BigTableBigTable使用谷歌分布式文件系統(tǒng)GFS作為底層數(shù)據(jù)存儲,配合MapReduce分布式并行計(jì)算模型來處理海量數(shù)據(jù),采用Chubby提供協(xié)同服務(wù)管理可以擴(kuò)展到PB級別的數(shù)據(jù)和上千臺機(jī)器,具備廣泛應(yīng)用性、可擴(kuò)展性、高性能和高可用性等特點(diǎn)。作為BigTable的開源實(shí)現(xiàn),HBase是一個高可靠、高性能、面向列、可伸縮的分布式數(shù)據(jù)庫,主要用來存儲非結(jié)構(gòu)化和半結(jié)構(gòu)化的數(shù)據(jù)。HBase的目標(biāo)是處理非常龐大的表,通過水平擴(kuò)展的方式,利用廉價計(jì)算機(jī)集群處理由超過10億行數(shù)據(jù)和數(shù)百萬列屬性組成的數(shù)據(jù)表數(shù)據(jù)類型:關(guān)系數(shù)據(jù)庫采用關(guān)系模型,具有豐富的數(shù)據(jù)類型和存儲方式,比如我們剛才說的同學(xué)的成績,這個就是整型的數(shù)據(jù)類型,只能是整數(shù)。姓名就是字符型,長度也可以固定,比如10個字符(5個漢字的長度)。HBase則采用了更加簡單的數(shù)據(jù)模型,它把數(shù)據(jù)存儲為未經(jīng)解釋的字符串,全部都是字符串。HBase與關(guān)系數(shù)據(jù)庫的區(qū)別數(shù)據(jù)操作:關(guān)系數(shù)據(jù)庫中包含了豐富的操作,其中會涉及復(fù)雜的多表連接。比如我們在關(guān)系型數(shù)據(jù)庫中有兩張表,有一張是我們的成績信息,有一張表是我們的寢室信息家庭信息等等。這兩張表有一個相同的字段姓名,這樣我們就可以通過這個相同的字段把兩張表連接起來。HBase操作則不存在復(fù)雜的表與表之間的關(guān)系,只有簡單的插入、查詢、刪除、清空等,因?yàn)镠Base在設(shè)計(jì)上就避免了復(fù)雜的表和表之間的關(guān)系。所以HBase也就不支持復(fù)雜的條件查詢,只能是通過行鍵查詢。存儲模式:關(guān)系數(shù)據(jù)庫是基于行模式存儲的。我們說每一行就是一條記錄。HBase是基于列存儲的,每個列簇都由幾個文件保存,不同列簇的文件是分離的。并且列簇中的列是可以動態(tài)增加的,而關(guān)系數(shù)據(jù)庫需要一開始就設(shè)計(jì)好。除此之外,HBase可以自動切分?jǐn)?shù)據(jù),關(guān)系型數(shù)據(jù)庫則需要我們?nèi)斯で蟹謹(jǐn)?shù)據(jù)。數(shù)據(jù)索引:關(guān)系數(shù)據(jù)庫通??梢葬槍Σ煌袠?gòu)建復(fù)雜的多個索引,以提高數(shù)據(jù)訪問性能。HBase只有一個索引——行鍵,通過巧妙的設(shè)計(jì),HBase中的所有訪問方法,或者通過行鍵訪問,或者通過行鍵掃描,從而使得整個系統(tǒng)不會慢下來。可伸縮性:關(guān)系數(shù)據(jù)庫很難實(shí)現(xiàn)橫向擴(kuò)展,縱向擴(kuò)展的空間也比較有限。相反,HBase分布式數(shù)據(jù)庫就是為了實(shí)現(xiàn)靈活的水平擴(kuò)展而開發(fā)的,能夠輕易地通過在集群中增加或者減少硬件數(shù)量來實(shí)現(xiàn)性能的伸縮。數(shù)據(jù)維護(hù):在關(guān)系數(shù)據(jù)庫中,更新操作會用最新的當(dāng)前值去替換記錄中原來的舊值,舊值被覆蓋后就不會存在。而在HBase中執(zhí)行更新操作時,并不會刪除數(shù)據(jù)舊的版本,而是生成一個新的版本,舊的版本仍然保留。數(shù)據(jù)庫的核心目的是實(shí)現(xiàn)數(shù)據(jù)的高效管理,傳統(tǒng)關(guān)系數(shù)據(jù)庫一度占據(jù)商業(yè)數(shù)據(jù)庫應(yīng)用的主流位置完備的關(guān)系理論基礎(chǔ)事務(wù)管理機(jī)制的支持高效的查詢優(yōu)化機(jī)制隨著信息化浪潮和互聯(lián)網(wǎng)應(yīng)用的興起,傳統(tǒng)的關(guān)系型數(shù)據(jù)庫在一些業(yè)務(wù)上開始呈現(xiàn)不足:無法滿足海量數(shù)據(jù)的管理需求無法滿足數(shù)據(jù)高并發(fā)的需求無法滿足高可擴(kuò)展性和高可用性的需求NoSQL最初被理解為一味用新型數(shù)據(jù)庫替代傳統(tǒng)關(guān)系型數(shù)據(jù)庫,但兩者各有優(yōu)缺點(diǎn),無法完全取代NoSQL是對非關(guān)系型數(shù)據(jù)庫的統(tǒng)稱,具有以下幾個特點(diǎn):靈活的可擴(kuò)展性靈活的數(shù)據(jù)模型與云計(jì)算緊密融合典型的NoSQL數(shù)據(jù)庫通常包括:鍵值數(shù)據(jù)庫列存儲數(shù)據(jù)庫文檔數(shù)據(jù)庫圖數(shù)據(jù)庫典型NoSQL數(shù)據(jù)庫鍵值數(shù)據(jù)庫(Key-Value)將數(shù)據(jù)存儲為鍵值對集合,其中鍵作為唯一標(biāo)識符,可以用來定位值。鍵值數(shù)據(jù)庫值對數(shù)據(jù)庫而言是不可見的,不能對值進(jìn)行索引和查詢。鍵是一個字符串對象,值可以是任意類型的數(shù)據(jù),比如整型、字符型、數(shù)組、列表、集合等鍵值數(shù)據(jù)庫可以進(jìn)一步分為內(nèi)存鍵值數(shù)據(jù)庫和持久化鍵值數(shù)據(jù)庫內(nèi)存鍵值數(shù)據(jù)庫。鍵值數(shù)據(jù)庫是高度可分區(qū)的,具有高可擴(kuò)展性。列存儲數(shù)據(jù)庫列存儲數(shù)據(jù)庫主要面向海量數(shù)據(jù)的分布式存儲。列存儲數(shù)據(jù)庫一般采用列族數(shù)據(jù)庫模型,數(shù)據(jù)庫由多行構(gòu)成,每行數(shù)據(jù)包含多個列族,不同行可具有不同數(shù)量的列。每行數(shù)據(jù)通過行鍵進(jìn)行定位,行鍵對應(yīng)多個列,列以列族為單位組織存儲。典型的列數(shù)據(jù)庫包括Cassandra,HBase,HyperTable等。{"firstName":

"Bob","lastName":

"Smith","address":

{"street":"21

2ndStreet","city":

"New

York","state":

"NY","postalCode":

"10021"},"phoneNumbers":

[{"type":

“cell","number":

"(123)

555-0178"},{"type":

"Work","number":

"(890)

555-0133"},]}<contact><firstname>Bob</firstname><lastname>Smith</lastname><phone

type="Cell">(123)

555-0178</phone><phone

type="Work">(890)

555-0133</phone><address><type>Home</type><street>21

2nd

Street</street><city>New

York</city><state>NY</state><zip>10021</zip><country>US</country></address></contact>文檔數(shù)據(jù)庫“文檔”是處理信息的基本單位,相當(dāng)于關(guān)系數(shù)據(jù)庫中的一條記錄。旨在將半結(jié)構(gòu)化數(shù)據(jù)存儲為文檔,通常用XML、JSON等文檔格式來封裝和編碼數(shù)據(jù)文檔數(shù)據(jù)庫用于存儲、檢索和管理面向文檔的信息。使用文檔內(nèi)容來構(gòu)建索引典型的文檔數(shù)據(jù)庫包括CouchDB,MongoDB,RavenDB等文檔數(shù)據(jù)庫文檔能夠?qū)Π臄?shù)據(jù)類型和內(nèi)容進(jìn)行“自我描述”。文檔數(shù)據(jù)庫一個文檔可以包含非常復(fù)雜的數(shù)據(jù)結(jié)構(gòu),如嵌套對象,且每個文檔可以有完全不同的數(shù)據(jù)結(jié)構(gòu)。文檔數(shù)據(jù)庫圖數(shù)據(jù)庫圖數(shù)據(jù)庫(GraphDatabase)使用圖作為數(shù)據(jù)模型,通過節(jié)點(diǎn)、邊和屬性來表示和存儲數(shù)據(jù)。圖數(shù)據(jù)庫專門用于管理具有高度相互關(guān)聯(lián)關(guān)系的數(shù)據(jù)。如社交網(wǎng)絡(luò)、依賴分析、推薦系統(tǒng)以及路徑尋找等問題。典型的圖數(shù)據(jù)庫包括Neo4J、InfiniteGraph、GraphDB等。NoSQL對比關(guān)系數(shù)據(jù)庫關(guān)系數(shù)據(jù)庫優(yōu)勢以完善的關(guān)系代數(shù)理論作為基礎(chǔ),有嚴(yán)格的標(biāo)準(zhǔn),支持事務(wù)ACID,借助索引機(jī)制可以實(shí)現(xiàn)高效的查詢,技術(shù)成熟,有專業(yè)公司的技術(shù)支持??蓴U(kuò)展性較差,無法較好支持海量數(shù)據(jù)存儲,數(shù)據(jù)模型不夠靈活、無法較好支持Web2.0應(yīng)用,事務(wù)機(jī)制影響了系統(tǒng)的整體性能等。劣勢NoSQL對比關(guān)系數(shù)據(jù)庫NoSQL數(shù)據(jù)庫優(yōu)勢可以支持超大規(guī)模數(shù)據(jù)存儲,靈活的數(shù)據(jù)模型可以很好地支持Web2.0應(yīng)用,具有強(qiáng)大的橫向擴(kuò)展能力等。缺乏數(shù)學(xué)理論基礎(chǔ),復(fù)雜查詢性能不高,大都不能實(shí)現(xiàn)事務(wù)強(qiáng)一致性,很難實(shí)現(xiàn)數(shù)據(jù)完整性,缺乏專業(yè)團(tuán)隊(duì)的技術(shù)支持,維護(hù)較困難等。劣勢存儲業(yè)務(wù)數(shù)據(jù):交通工具GPS信息,司機(jī)點(diǎn)位信息,訂單信息,物流信息,設(shè)備訪問信息,用戶行為信息等存儲日志數(shù)據(jù):架構(gòu)監(jiān)控?cái)?shù)據(jù)(登錄日志,中間件訪問日志,推送日志,短信郵件發(fā)送記錄等),業(yè)務(wù)操作日志信息等存儲業(yè)務(wù)附件:UDFS系統(tǒng)存儲圖像,視頻

溫馨提示

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

評論

0/150

提交評論