99re热这里只有精品视频,7777色鬼xxxx欧美色妇,国产成人精品一区二三区在线观看,内射爽无广熟女亚洲,精品人妻av一区二区三区

了解HBase

2021-01-15 15:07 更新

HBase 概述

HBase是Hadoop的生態(tài)系統(tǒng),是建立在Hadoop文件系統(tǒng)(HDFS)之上的分布式、面向列的數(shù)據(jù)庫(kù),通過利用Hadoop的文件系統(tǒng)提供容錯(cuò)能力。如果你需要進(jìn)行實(shí)時(shí)讀寫或者隨機(jī)訪問大規(guī)模的數(shù)據(jù)集的時(shí)候,請(qǐng)考慮使用HBase!

HBase作為Google Bigtable的開源實(shí)現(xiàn),Google Bigtable利用GFS作為其文件存儲(chǔ)系統(tǒng)類似,則HBase利用Hadoop HDFS作為其文件存儲(chǔ)系統(tǒng);Google通過運(yùn)行MapReduce來處理Bigtable中的海量數(shù)據(jù),同樣,HBase利用Hadoop MapReduce來處理HBase中的海量數(shù)據(jù);Google Bigtable利用Chubby作為協(xié)同服務(wù),HBase利用Zookeeper作為對(duì)應(yīng)。

HBase

HBase處理數(shù)據(jù)

雖然Hadoop是一個(gè)高容錯(cuò)、高延時(shí)的分布式文件系統(tǒng)和高并發(fā)的批處理系統(tǒng),但是它不適用于提供實(shí)時(shí)計(jì)算;HBase是可以提供實(shí)時(shí)計(jì)算的分布式數(shù)據(jù)庫(kù),數(shù)據(jù)被保存在HDFS分布式文件系統(tǒng)上,由HDFS保證期高容錯(cuò)性,但是再生產(chǎn)環(huán)境中,HBase是如何基于hadoop提供實(shí)時(shí)性呢? HBase上的數(shù)據(jù)是以StoreFile(HFile)二進(jìn)制流的形式存儲(chǔ)在HDFS上block塊兒中;但是HDFS并不知道的HBase用于存儲(chǔ)什么,它只把存儲(chǔ)文件認(rèn)為是二進(jìn)制文件,也就是說,HBase的存儲(chǔ)數(shù)據(jù)對(duì)于HDFS文件系統(tǒng)是透明的。

HBase與HDFS

在下面的表格中,我們對(duì)HDFS與HBase進(jìn)行比較:

HDFS HBase
HDFS適于存儲(chǔ)大容量文件的分布式文件系統(tǒng)。 HBase是建立在HDFS之上的數(shù)據(jù)庫(kù)。
HDFS不支持快速單獨(dú)記錄查找。 HBase提供在較大的表快速查找
HDFS提供了高延遲批量處理;沒有批處理概念。 HBase提供了數(shù)十億條記錄低延遲訪問單個(gè)行記錄(隨機(jī)存?。?。
HDFS提供的數(shù)據(jù)只能順序訪問。 HBase內(nèi)部使用哈希表和提供隨機(jī)接入,并且其存儲(chǔ)索引,可將在HDFS文件中的數(shù)據(jù)進(jìn)行快速查找。

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

HBase通過表格的模式存儲(chǔ)數(shù)據(jù),每個(gè)表格由列和行組成,其中,每個(gè)列又被劃分為若干個(gè)列族(row family),請(qǐng)參考下面的圖:

HBase

現(xiàn)在我們來看看HBase的邏輯數(shù)據(jù)模型與物理數(shù)據(jù)模型(實(shí)際存儲(chǔ)的數(shù)據(jù)模型):

邏輯數(shù)據(jù)模型:

HBase

物理數(shù)據(jù)模型:

HBase

HBase 架構(gòu)

下圖顯示了HBase的組成結(jié)構(gòu):

HBase

    通過上圖我們可以得出Hbase中的每張表都按照一定的范圍被分割成多個(gè)子表(HRegion),默認(rèn)一個(gè)HRegion超過 256M 就要被分割成兩個(gè),由 HRegionServer管理,管理哪些HRegion由HMaster分配。

    現(xiàn)在我們來介紹一下HBase中的一些組成部件以及它們起到的作用:

    • Client:包含訪問HBase的接口,并維護(hù)cache來加快對(duì)HBase的訪問。

    • Zookeeper:HBase依賴Zookeeper,默認(rèn)情況下HBase管理Zookeeper實(shí)例(啟動(dòng)或關(guān)閉Zookeeper),Master與RegionServers啟動(dòng)時(shí)會(huì)向Zookeeper注冊(cè)。Zookeeper的作用如下:

      • 保證任何時(shí)候,集群中只有一個(gè)master
      • 存儲(chǔ)所有Region的尋址入口
      • 實(shí)時(shí)監(jiān)控Region server的上線和下線信息。并實(shí)時(shí)通知給master
      • 存儲(chǔ)HBase的schema和table元數(shù)據(jù)
    • HRegionServer:用來維護(hù)master分配給他的region,處理對(duì)這些region的io請(qǐng)求;負(fù)責(zé)切分正在運(yùn)行過程中變的過大的region。

    • HRegion:HBase表在行的方向上分隔為多個(gè)Region。Region是HBase中分布式存儲(chǔ)和負(fù)載均衡的最小單元,即不同的region可以分別在不同的Region Server上,但同一個(gè)Region是不會(huì)拆分到多個(gè)server上。Region按大小分隔,每個(gè)表一般是只有一個(gè)region,當(dāng)region的某個(gè)列族達(dá)到一個(gè)閾值(默認(rèn)256M)時(shí)就會(huì)分成兩個(gè)新的region。

    • Store:每一個(gè)Region由一個(gè)或多個(gè)Store組成,至少是一個(gè)Store,HBase會(huì)把一起訪問的數(shù)據(jù)放在一個(gè)Store里面,即為每個(gè)ColumnFamily建一個(gè)Store,如果有幾個(gè)ColumnFamily,也就有幾個(gè)Store。一個(gè)Store由一個(gè)memStore和0或者多個(gè)StoreFile組成。Store的大小被HBase用來判斷是否需要切分Region。

    • StoreFile:memStore內(nèi)存中的數(shù)據(jù)寫到文件后就是StoreFile,StoreFile底層是以HFile的格式保存。

    • HLog:HLog記錄數(shù)據(jù)的所有變更,可以用來恢復(fù)文件,一旦region server 宕機(jī),就可以從log中進(jìn)行恢復(fù)。

    • LogFlusher:一個(gè)LogFlusher的類是用來調(diào)用HLog.optionalSync()的。

    HBase 的應(yīng)用

    • HBase是用來當(dāng)有需要寫重的應(yīng)用程序。
    • HBase可以幫助快速隨機(jī)訪問數(shù)據(jù)。
    • HBase被許多公司所采納,例如,F(xiàn)acebook、Twitter、Yahoo!、Adobe、OpenPlaces、WorldLingo等等。
    以上內(nèi)容是否對(duì)您有幫助:
    在線筆記
    App下載
    App下載

    掃描二維碼

    下載編程獅App

    公眾號(hào)
    微信公眾號(hào)

    編程獅公眾號(hào)