大數(shù)據(jù)培訓(xùn)_Hbase為什么容量大速度快
引言Hbase被譽(yù)為超級(jí)大型分布式的數(shù)據(jù)庫(kù),適合于存儲(chǔ)大表數(shù)據(jù)(表的規(guī)??梢赃_(dá)到數(shù)十億行以及數(shù)百萬(wàn)列),并且對(duì)大表數(shù)據(jù)的讀、寫(xiě)訪問(wèn)可以達(dá)到實(shí)時(shí)級(jí)別。為什么Hbase可以存儲(chǔ)那么大量的數(shù)據(jù)呢,為什么Hbase這么大型的數(shù)據(jù)可以實(shí)時(shí)讀取。
Hbase介紹Hbase是一個(gè)面向列、可伸縮、高可靠性、高性能的分布式存儲(chǔ)系統(tǒng),同時(shí)也叫做分布式的數(shù)據(jù)庫(kù)。利用Hbase技術(shù)可在廉價(jià)PC Server上搭建起大規(guī)模結(jié)構(gòu)化存儲(chǔ)集群。Hbase的目標(biāo)是存儲(chǔ)并處理大型的數(shù)據(jù),更具體來(lái)說(shuō)是僅需使用普通的硬件配置,就能夠處理由成千上萬(wàn)的行和列所組成的大型數(shù)據(jù)。
Hbase 架構(gòu)
?
Habse寫(xiě)數(shù)據(jù)流程① 客戶(hù)端發(fā)起請(qǐng)求
② 通過(guò)ZooKeeper尋找到meta表所在RegionServer
③ meta表中記載著各個(gè)User Region信息(rowkey范圍,所在RegionServer),通過(guò)meta表尋找所要寫(xiě)入的Region所在RegionServer
④ 請(qǐng)求按RegionServer和Region打包發(fā)送到Region所在RegionServer,由該RegionServer具體處理數(shù)據(jù)寫(xiě)入
habse讀數(shù)據(jù)流程① 客戶(hù)端發(fā)起請(qǐng)求
② 通過(guò)ZooKeeper尋找到meta表所在RegionServer
③ meta表中記載著各個(gè)User Region信息(rowkey范圍,所在RegionServer),通過(guò)rowkey查找meta表,獲取所要讀取的Region所在RegionServer
④ 請(qǐng)求發(fā)送到該RegionServer,由其具體處理數(shù)據(jù)讀取
⑤ 數(shù)據(jù)讀取返回到客戶(hù)端
為什么Hbase可以存儲(chǔ)那么大量的數(shù)據(jù)呢利用Hadoop HDFS(Hadoop Distributed File System)作為其文件存儲(chǔ)系統(tǒng),提供實(shí)時(shí)讀寫(xiě)的分布式數(shù)據(jù)庫(kù)系統(tǒng)。
?
從上圖了解到,如果你掌握了hadoop中的hdfs分布式文件系統(tǒng),就很容易理解hbase為什么能存儲(chǔ)大量的數(shù)據(jù)。Hbase本身就是利用hadoop中的hdfs作為它的存儲(chǔ)系統(tǒng)。
為什么Hbase這么大型的數(shù)據(jù)可以實(shí)時(shí)讀取
?
很明顯habse是把一個(gè)超級(jí)大的表,進(jìn)行分割成一塊一塊的數(shù)據(jù),然而這一塊一塊都會(huì)帶著rowkey,把這一塊一塊的數(shù)據(jù)存儲(chǔ)到hadoop中的datanode數(shù)據(jù)節(jié)點(diǎn)中,這樣我們就保證大數(shù)表的數(shù)據(jù)被分成一個(gè)一個(gè)很小的表,從而數(shù)據(jù)庫(kù)要讀一個(gè)小表,那是多么簡(jiǎn)單的事情,所以超級(jí)大表實(shí)現(xiàn)秒級(jí)也是可能的。