为什么是hbase而不是mongodb
?
[1]場(chǎng)景2:批量記錄導(dǎo)入
?
[2]原因就在于寫入的速度,hbase由于只維護(hù)一個(gè)主鍵,寫入的速度要比mongodb這種要維護(hù)所有索引的數(shù)據(jù)庫(kù)快多了。hbase占用兩臺(tái)機(jī)器能完成的事情,mongodb要占用更多的機(jī)器,每臺(tái)機(jī)器按一年20000的費(fèi)用,幾百臺(tái)下來(lái)就是一筆很大的費(fèi)用。但是代價(jià)就是hbase記錄下東西以后,只能事后通過(guò)全表檢索或按照索引范圍的方式進(jìn)行整體分析,而不能對(duì)具體每個(gè)人的數(shù)據(jù)進(jìn)行實(shí)時(shí)分析,Hbase更強(qiáng)調(diào)數(shù)據(jù)分析能力而不是實(shí)時(shí)數(shù)據(jù)查詢能力,因此各有千秋吧。像用戶行為分析的這種,一開始產(chǎn)品經(jīng)理可能會(huì)具體看某一個(gè)人的數(shù)據(jù),但是新鮮過(guò)后,只會(huì)看程序的分析結(jié)果了。因此從經(jīng)濟(jì)的角度出發(fā),對(duì)于用戶行為分析這種不需要實(shí)時(shí)數(shù)據(jù)的需求來(lái)說(shuō),hbase+mysql就可以用最經(jīng)濟(jì)的方式解決了。mongodb比較適合需要實(shí)時(shí)返回?cái)?shù)據(jù)的大數(shù)據(jù)應(yīng)用。
?
個(gè)人總結(jié):
[2]中主要是提到了寫入速度和費(fèi)用的問(wèn)題,有些話不太好理解,這里來(lái)闡述下:
①[2]中關(guān)于寫入速度,可以查看[1]中的評(píng)測(cè)圖
?
②然后再來(lái)看看阿里的云數(shù)據(jù)庫(kù)的價(jià)格:
上圖中右邊三個(gè)都是4核8G,雖然mongodb以及Hbase都有各種數(shù)據(jù)庫(kù),但是可以看出,Mongodb貴了很多。
除非有高速實(shí)時(shí)查詢需要,否則去購(gòu)買很貴的mongodb是沒有必要的,單價(jià)上,mongodb就比hbase貴了很多,
如果寫入操作要達(dá)到一樣的性能,那么根據(jù)[1]再配合負(fù)載均衡,mongodb需要的臺(tái)數(shù)肯定會(huì)超過(guò)hbase,所以劃不來(lái)。
因此如[2]中所言,mongodb的寫入速度太低,為了維持用戶體驗(yàn),就會(huì)需要很多臺(tái)機(jī)器,這是很不劃算的。
Reference:
[1]MongoDB和HBase的性能分析測(cè)試對(duì)比
[2]深入理解mongodb和hbase區(qū)別
總結(jié)
以上是生活随笔為你收集整理的为什么是hbase而不是mongodb的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 双顶径是什么意思(用双顶径预估胎儿的体重
- 下一篇: 北向资金数据核实