版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、HBase 簡(jiǎn)介數(shù)據(jù)部:桂宇目錄HBase HBase 簡(jiǎn)介簡(jiǎn)介HBase HBase 體系結(jié)構(gòu)體系結(jié)構(gòu)HBase HBase 數(shù)據(jù)模型數(shù)據(jù)模型HBase HBase 提供的接口提供的接口HBaseHBase 優(yōu)化優(yōu)化HBase HBase 用途用途HBase簡(jiǎn)介 Hadoop生態(tài)系統(tǒng)HBase 簡(jiǎn)介 HBaseHBase是一個(gè)分布式的、多版本的、面向列是一個(gè)分布式的、多版本的、面向列的開(kāi)源數(shù)據(jù)庫(kù)的開(kāi)源數(shù)據(jù)庫(kù) 利用Hadoop HDFS作為其文件存儲(chǔ)系統(tǒng),提供高可靠性、高性能、列存儲(chǔ)、可伸縮、實(shí)時(shí)讀寫的數(shù)據(jù)庫(kù)系統(tǒng)。 利用Hadoop MapReduce來(lái)處理HBase中的海量數(shù)據(jù) 利用Zook
2、eeper作為協(xié)同服務(wù)。HBase 簡(jiǎn)介 HBaseHBase中表的特點(diǎn)中表的特點(diǎn) 大:一個(gè)表可以有上億行,上百萬(wàn)列(列多時(shí),插入變慢) 面向列:面向列(族)的存儲(chǔ)和權(quán)限控制,列(族)獨(dú)立檢索。 稀疏:對(duì)于為空(null)的列,并不占用存儲(chǔ)空間,因此,表可以設(shè)計(jì)的非常稀疏。 每個(gè)cell中的數(shù)據(jù)可以有多個(gè)版本,默認(rèn)情況下版本號(hào)自動(dòng)分配,是單元格插入時(shí)的時(shí)間戳; HBase中的數(shù)據(jù)都是字符串,沒(méi)有類型;HBase 特點(diǎn) 強(qiáng)一致性 同一行數(shù)據(jù)的讀寫只在同一臺(tái)Region Server上進(jìn)行 水平伸縮 Region的自動(dòng)分裂以及Master的balance; 只用增加Datanode機(jī)器即可增加容量
3、; 只用增加Region Server機(jī)器即可增加讀寫吞吐量HBase 特點(diǎn) 行事務(wù) 同一行的列的寫入是原子的; Column Oriented + 三維有序 SortedMap(RowKey, List(SortedMap(Column, List(Value,Timestamp) ) ) rowKey (ASC) + columnLabel(ASC) + Version (DESC) - valueHBase 特點(diǎn) 支持有限查詢方式和一級(jí)索引 僅支持單行事務(wù) 僅支持三種查詢方式(single row key、range row key、scan all rows of table)【可通過(guò)
4、hive等實(shí)現(xiàn)多表關(guān)聯(lián)查詢】 僅基于row key的索引 高性能隨機(jī)寫 WAL (Write Ahead Log)HBase 特點(diǎn) 和Hadoop無(wú)縫集成 Hadoop分析后的結(jié)果可直接寫入HBase; 存放在HBase的數(shù)據(jù)可直接通過(guò)Hadoop來(lái)進(jìn)行分析。HBase與RDBMS對(duì)比目錄HBase HBase 簡(jiǎn)介簡(jiǎn)介HBase HBase 體系結(jié)構(gòu)體系結(jié)構(gòu)HBase HBase 數(shù)據(jù)模型數(shù)據(jù)模型HBase HBase 提供的接口提供的接口HBaseHBase 優(yōu)化優(yōu)化HBase HBase 用途用途HBase 體系結(jié)構(gòu)HBase 體系結(jié)構(gòu)ClientClient 包含訪問(wèn)HBase的接口并
5、維護(hù)cache來(lái)加快對(duì)HBase的訪問(wèn)ZookeeperZookeeper 保證任何時(shí)候,集群中只有一個(gè)master 存貯所有Region的尋址入口。 實(shí)時(shí)監(jiān)控Region server的上線和下線信息。并實(shí)時(shí)通知給Master 存儲(chǔ)HBase的schema和table元數(shù)據(jù)MasterMaster 為Region server分配region 負(fù)責(zé)Region server的負(fù)載均衡 發(fā)現(xiàn)失效的Region server并重新分配其上的region 管理用戶對(duì)table的增刪改查操作Region Server Region Server Region server維護(hù)region,處理對(duì)這些
6、region的IO請(qǐng)求 Region server負(fù)責(zé)切分在運(yùn)行過(guò)程中變得過(guò)大的region-ROOT-與.META.表 -ROOT-ROOT- 表包含.META.表所在的區(qū)域列表,該表只會(huì)有一個(gè)HRegion; Zookeeper中記錄了-ROOT-表的location .META.META. 表包含所有的用戶空間區(qū)域列表,以及RegionServer的服務(wù)器地址;Region定位16.META.表的一行在內(nèi)存中大約占用1KB。并且每個(gè)region限制為128MB。那么此三層結(jié)構(gòu)可以保存的region數(shù)目為:(128MB/1KB) * (128MB/1KB) = = 2(34)個(gè)region
7、目錄HBase HBase 簡(jiǎn)介簡(jiǎn)介HBase HBase 體系結(jié)構(gòu)體系結(jié)構(gòu)HBase HBase 數(shù)據(jù)模型數(shù)據(jù)模型HBase HBase 提供的接口提供的接口HBaseHBase 優(yōu)化優(yōu)化HBase HBase 用途用途邏輯視圖、物理視圖18HBase以表的形式存儲(chǔ)數(shù)據(jù)。表由行和列組成。列劃分為若干個(gè)列族(row family)邏輯視圖物理視圖HBase每個(gè)列族存儲(chǔ)為一個(gè)StoreHBase 數(shù)據(jù)表中一些關(guān)鍵概念 Row key鍵 Column Family列族 Cell qualifier列族修飾符(列) Timestamp時(shí)間戳 Region區(qū)域 鍵 Row keyRow key 表中行
8、的鍵是字節(jié)數(shù)組(最大長(zhǎng)度是 64KB ) 任何字符串都可以作為鍵; 表中的行根據(jù)行的鍵值進(jìn)行排序,數(shù)據(jù)按照Row key的字節(jié)序(byte order)排序存儲(chǔ); 字典序?qū)nt排序的結(jié)果是1,10,100,11,12,13,14,15,16,17,18,19,2,20,21,9,91,92,93,94,95,96,97,98,99。要保持整形的自然序,行鍵必須用0作左填充 所有對(duì)表的訪問(wèn)都要通過(guò)鍵 通過(guò)單個(gè)row key訪問(wèn) 通過(guò)row key的range 全表掃描列族 Column FamilyColumn Family HBase表中的每個(gè)列都?xì)w屬于某個(gè)列族,列族必須作為表模式(sche
9、ma)定義的一部分預(yù)先給出。如 create test, course; 列名以列族作為前綴,每個(gè)“列族”都可以有多個(gè)列成員(column);如course:math, course:english, 新的列族成員可以隨后按需、動(dòng)態(tài)加入; 權(quán)限控制、存儲(chǔ)以及調(diào)優(yōu)都是在列族層面進(jìn)行的; 同一列族成員最好有相同的訪問(wèn)模式和大小特征; HBase把同一列族里面的數(shù)據(jù)存儲(chǔ)在同一目錄下,由幾個(gè)文件保存。單元格修飾符 Cell qualifierCell qualifier 通過(guò)列族:單元格修飾符,可以具體到某個(gè)列; 可以把單元格修飾符認(rèn)為是實(shí)際的列名; 在列族存在,客戶端隨時(shí)可以把列添加到列族;時(shí)間戳T
10、imestampTimestamp 在HBase每個(gè)cell存儲(chǔ)單元對(duì)同一份數(shù)據(jù)有多個(gè)版本,根據(jù)唯一的時(shí)間戳來(lái)區(qū)分每個(gè)版本之間的差異,不同版本的數(shù)據(jù)按照時(shí)間倒序排序,最新的數(shù)據(jù)版本排在最前面。 時(shí)間戳的類型是 64位整型。 時(shí)間戳可以由HBase(在數(shù)據(jù)寫入時(shí)自動(dòng))賦值,此時(shí)時(shí)間戳是精確到毫秒的當(dāng)前系統(tǒng)時(shí)間。 時(shí)間戳也可以由客戶顯式賦值,如果應(yīng)用程序要避免數(shù)據(jù)版本沖突,就必須自己生成具有唯一性的時(shí)間戳。區(qū)域 RegionRegion HBase自動(dòng)把表水平劃分成多個(gè)區(qū)域(region),每個(gè)region會(huì)保存一個(gè)表里面某段連續(xù)的數(shù)據(jù); 每個(gè)表一開(kāi)始只有一個(gè)region,隨著數(shù)據(jù)不斷插入表,re
11、gion不斷增大,當(dāng)增大到一個(gè)閥值的時(shí)候,region就會(huì)等分會(huì)兩個(gè)新的region; 當(dāng)table中的行不斷增多,就會(huì)有越來(lái)越多的region。這樣一張完整的表被保存在多個(gè)Region 上。Cell單元格 由行和列的坐標(biāo)交叉決定; 單元格是有版本的; 單元格的內(nèi)容是未解析的字節(jié)數(shù)組; 由row key, column( = + ), version 唯一確定的單元。cell中的數(shù)據(jù)是沒(méi)有類型的,全部是字節(jié)碼形式存貯。鎖 HBase的寫操作是鎖行的,每一行都是一個(gè)原子元素,無(wú)論對(duì)行進(jìn)行訪問(wèn)的事務(wù)設(shè)計(jì)多少列,對(duì)行的更新都是原子的。都可以加鎖。這使得加鎖模型簡(jiǎn)單化。HBase 中數(shù)據(jù)表的物理存儲(chǔ)方
12、式物理存儲(chǔ) 281、Table中的所有行都按照row key的字典序排列。2、Table 在行的方向上分割為多個(gè)HRegion。物理存儲(chǔ) 293、Region按大小分割的,每個(gè)表一開(kāi)始只有一個(gè)region,隨著數(shù)據(jù)不斷插入表,region不斷增大,當(dāng)增大到一個(gè)閥值的時(shí)候,HRegion就會(huì)等分會(huì)兩個(gè)新的HRegion。當(dāng)able中的行不斷增多,就會(huì)有越來(lái)越多的HRegion。物理存儲(chǔ) 304 、HRegion是HBase中分布式存儲(chǔ)和負(fù)載均衡的最小單元。最小單元就表示不同的HRegion可以分布在不同的HRegion server上。但一個(gè)HRegion是不會(huì)拆分到多個(gè)server上的。物理存
13、儲(chǔ) 315 、HRegion雖然是分布式存儲(chǔ)分布式存儲(chǔ)的最小單元,但并不是存儲(chǔ)存儲(chǔ)的最小單元。事實(shí)上,HRegion由一個(gè)或者多個(gè)Store組成,每個(gè)store保存一個(gè)columns family。每個(gè)Strore又由一個(gè)memStore和0至多個(gè)StoreFile組成。如圖:StoreFile以HFile格式保存在HDFS上。物理存儲(chǔ) 32HFile的格式為:物理存儲(chǔ) HFile分為六個(gè)部分:Data Block Data Block 段段:保存表中的數(shù)據(jù),這部分可以被壓縮 Meta BlockMeta Block段段 (可選的):保存用戶自定義的kv對(duì),可以被壓縮。 File Info F
14、ile Info 段段:HFile的元信息,不被壓縮,用戶也可以在這一部分添加自己的元信息。 Data Block Index Data Block Index 段段:Data Block的索引。每條索引的key是被索引的 block的第一條記錄的key。 Meta Block IndexMeta Block Index段段 (可選的):Meta Block的索引。TrailerTrailer段段:這一段是定長(zhǎng)的。保存了每一段的偏移量,讀取一個(gè)HFile時(shí),會(huì) 首先讀取Trailer,Trailer保存了每個(gè)段的起始位置(段的Magic Number用來(lái) 做安全check),然后,DataBlock Index會(huì)被讀取到內(nèi)存中,這樣,當(dāng)檢索 某個(gè)key時(shí),不需要掃描整個(gè)HFile,而只需從內(nèi)存中找到key所在的block,通過(guò)一次磁盤io將整個(gè) block讀取到內(nèi)存中,再找到需要的keyData Block Index采用LRU機(jī)制淘汰。HFile的Data Block,Meta Block通常采用壓縮方式存儲(chǔ),壓縮之后可以大大減少網(wǎng)絡(luò)IO和磁盤IO,隨之而來(lái)的開(kāi)銷當(dāng)然是需要花費(fèi)cpu進(jìn)行壓縮和解壓縮。目標(biāo)Hfile的壓縮支持兩種方式:Gzip,Lzo。物理存儲(chǔ) 34HLog(WAL log)HLog文件就是一個(gè)普通的Hadoop Sequence File,S
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度新型農(nóng)業(yè)用地承包與轉(zhuǎn)讓合同協(xié)議3篇
- 2025石材資源開(kāi)發(fā)與承包管理服務(wù)協(xié)議3篇
- 2025年度智能家居系統(tǒng)設(shè)計(jì)與安裝服務(wù)合同3篇
- 個(gè)人日常運(yùn)營(yíng)資金貸款協(xié)議范本版B版
- 二零二五年貨物采購(gòu)合同(食品)
- 2025版兄弟姐妹房產(chǎn)分配及分割協(xié)議書(shū)范本3篇
- 個(gè)人信用評(píng)估服務(wù)合同2024年度范本datainputs3篇
- 二零二五年戰(zhàn)略性新興產(chǎn)業(yè)項(xiàng)目投標(biāo)管理制度合同3篇
- 二零二五年度美團(tuán)打車出行安全保障及應(yīng)急處理合同4篇
- 長(zhǎng)沙醫(yī)學(xué)院《中國(guó)古代文學(xué)作品選讀2》2023-2024學(xué)年第一學(xué)期期末試卷
- 寒假作業(yè)一年級(jí)上冊(cè)《數(shù)學(xué)每日一練》30次打卡
- 2024-2025學(xué)年九年級(jí)化學(xué)上冊(cè) 第二單元 單元測(cè)試卷(人教版)
- 2024年公共衛(wèi)生基本知識(shí)考試題庫(kù)(附含答案)
- 2024多級(jí)AO工藝污水處理技術(shù)規(guī)程
- 2024年江蘇省鹽城市中考數(shù)學(xué)試卷真題(含答案)
- DZ∕T 0287-2015 礦山地質(zhì)環(huán)境監(jiān)測(cè)技術(shù)規(guī)程(正式版)
- 2024年合肥市廬陽(yáng)區(qū)中考二模英語(yǔ)試題含答案
- 質(zhì)檢中心制度匯編討論版樣本
- 藥娘激素方案
- 提高靜脈留置使用率品管圈課件
- GB/T 10739-2023紙、紙板和紙漿試樣處理和試驗(yàn)的標(biāo)準(zhǔn)大氣條件
評(píng)論
0/150
提交評(píng)論