- 分布式數(shù)據(jù)庫(kù)HBase案例教程
- 陳建平等主編
- 567字
- 2023-09-15 18:01:00
1.2.4 為什么選擇HBase
當(dāng)開始學(xué)習(xí)一門技術(shù)的時(shí)候,總是習(xí)慣于將它們與已有的技術(shù)進(jìn)行對(duì)比。當(dāng)剛接觸Python的時(shí)候,會(huì)發(fā)現(xiàn)它的簡(jiǎn)潔與效率;當(dāng)剛接觸PHP的時(shí)候,也會(huì)探尋它的優(yōu)勢(shì)在哪里。
那么HBase經(jīng)常也會(huì)用來(lái)和常見的關(guān)系型數(shù)據(jù)庫(kù)進(jìn)行對(duì)比。
關(guān)系型數(shù)據(jù)庫(kù)不擅長(zhǎng)的地方有:大量數(shù)據(jù)的寫入處理,讀寫性能比較差,尤其是海量數(shù)據(jù)的高效率讀寫;固定的表結(jié)構(gòu),靈活度稍欠;高并發(fā)讀寫需求,硬盤I/O是一個(gè)很大的瓶頸;當(dāng)為有數(shù)據(jù)更新的表做索引或?qū)Ρ斫Y(jié)構(gòu)進(jìn)行變更時(shí),性能差等。比如Oracle、MySQL等關(guān)系型數(shù)據(jù)庫(kù)基本存在上面的一些缺陷。
HBase作為一個(gè)NoSQL,不支持完整的事務(wù)性,而且僅僅支持基于RowKey的索引,在性能上不如memcached和Redis。但是在海量數(shù)據(jù)、持久化存儲(chǔ)方面比內(nèi)存類型的NoSQL強(qiáng)得多,作為文檔型NoSQL在分布式存儲(chǔ)上比MongoDB做切分和MapReduce分析也簡(jiǎn)單方便得多。這一切都源于HBase本身基于Hadoop,可以簡(jiǎn)單地通過(guò)增加廉價(jià)節(jié)點(diǎn)的方式進(jìn)行擴(kuò)展,對(duì)于數(shù)據(jù)本身就可以很好地進(jìn)行水平切分,同時(shí)和HDFS、MapReduce、Spark等結(jié)合得很好。不僅可以方便地進(jìn)行存儲(chǔ),同時(shí)還可以更加方便地對(duì)數(shù)據(jù)進(jìn)行處理和運(yùn)算,這才是HBase最核心的特性。這些都是常見的關(guān)系型數(shù)據(jù)庫(kù)所無(wú)法比擬的,比其他常見的NoSQL也要強(qiáng)出不少。
當(dāng)然,HBase并不能解決所有的問(wèn)題,所以才會(huì)有那么多的NoSQL和SQL出現(xiàn)。
HBase典型的應(yīng)用場(chǎng)景就是不斷地插入新的信息。對(duì)于持續(xù)、大量的插入,可以達(dá)到每秒百萬(wàn)的吞吐量,而對(duì)于已有的數(shù)據(jù)修改的頻率很小。
- scikit-learn Cookbook
- JavaScript百煉成仙
- 前端跨界開發(fā)指南:JavaScript工具庫(kù)原理解析與實(shí)戰(zhàn)
- Java從入門到精通(第5版)
- PLC應(yīng)用技術(shù)(三菱FX2N系列)
- Microsoft 365 Certified Fundamentals MS-900 Exam Guide
- Serverless Web Applications with React and Firebase
- Lift Application Development Cookbook
- Getting Started with Electronic Projects
- Drupal 8 Development Cookbook(Second Edition)
- Java RESTful Web Service實(shí)戰(zhàn)
- 游戲設(shè)計(jì)的底層邏輯
- INSTANT PLC Programming with RSLogix 5000
- Learning Google Apps Script
- Unity3D游戲開發(fā)標(biāo)準(zhǔn)教程