首頁技術(shù)文章正文

HBase分布式數(shù)據(jù)庫的特點(diǎn)是什么?HBase簡介

更新時間:2020-10-28 來源:黑馬程序員 瀏覽量:

       HBase是一個高可靠性、高性能、面向列、可伸縮的分布式數(shù)據(jù)庫,它起源于2006年Google發(fā)表的BigTable論文。在2008年,PowerSet的Chad Walters和Jim Keller受到了該論文思想的啟發(fā),從而把HBase作為Hadoop的子項(xiàng)目來進(jìn)行開發(fā)維護(hù),用于支持結(jié)構(gòu)化的海量數(shù)據(jù)存儲。

1603869338218_分布式數(shù)據(jù)庫.jpg

  HBase的一大優(yōu)點(diǎn)是可在廉價(jià)PC 服務(wù)器上搭建起大規(guī)模結(jié)構(gòu)化存儲集群。HBase的目標(biāo)是存儲并處理大型的數(shù)據(jù),更具體來說是僅需使用普通的硬件配置,就能夠處理由成千上萬的行和列所組成的大型數(shù)據(jù)。HBase分布式數(shù)據(jù)庫具有如下的顯著特點(diǎn):

 

  容量大

  HBase分布式數(shù)據(jù)庫中的表可以存儲成千上萬的行和列組成的數(shù)據(jù)。

  面向列

  HBase是面向列的存儲和權(quán)限控制,并支持獨(dú)立檢索。列存儲,其數(shù)據(jù)在表中是按照某列存儲的,根據(jù)數(shù)據(jù)動態(tài)的增加列,并且可以單獨(dú)對列進(jìn)行各種操作。

  多版本

  HBase中表的每一個列的數(shù)據(jù)存儲都有多個Version(版本)。一般地,每一列對應(yīng)著一條數(shù)據(jù),但是有的數(shù)據(jù)會對應(yīng)多個版本,例如,存儲個人信息的HBase表中,如果某個人多次更換過家庭住址,那么記錄家庭住址的數(shù)據(jù)就會有多個版本。

  稀疏性

  由于HBase中表的列允許為空,并且空列不會占用存儲空間,因此,表可以設(shè)計(jì)的非常稀疏。

  擴(kuò)展性

  HBase的底層是依賴于HDFS。當(dāng)磁盤空間不足時,我們可以動態(tài)的增加機(jī)器(即DataNode節(jié)點(diǎn)服務(wù))來解決,從而避免像關(guān)系型數(shù)據(jù)庫那樣,進(jìn)行數(shù)據(jù)的遷移。

  高可靠性

  由于HBase底層使用是的HDFS,而HDFS本身具有備份機(jī)制,所以在Spark集群出現(xiàn)嚴(yán)重問題時,Replication(即副本)機(jī)制能夠保證數(shù)據(jù)不會發(fā)生丟失或損壞。

  雖然HBase是Google Bigtable的開源實(shí)現(xiàn),但是它們之間有很多不同之處,例如:Google BigTable利用GFS作為其文件存儲系統(tǒng),而HBase利用Hadoop HDFS作為其文件存儲系統(tǒng);Google運(yùn)行MapReduce來處理BigTable中的海量數(shù)據(jù),而HBase同樣利用Hadoop的MapReduce來處理HBase中的海量數(shù)據(jù);Google BigTable利用Chubby作為協(xié)同服務(wù),而HBase利用Zookeeper作為協(xié)調(diào)服務(wù)作用。

  HBase作為一種分布式數(shù)據(jù)庫,它與傳統(tǒng)數(shù)據(jù)庫相比有很大區(qū)別,下面從存儲模式、表字段以及可延伸性這三個方面分別進(jìn)行介紹。

  (1) 存儲模式

  傳統(tǒng)數(shù)據(jù)庫中是基于行存儲的,而HBase是基于列進(jìn)行存儲的。

  (2) 表字段

  傳統(tǒng)數(shù)據(jù)庫中的表字段不能超過30個,而HBase中的表字段不作限制。

  (3) 可延伸性

  傳統(tǒng)數(shù)據(jù)庫中的列是固定的,需要先確定列有多少才會增加數(shù)據(jù)去存儲,而HBase是根據(jù)數(shù)據(jù)存儲的大小去動態(tài)的增加列,列是不固定的。

猜你喜歡:

MapReduce是怎樣進(jìn)行計(jì)算的?

大數(shù)據(jù)的Hadoop是什么,Hadoop的主要發(fā)展過程

HDFS究竟是什么?HDFS是怎樣儲存數(shù)據(jù)的?

黑馬程序員web前端培訓(xùn)課程 

分享到:
在線咨詢 我要報(bào)名
和我們在線交談!