《大數據與云計算》課件-11.Hbase_第1頁
《大數據與云計算》課件-11.Hbase_第2頁
《大數據與云計算》課件-11.Hbase_第3頁
《大數據與云計算》課件-11.Hbase_第4頁
《大數據與云計算》課件-11.Hbase_第5頁
已閱讀5頁,還剩50頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

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

Semi-structuredSchema

Hardtoscale

TransactionalStructured并發性可擴展性可用性分布式數據庫HBase的原型是Google的分布式存儲系統BigTableBigTable使用谷歌分布式文件系統GFS作為底層數據存儲,配合MapReduce分布式并行計算模型來處理海量數據,采用Chubby提供協同服務管理可以擴展到PB級別的數據和上千臺機器,具備廣泛應用性、可擴展性、高性能和高可用性等特點。作為BigTable的開源實現,HBase是一個高可靠、高性能、面向列、可伸縮的分布式數據庫,主要用來存儲非結構化和半結構化的數據。HBase的目標是處理非常龐大的表,通過水平擴展的方式,利用廉價計算機集群處理由超過10億行數據和數百萬列屬性組成的數據表數據類型:關系數據庫采用關系模型,具有豐富的數據類型和存儲方式,比如我們剛才說的同學的成績,這個就是整型的數據類型,只能是整數。姓名就是字符型,長度也可以固定,比如10個字符(5個漢字的長度)。HBase則采用了更加簡單的數據模型,它把數據存儲為未經解釋的字符串,全部都是字符串。HBase與關系數據庫的區別數據操作:關系數據庫中包含了豐富的操作,其中會涉及復雜的多表連接。比如我們在關系型數據庫中有兩張表,有一張是我們的成績信息,有一張表是我們的寢室信息家庭信息等等。這兩張表有一個相同的字段姓名,這樣我們就可以通過這個相同的字段把兩張表連接起來。HBase操作則不存在復雜的表與表之間的關系,只有簡單的插入、查詢、刪除、清空等,因為HBase在設計上就避免了復雜的表和表之間的關系。所以HBase也就不支持復雜的條件查詢,只能是通過行鍵查詢。存儲模式:關系數據庫是基于行模式存儲的。我們說每一行就是一條記錄。HBase是基于列存儲的,每個列簇都由幾個文件保存,不同列簇的文件是分離的。并且列簇中的列是可以動態增加的,而關系數據庫需要一開始就設計好。除此之外,HBase可以自動切分數據,關系型數據庫則需要我們人工切分數據。數據索引:關系數據庫通常可以針對不同列構建復雜的多個索引,以提高數據訪問性能。HBase只有一個索引——行鍵,通過巧妙的設計,HBase中的所有訪問方法,或者通過行鍵訪問,或者通過行鍵掃描,從而使得整個系統不會慢下來。可伸縮性:關系數據庫很難實現橫向擴展,縱向擴展的空間也比較有限。相反,HBase分布式數據庫就是為了實現靈活的水平擴展而開發的,能夠輕易地通過在集群中增加或者減少硬件數量來實現性能的伸縮。數據維護:在關系數據庫中,更新操作會用最新的當前值去替換記錄中原來的舊值,舊值被覆蓋后就不會存在。而在HBase中執行更新操作時,并不會刪除數據舊的版本,而是生成一個新的版本,舊的版本仍然保留。數據庫的核心目的是實現數據的高效管理,傳統關系數據庫一度占據商業數據庫應用的主流位置完備的關系理論基礎事務管理機制的支持高效的查詢優化機制隨著信息化浪潮和互聯網應用的興起,傳統的關系型數據庫在一些業務上開始呈現不足:無法滿足海量數據的管理需求無法滿足數據高并發的需求無法滿足高可擴展性和高可用性的需求NoSQL最初被理解為一味用新型數據庫替代傳統關系型數據庫,但兩者各有優缺點,無法完全取代NoSQL是對非關系型數據庫的統稱,具有以下幾個特點:靈活的可擴展性靈活的數據模型與云計算緊密融合典型的NoSQL數據庫通常包括:鍵值數據庫列存儲數據庫文檔數據庫圖數據庫典型NoSQL數據庫鍵值數據庫(Key-Value)將數據存儲為鍵值對集合,其中鍵作為唯一標識符,可以用來定位值。鍵值數據庫值對數據庫而言是不可見的,不能對值進行索引和查詢。鍵是一個字符串對象,值可以是任意類型的數據,比如整型、字符型、數組、列表、集合等鍵值數據庫可以進一步分為內存鍵值數據庫和持久化鍵值數據庫內存鍵值數據庫。鍵值數據庫是高度可分區的,具有高可擴展性。列存儲數據庫列存儲數據庫主要面向海量數據的分布式存儲。列存儲數據庫一般采用列族數據庫模型,數據庫由多行構成,每行數據包含多個列族,不同行可具有不同數量的列。每行數據通過行鍵進行定位,行鍵對應多個列,列以列族為單位組織存儲。典型的列數據庫包括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>文檔數據庫“文檔”是處理信息的基本單位,相當于關系數據庫中的一條記錄。旨在將半結構化數據存儲為文檔,通常用XML、JSON等文檔格式來封裝和編碼數據文檔數據庫用于存儲、檢索和管理面向文檔的信息。使用文檔內容來構建索引典型的文檔數據庫包括CouchDB,MongoDB,RavenDB等文檔數據庫文檔能夠對包含的數據類型和內容進行“自我描述”。文檔數據庫一個文檔可以包含非常復雜的數據結構,如嵌套對象,且每個文檔可以有完全不同的數據結構。文檔數據庫圖數據庫圖數據庫(GraphDatabase)使用圖作為數據模型,通過節點、邊和屬性來表示和存儲數據。圖數據庫專門用于管理具有高度相互關聯關系的數據。如社交網絡、依賴分析、推薦系統以及路徑尋找等問題。典型的圖數據庫包括Neo4J、InfiniteGraph、GraphDB等。NoSQL對比關系數據庫關系數據庫優勢以完善的關系代數理論作為基礎,有嚴格的標準,支持事務ACID,借助索引機制可以實現高效的查詢,技術成熟,有專業公司的技術支持。可擴展性較差,無法較好支持海量數據存儲,數據模型不夠靈活、無法較好支持Web2.0應用,事務機制影響了系統的整體性能等。劣勢NoSQL對比關系數據庫NoSQL數據庫優勢可以支持超大規模數據存儲,靈活的數據模型可以很好地支持Web2.0應用,具有強大的橫向擴展能力等。缺乏數學理論基礎,復雜查詢性能不高,大都不能實現事務強一致性,很難實現數據完整性,缺乏專業團隊的技術支持,維護較困難等。劣勢存儲業務數據:交通工具GPS信息,司機點位信息,訂單信息,物流信息,設備訪問信息,用戶行為信息等存儲日志數據:架構監控數據(登錄日志,中間件訪問日志,推送日志,短信郵件發送記錄等),業務操作日志信息等存儲業務附件:UDFS系統存儲圖像,視頻,文檔等附件信息,智慧城市系統的監控圖像、流量數據等。HBase常見應用場景1本節介紹了分布式數據庫Hbase的概念。2介紹了分布式數據庫Hbase與關系數據庫的區別,HBase數據庫是BigTable的開源實現,支持大規模海量數據的存儲與管理。3介紹了NoSQL數據庫,NoSQL數據庫主要包括鍵值數據庫、列族數據庫、文檔型數據庫和圖數據庫四種類型。4介紹了分布式數據庫的常見應用場景。本章小結知識點HBASE數據庫入門3hbase與分布式文件系統hdfs的區別1hbase的結構2hbase的特性HBASE數據庫入門HBase本質上是一個稀疏、多維度、排序的映射表,這張表的索引是行鍵、列族、列限定符和時間戳。hbase的結構用戶在表中存儲數據,每一行都有一個可排序的行鍵和任意多的列。表中的值是未經解釋的字符串,沒有數據類型。行鍵列族

cf1列族

cf2列限定符3個時間戳有些列的值是空的,所以HBase是稀疏的hbase的結構邏輯視圖vs.物理視圖hbase的結構關系型數據庫當中要修改表的結構就是很復雜的一件事,比如增加一個字段。舉個例子來說,如果我們的成績表當中忘記了計算機成績這一列,你都錄入了一大半數據才發現,這個時候你要先修改表的結構增加一列,然后在一行一行的輸入每個同學的計算機成績。如果是hbase就簡單了,我把這一列直接擴充到hbase里面就可以了。hbase的結構29列族支持動態擴展,可以很輕松地添加一個列族或列,無需預先定義列的數量以及類型,所有列均以字符串形式存儲,用戶需要自行進行數據類型轉換。hbase的結構HBase中執行更新操作時,并不會刪除數據舊的版本,而是生成一個新的版本,舊有的版本仍然保留。若不提供時間戳則默認返回最新版本。數據是按照時間戳順序存儲的,客戶端可以選擇獲取距離某個時間最近的版本,或者獲取所有版本。表:HBase采用表來組織數據,表由行和列組成,列劃分為若干個列族hbase的結構行:每個HBase表都由若干行組成,每個行由行鍵(row

key)來標識。列族:一個HBase表被分組成許多“列族”(Column

Family)的集合,它是基本的訪問控制單元列限定符:列族里的數據通過列限定符(或列)來定位hbase的結構單元格:在HBase表中,通過行、列族和列限定符確定一個“單元格”(cell),單元格中存儲的數據沒有數據類型,總被視為字節數組byte[

]時間戳:每個單元格都保存著同一份數據的多個版本,這些版本采用時間戳進行索引HBase中需要根據行鍵、列族、列限定符和時間戳來確定一個單元格,因此可視為一個“四維坐標”[行鍵,列族,列限定符,時間戳];如果把坐標看成“鍵”,單元格數據看成“值”,HBase也可看成一個鍵值數據庫。hbase的結構為空的列并不占用存儲空間,表可以設計的非常稀疏稀疏性每一列存儲的數據可以有多個version。多版本單表可以有百億行、百萬列,數據矩陣橫向和縱向兩個維度所支持的數據量級都非常具有彈性。數據容量大HBase特性讀寫強一致,非“最終一致性”的數據存儲,使得它非常適合高速的計算聚合。自動分片,通過Region分散在集群中,當行數增長的時候,Region也會自動的切分和再分配。Hadoop/HDFS集成,和HDFS開箱即用,不用太麻煩的銜接。擴展性強,只需要增加DataNode就可以增加存儲空間。HBase特性豐富的“簡潔,高效”API(應用程序接口),提供了Thrift/RESTAPI,JavaAPI等方式對HBase進行訪問。塊緩存,布隆過濾器,可以高效的列查詢優化。操作管理,Hbase提供了內置的web界面來操作,還可以監控JMX指標。高可靠,保證了系統的容錯能力,WAL機制使得數據寫入時不會因為集群異常而導致寫入數據丟失。故HBase選擇了CAP中的CP。HBase特性面向列的存儲和權限控制,并支持獨立檢索,可以動態的增加列。列式存儲:其數據在表中是按照某列存儲的,這樣在查詢只需要少數幾個字段的時候,能大大減少讀取的數據量。高性能:具備海量數據的隨機訪問和實時讀寫能力。HBase特性分布式文件系統(HDFS)是指文件系統管理的物理存儲資源不僅存儲在本地節點上,還可以通過網絡連接存儲在非本地節點上。計算機集群的基本架構HBase與HDFS的區別HBase與HDFS的區別

分布式文件系統改變了數據存儲和管理方式,相對于本地文件系統具有很存儲和管理分布式多優勢:低成本易擴展強可靠高可用1

用戶無需關心數據是存儲在哪個節點上,可以如同使用本地文件系統一樣文件系統里的數據。2HDFS優點HDFS是面向批量的訪問模式,其類型為文件系統,存儲的是文件類型的數據。HBase與HDFS的區別HBase是面向隨機訪問和實時讀寫模式,其類型為數據庫服務,存儲的是非結構化和半結構化的松散數據。HBase使用HDFS作為底層的文件系統,HBase的數據最終會寫到HDFS中。就像其他的數據庫一樣,真正的數據是存儲在操作系統里的文件系統中的。HDFS是文件系統,Hbase是數據庫。你可以把Hbase當做是MySQL,把HDFS當做是硬盤。Hbase只是一個NoSQL數據庫,數據時存放在HDFS上的,Hbase在HDFS上提供了高并發的隨機寫和支持實時查詢,這是HDFS不具備的。HBase與HDFS的區別原生的ApacheHadoopCDH:ClouderaDistributedHadoopHDP:HortonworksD

溫馨提示

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

評論

0/150

提交評論