{eval=Array;=+count(Array);}
1. 如果你對(duì)數(shù)據(jù)的讀寫要求極高,并且你的數(shù)據(jù)規(guī)模不大,也不需要長(zhǎng)期存儲(chǔ),選redis;
2. 如果你的數(shù)據(jù)規(guī)模較大,對(duì)數(shù)據(jù)的讀性能要求很高,數(shù)據(jù)表的結(jié)構(gòu)需要經(jīng)常變,有時(shí)還需要做一些聚合查詢,選MongoDB;
3. 如果你需要構(gòu)造一個(gè)搜索引擎或者你想搞一個(gè)看著高大上的數(shù)據(jù)可視化平臺(tái),并且你的數(shù)據(jù)有一定的分析價(jià)值或者你的老板是土豪,選ElasticSearch;
4. 如果你需要存儲(chǔ)海量數(shù)據(jù),連你自己都不知道你的數(shù)據(jù)規(guī)模將來(lái)會(huì)增長(zhǎng)多么大,那么選HBase。
而對(duì)于分布式數(shù)據(jù)庫(kù)的選擇,初步來(lái)看實(shí)際上可以分為三類
1. 偏基于Hadoop體系架構(gòu)和分布式存儲(chǔ)的,類似HDFS庫(kù)和HBase數(shù)據(jù)庫(kù),也包括中間類型MongoDB
2. 偏內(nèi)存和緩存類的,類似Redis庫(kù)
3. 偏全文檢索類和數(shù)據(jù)分析類的,類似ElasticSearch和Solr庫(kù)
mongo是基于文檔的存儲(chǔ)引擎。redis是內(nèi)存kv存儲(chǔ)。hbase是基于row key的列式存儲(chǔ)。
mongodb存儲(chǔ)JSON格式數(shù)據(jù),可以當(dāng)作關(guān)系型數(shù)據(jù)庫(kù)的一個(gè)補(bǔ)充,一般我應(yīng)用在操作日志或者用戶訪問(wèn)日志方面;
redis是KEY-VALUE存儲(chǔ),優(yōu)勢(shì)是讀快,一般數(shù)據(jù)放在內(nèi)存中,會(huì)周期性把內(nèi)存中數(shù)據(jù)與硬盤同步,一般我應(yīng)用在系統(tǒng)的緩存上;
hbase來(lái)源于hadoop,一般配合hadoop系統(tǒng),應(yīng)用在大數(shù)據(jù)方面;
有本書叫《七周七數(shù)據(jù)庫(kù)》,里面詳細(xì)介紹對(duì)比了七個(gè)數(shù)據(jù)庫(kù)的優(yōu)缺點(diǎn)! 你說(shuō)的這幾個(gè)在里面都說(shuō)到了! 我覺得講的挺好,挺明白的,你可以去看看的!
mongodb定位于關(guān)系型數(shù)據(jù)庫(kù)。文檔型數(shù)據(jù)庫(kù)。
redis定位于緩存。key value數(shù)據(jù)庫(kù)。
hbase定位于大數(shù)據(jù)。列存儲(chǔ)數(shù)據(jù)庫(kù)。
最大的區(qū)別就在于數(shù)據(jù)結(jié)構(gòu)不同,應(yīng)用場(chǎng)景不同。
0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答9
回答