大數(shù)據(jù)技術(shù)之HBase-創(chuàng)新互聯(lián)

文章目錄
  • 初入HBase
    • 首先肯定是 ①什么是HBase?,②我們用這個東西來干嘛?③這個東西的優(yōu)缺點又是啥?
    • 數(shù)據(jù)模型
    • HBase的架構(gòu)
      • HBase 邏輯結(jié)構(gòu)
      • HBase 物理存儲結(jié)構(gòu)
      • HBase 基本架構(gòu)
  • HBase 進階
    • Master 架構(gòu)
    • RegionServer架構(gòu)
    • **寫流程**
    • **讀流程**

創(chuàng)新互聯(lián)于2013年創(chuàng)立,先為解放等服務建站,解放等地企業(yè),進行企業(yè)商務咨詢服務。為解放企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務解決您的所有建站問題。初入HBase 首先肯定是 ①什么是HBase?,②我們用這個東西來干嘛?③這個東西的優(yōu)缺點又是啥?

??① HBase 是以hdfs為數(shù)據(jù)存儲,一個面向列式存儲的分布式 可擴展的非關(guān)系型(NoSQL)數(shù)據(jù)庫 。
?② HBase非常適合于對海量數(shù)據(jù)進行實時隨機讀寫
?海量數(shù)據(jù)存儲:
?上百億行 x 上百萬列 并沒有列的限制
?當表非常大的時候才能發(fā)揮這個作用, 最多百萬行的話,沒有必要放入hbase 中
?準實時查詢:
?百億行 x 百萬列,在百毫秒以內(nèi)
?③
優(yōu)點:
??容量大:
?傳統(tǒng)關(guān)系型數(shù)據(jù)庫,單表不會超過五百萬,超過要做分表分庫,不會超過30列
??Hbase單表可以有百億行、百萬列,數(shù)據(jù)矩陣橫向和縱向兩個維度所支持的數(shù)據(jù)量級都非常具有彈性
??面向列:
??面向列的存儲和權(quán)限控制,并支持獨立檢索,可以動態(tài)增加列,即可單獨對列進行各方面的操作
??列式存儲,其數(shù)據(jù)在表中是按照某列存儲的,這樣在查詢只需要少數(shù)幾個字段的時候,能大大減少讀取的數(shù)量
??多版本:
??Hbase的每一個列的數(shù)據(jù)存儲有多個Version,比如住址列,可能有多個變更,所以該列可以有多個version
??稀疏性:
為空的列并不占用存儲空間,表可以設(shè)計的非常稀疏
??拓展性:
??底層依賴HDFS,當磁盤空間不足的時候,只需要動態(tài)增加datanode節(jié)點服務(機器)就可以了
??高可靠性:
??WAL機制,保證數(shù)據(jù)寫入的時候不會因為集群異常而導致寫入數(shù)據(jù)丟失Replication機制,保證了在集群出現(xiàn)嚴重的問題時候,數(shù)據(jù)不會發(fā)生丟失或者損壞
Hbase底層使用HDFS,本身也有備份

??缺點
??數(shù)據(jù)分析是HBase的弱項,因為它基本不支持表的關(guān)聯(lián),group by或order by的實現(xiàn)非常復雜。

數(shù)據(jù)模型

??(1)Name Space: 命名空間 相當于Mysql的數(shù)據(jù)庫(database)
??(2)Table:HBase 定義表時只需要聲明列族即可,不需 要聲明具體的列。因為數(shù)據(jù)存儲時稀疏的,所有往 HBase寫入數(shù)據(jù)時,字段可以動態(tài)、按需指定
??(3)Row:每行數(shù)據(jù)都由一個 RowKey 和多個 Column(列)組成,數(shù)據(jù)是按照 RowKey 的字典順序存儲的,
并且查詢數(shù)據(jù)時只能根據(jù) RowKey 進行檢索,所以 RowKey 的設(shè)計十分重要
??(4)Column:HBase 中的每個列都由 Column Family(列族)和 Column Qualifier(列限定符)進行限定
??(5)Time Stamp :用于標識數(shù)據(jù)的不同版本(version),每條數(shù)據(jù)寫入時,系統(tǒng)會自動為其加上該字段,其值為寫入 HBase 的時間
??(6)由{rowkey, column Family:column Qualifier, timestamp} 唯一確定的單元。cell 中的數(shù)據(jù)全部是字節(jié)碼形式存貯。

HBase的架構(gòu) HBase 邏輯結(jié)構(gòu)

在這里插入圖片描述

HBase 物理存儲結(jié)構(gòu)

在這里插入圖片描述

HBase 基本架構(gòu)

在這里插入圖片描述
Backup Master103 是備用 Master,也是可靠性的體現(xiàn)
架構(gòu)角色:

?1)Master

?實現(xiàn)類為 HMaster,負責監(jiān)控集群中所有的 RegionServer 實例。主要作用如下:
??(1)管理元數(shù)據(jù)表格 hbase:meta,接收用戶對表格創(chuàng)建修改刪除的命令并執(zhí)行
??(2)監(jiān)控 region 是否需要進行負載均衡,故障轉(zhuǎn)移和 region 的拆分。
?通過啟動多個后臺線程監(jiān)控實現(xiàn)上述功能:
??①LoadBalancer 負載均衡器
??周期性監(jiān)控 region 分布在 regionServer 上面是否均衡,由參數(shù) hbase.balancer.period 控制周期時間,默認 5 分鐘。
??②CatalogJanitor 元數(shù)據(jù)管理器
??定期檢查和清理 hbase:meta 中的數(shù)據(jù)。meta 表內(nèi)容在進階中介紹。
??③MasterProcWAL master 預寫日志處理器
??把 master 需要執(zhí)行的任務記錄到預寫日志 WAL 中,如果 master 宕機,讓 backupMaster 讀取日志繼續(xù)干。
2)Region Server
?? Region Server 實現(xiàn)類為 HRegionServer,主要作用如下:
??(1)負責數(shù)據(jù) cell 的處理,例如寫入數(shù)據(jù) put,查詢數(shù)據(jù) get 等
??(2)拆分合并 region 的實際執(zhí)行者,有 master 監(jiān)控,有 regionServer 執(zhí)行。
3)Zookeeper
??HBase 通過 Zookeeper 來做 master 的高可用、記錄 RegionServer 的部署信息、并且存儲有 meta 表的位置信息。
??HBase 對于數(shù)據(jù)的讀寫操作時直接訪問 Zookeeper 的,在 2.3 版本推出 Master Registry模式,客戶端可以直接訪問 master。使用此功能,會加大對 master 的壓力,減輕對 Zookeeper 的壓力。
4)HDFS
??HDFS 為 Hbase 提供最終的底層數(shù)據(jù)存儲服務,同時為 HBase 提供高容錯的支持。

HBase 進階 Master 架構(gòu)

在這里插入圖片描述

RegionServer架構(gòu)

在這里插入圖片描述

1)MemStore
??寫緩存,由于HFile中的數(shù)據(jù)要求是有序的,所以數(shù)據(jù)是先存儲在MemStore中,排好序后,等到達刷寫時機才會刷寫到HFile,每次刷寫都會形成一個新的HFile,寫入到對應的文件夾store中。
2)WAL
??由于數(shù)據(jù)要經(jīng)MemStore排序后才能刷寫到HFile,但把數(shù)據(jù)保存在內(nèi)存中會有很高的概率導致數(shù)據(jù)丟失,為了解決這個問題,數(shù)據(jù)會先寫在一個叫做Write-Ahead logfile的文件中,然后再寫入MemStore中。所以在系統(tǒng)出現(xiàn)故障的時候,數(shù)據(jù)可以通過這個日志文件重建。
??讀緩存,每次查詢出的數(shù)據(jù)會緩存在BlockCache中,方便下次查詢。

寫流程

在這里插入圖片描述

讀流程

??

??(1)HFile結(jié)構(gòu)

??在了解讀流程之前,需要先知道讀取的數(shù)據(jù)是什么樣子的。
??HFile是存儲在HDFS上面每一個store文件夾下實際存儲數(shù)據(jù)的文件。里面存儲多種內(nèi)容。包括數(shù)據(jù)本身(keyValue鍵值對)、元數(shù)據(jù)記錄、文件信息、數(shù)據(jù)索引、元數(shù)據(jù)索引和一個固定長度的尾部信息(記錄文件的修改情況)。

??鍵值對按照塊大?。J64K)保存在文件中,數(shù)據(jù)索引按照塊創(chuàng)建,塊越多,索引越大。每一個HFile還會維護一個布隆過濾器(就像是一個很大的地圖,文件中每有一種key,就在對應的位置標記,讀取時可以大致判斷要get的key是否存在HFile中)。
??由于HFile存儲經(jīng)過序列化,所以無法直接查看。可以通過HBase提供的命令來查看存儲在HDFS上面的HFile元數(shù)據(jù)內(nèi)容。
(2)具體過程

在這里插入圖片描述
在這里插入圖片描述

你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧

分享標題:大數(shù)據(jù)技術(shù)之HBase-創(chuàng)新互聯(lián)
路徑分享:http://www.muchs.cn/article44/hgdee.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、網(wǎng)站策劃、虛擬主機做網(wǎng)站、服務器托管、建站公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)