W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎勵
HBase是一種“NoSQL”數(shù)據(jù)庫?!癗oSQL”是一個通用術(shù)語,意思是數(shù)據(jù)庫不是支持SQL作為其主要訪問語言的RDBMS,但是有許多類型的NoSQL數(shù)據(jù)庫:BerkeleyDB是本地NoSQL數(shù)據(jù)庫的一個例子,而HBase是一個分布式數(shù)據(jù)庫。從技術(shù)上講,HBase實(shí)際上更像是一個“數(shù)據(jù)存儲”而不是“數(shù)據(jù)庫”,因?yàn)樗鄙僭赗DBMS中找到的許多功能,例如鍵入列,二級索引,觸發(fā)器和高級查詢語言等。
但是,HBase具有很多支持線性和模塊化縮放的功能。通過添加商品類服務(wù)器上托管的RegionServers來擴(kuò)展HBase集群。例如,如果一個集群從10個擴(kuò)展到20個RegionServers,則它在存儲和處理能力方面都會翻倍。RDBMS可以很好地擴(kuò)展,但只能達(dá)到某一點(diǎn) - 具體而言就是單個數(shù)據(jù)庫服務(wù)器的大小 - 并且為了獲得最佳性能,需要專門的硬件和存儲設(shè)備。HBase的特點(diǎn)是:
HBase不適合所有問題。
首先,確保你有足夠的數(shù)據(jù)。如果你有數(shù)億或數(shù)十億行,那么HBase是一個很好的選擇。如果只有幾千行,那么使用傳統(tǒng)的RDBMS可能是一個更好的選擇,因?yàn)樗袛?shù)據(jù)都可能在單個節(jié)點(diǎn)(或兩個)上,而群集的其余部分可能處于閑置狀態(tài)。
其次,確保您可以在沒有RDBMS提供的所有額外功能的情況下生存(例如,鍵入列,二級索引,事務(wù),高級查詢語言等)。針對RDBMS構(gòu)建的應(yīng)用程序無法通過簡單更改而“移植”到HBase,例如,一個JDBC驅(qū)動程序。考慮從RDBMS轉(zhuǎn)移到HBase作為一個完整的重新設(shè)計,而不是一個端口。
第三,確保你有足夠的硬件。即使是HDFs也不能很好地處理少于5個的數(shù)據(jù)流(由于HDFS塊復(fù)制的默認(rèn)值為3),加上NAMENODE。
HBase可以在筆記本電腦上獨(dú)立運(yùn)行 - 但這應(yīng)該只被視為一種開發(fā)配置。
HDFS是一個非常適合存儲大型文件的分布式文件系統(tǒng)。它的文檔指出,它不是一個通用的文件系統(tǒng),也沒有在文件中提供快速的單個記錄查找。另一方面,HBase建立在HDFS之上,為大型表提供快速記錄查找(和更新)。這有時會成為概念混淆的一個觀點(diǎn)。HBase內(nèi)部將您的數(shù)據(jù)放入HDFS上的索引“StoreFiles”中進(jìn)行高速查找。有關(guān)HBase如何實(shí)現(xiàn)其目標(biāo)的更多信息,請參閱數(shù)據(jù)模型和本章的其余部分。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: