- HBase從入門到實(shí)戰(zhàn)
- 張文亮編著
- 735字
- 2024-12-24 10:45:55
1.5 使用HBase的時(shí)機(jī)
Hadoop是高性能、高穩(wěn)定、可管理的大數(shù)據(jù)應(yīng)用平臺(tái)。Hadoop實(shí)現(xiàn)了一個(gè)分布式文件系統(tǒng)(Hadoop Distributed File System,HDFS)。HDFS具有高容錯(cuò)性,被設(shè)計(jì)部署在低廉的硬件上,為應(yīng)用程序訪問數(shù)據(jù)提供了高吞吐量,因而適用于那些有著超大數(shù)據(jù)集的應(yīng)用程序。HBase的存儲(chǔ)是基于Hadoop的。HBase具有超強(qiáng)的擴(kuò)展性和大吞吐量,采用的存儲(chǔ)方式為Key-Value(鍵-值)方式,故而即使數(shù)據(jù)量增大,也幾乎不會(huì)導(dǎo)致查詢性能下降。當(dāng)然,我們也需要注意HBase的缺點(diǎn)。數(shù)據(jù)分析是HBase的弱項(xiàng),因?yàn)镠Base不支持表關(guān)聯(lián),所以當(dāng)我們想實(shí)現(xiàn)group by或者order by時(shí),需要編寫很多的代碼來實(shí)現(xiàn)MapReduce。正因?yàn)槿绱?,我們才需要更合理地使用HBase。下面是筆者根據(jù)自己的工作經(jīng)驗(yàn)給出的一些使用HBase的建議,希望這些建議對(duì)于讀者的技術(shù)選型有所助益。
1.?dāng)?shù)據(jù)量超千萬,可以選擇使用HBase
一般而言,如果單表的數(shù)據(jù)量只有百萬級(jí)或者更少,則不建議使用HBase,而應(yīng)該考慮關(guān)系數(shù)據(jù)庫是否能夠滿足應(yīng)用的需求;如果單表的數(shù)據(jù)量超過千萬或者在十億、百億的數(shù)量級(jí),并且伴有較高并發(fā)的存取應(yīng)用,則可以考慮使用HBase,這樣可以充分利用分布式存儲(chǔ)系統(tǒng)的優(yōu)勢(shì)。
2.?dāng)?shù)據(jù)分析需求不多,可以選擇使用HBase
雖然說HBase是一個(gè)面向列的數(shù)據(jù)庫,但是它與真正的列式存儲(chǔ)系統(tǒng)(比如Parquet、Kudu等)又有所區(qū)別,再加上自身存儲(chǔ)架構(gòu)的設(shè)計(jì),使得HBase并不擅長做數(shù)據(jù)分析。所以如果業(yè)務(wù)需求是為了做數(shù)據(jù)分析,比如做報(bào)表,那么不建議使用HBase。
3.實(shí)時(shí)根據(jù)主鍵查詢,可以選擇使用HBase
HBase是一個(gè)鍵-值數(shù)據(jù)庫,默認(rèn)對(duì)RowKey做了索引優(yōu)化,所以即使數(shù)據(jù)量非常龐大,根據(jù)RowKey查詢的效率也會(huì)很高。但是,如果還需要根據(jù)其他條件進(jìn)行查詢,則不建議使用HBase。
4.多表連接查詢,不建議使用HBase
HBase是NoSQL產(chǎn)品中的一種,它也具有NoSQL的缺點(diǎn),就是不能進(jìn)行連表查詢等操作,也就是說,如果業(yè)務(wù)場(chǎng)景需要事務(wù)支持,或者存在復(fù)雜的關(guān)聯(lián)查詢,則不建議使用HBase。
- 深入淺出數(shù)據(jù)科學(xué):Python編程
- Practical UX Design
- 計(jì)算機(jī)圖形學(xué)編程(使用OpenGL和C++)(第2版)
- Reactive Programming with Swift
- 神經(jīng)網(wǎng)絡(luò)編程實(shí)戰(zhàn):Java語言實(shí)現(xiàn)(原書第2版)
- Practical DevOps
- 深入淺出Android Jetpack
- Oracle Exadata專家手冊(cè)
- 從零開始學(xué)C語言
- 移動(dòng)互聯(lián)網(wǎng)軟件開發(fā)實(shí)驗(yàn)指導(dǎo)
- Processing創(chuàng)意編程指南
- Django Design Patterns and Best Practices
- Python一行流:像專家一樣寫代碼
- Selenium WebDriver Practical Guide
- Java從入門到精通(視頻實(shí)戰(zhàn)版)