海詩網(wǎng) 知識(shí)百科 nosql數(shù)據(jù)庫有哪些(nosql數(shù)據(jù)庫有哪些類型)

nosql數(shù)據(jù)庫有哪些(nosql數(shù)據(jù)庫有哪些類型)

nosql數(shù)據(jù)庫有哪些, 什么是nosql數(shù)據(jù)庫?不知道小伙伴們今天來看看邊肖的分享吧!

一個(gè)議員普通的關(guān)于NoSQLDie Datenbank hatRedis,Memcache,MongoDB .

二標(biāo)籤:Redis、Memcache、MongoDB的特點(diǎn):

Redis

優(yōu)勢:

1.支持多種數(shù)據(jù)結(jié)構(gòu),如string(字符串)、list(鏈表)、dict(哈希表)、set(集合)、zset(排序集)、hyperloglog(基數(shù)估計(jì))。

2.支持持久化操作,可以將aof和rdb數(shù)據(jù)持久化到磁盤,以便進(jìn)行數(shù)據(jù)備份或數(shù)據(jù)恢復(fù),是防止數(shù)據(jù)丟失的較好手段。

3.支持通過復(fù)制進(jìn)行數(shù)據(jù)復(fù)制,通過主從機(jī)制實(shí)時(shí)同步數(shù)據(jù)復(fù)制,支持多級復(fù)制和增量復(fù)制。主從機(jī)制是Redis進(jìn)行HA的重要手段。

4.單線程請求,所有命令串行執(zhí)行,在并發(fā)的情況下不需要考慮數(shù)據(jù)一致性。

5.支持pub/sub消息訂閱機(jī)制,可用于消息訂閱和通知。

6.支持簡單的交易需求,但行業(yè)內(nèi)使用場景較少,不太成熟。

缺點(diǎn):

1.Redis只能使用單線程,性能受限于CPU的性能,所以單實(shí)例CPU最高可以達(dá)到每秒5-6wQPS(具體取決于數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)大小和服務(wù)器硬件性能,日常環(huán)境下QPS峰值在1-2w左右)。

2.支持簡單的交易需求,但行業(yè)內(nèi)的場景少且不成熟,有利也有弊。

3.Redis在字符串類型上會(huì)消耗更多內(nèi)存,可以用dict(哈希表)壓縮存儲(chǔ)來減少內(nèi)存。

消費(fèi)。

nosql數(shù)據(jù)庫有哪些類型

Memcache

優(yōu)勢:

1.Memcached可以利用多核的優(yōu)勢,單實(shí)例吞吐量極高,達(dá)到幾十萬QPS(取決于key和值的字節(jié)大小和服務(wù)器的硬件性能,日常環(huán)境下QPS峰值在4-6w左右)。適合最大承載能力。

2.支持直接配置為會(huì)話句柄。

缺點(diǎn):

1只支持簡單的鍵/值數(shù)據(jù)結(jié)構(gòu),不像Redis可以支持豐富的數(shù)據(jù)類型。

2.不能持久化,數(shù)據(jù)不能備份,只能用于緩存,重啟后數(shù)據(jù)全部丟失。

3.無法執(zhí)行數(shù)據(jù)同步,MC中的數(shù)據(jù)無法遷移到其他MC實(shí)例。

4.Memcached內(nèi)存分配使用Slab分配機(jī)制來管理內(nèi)存。當(dāng)值大小分布差異較大時(shí),會(huì)降低內(nèi)存利用率,造成利用率低時(shí)踢出等問題。用戶需要重視價(jià)值設(shè)計(jì)。

MongoDB

優(yōu)勢:

1.在更高的寫負(fù)載下,MongoDB具有更高的插入速度。

2.處理大規(guī)模的單表。數(shù)據(jù)表過大時(shí),很容易分表。

3.高可用性,設(shè)置M-S不僅方便而且快捷,MongoDB還可以快速、安全、自動(dòng)地實(shí)現(xiàn)節(jié)點(diǎn)(數(shù)據(jù)中心)故障切換。

4.快速查詢,MongoDB支持二維空間索引,比如管道,所以可以快速準(zhǔn)確的從指定位置獲取數(shù)據(jù)。啟動(dòng)后,MongoDB會(huì)將數(shù)據(jù)庫中的數(shù)據(jù)以文件映射的形式加載到內(nèi)存中。如果內(nèi)存資源非常充足,

這將大大提高數(shù)據(jù)庫的查詢速度。

5.隨著非結(jié)構(gòu)化數(shù)據(jù)的爆炸式增長,添加列在某些情況下可能會(huì)鎖定整個(gè)數(shù)據(jù)庫,或者增加負(fù)載,從而導(dǎo)致性能下降。由于MongoDB的弱數(shù)據(jù)結(jié)構(gòu)模式,添加一個(gè)新字段不會(huì)對舊表產(chǎn)生任何影響,整個(gè)過程會(huì)非??臁?

缺點(diǎn):

1.不支持交易。

2.MongoDB占用空間太大。

3.MongoDB沒有成熟的維護(hù)工具。

nosql數(shù)據(jù)庫有哪些類型

Three labels: Redis, Memcache and MongoDB:

1.表演

三者性能比較高。總的來說,Memcache和Redis差不多,高于MongoDB。

2.便利

Memcache只有一個(gè)數(shù)據(jù)結(jié)構(gòu)。

Redis更豐富,數(shù)據(jù)操作方面,redis更好,網(wǎng)絡(luò)IO次數(shù)更少。

Mongodb支持豐富的數(shù)據(jù)表達(dá)、索引,最類似于關(guān)系數(shù)據(jù)庫,支持非常豐富的查詢語言。

3、儲(chǔ)物空間

Redis在2.0版本之后加入了自己的VM特性,突破了物理內(nèi)存的限制;您可以為鍵值設(shè)置過期時(shí)間(類似于memcache)。

Memcache可以修改最大可用內(nèi)存,并采用LRU算法。

MongoDB適合存儲(chǔ)大量數(shù)據(jù),依靠操作系統(tǒng)VM進(jìn)行內(nèi)存管理,吃內(nèi)存也很厲害。服務(wù)不應(yīng)與其他服務(wù)放在一起。

4.有效性

Redis,依托客戶端實(shí)現(xiàn)分布式讀寫;在主從復(fù)制中,每次從節(jié)點(diǎn)重新連接到主節(jié)點(diǎn)時(shí),都依賴于整個(gè)快照,沒有增量復(fù)制。由于性能和效率問題,單點(diǎn)問題更加復(fù)雜。不支持自動(dòng)分片,但這是必需的。

依靠程序來設(shè)置一致的散列機(jī)制。一個(gè)替代方案是自己做主動(dòng)復(fù)制(多存儲(chǔ)),沒有redis本身的復(fù)制機(jī)制,或者改成增量復(fù)制(需要自己實(shí)現(xiàn)),一致性問題,性能權(quán)限。

恒。

Memcache本身沒有數(shù)據(jù)冗余機(jī)制,沒有必要;對于故障預(yù)防,采用成熟的hash或ring算法解決單點(diǎn)故障引起的抖動(dòng)問題。

mongoDB支持master-slave,replicaset(內(nèi)部采用paxos選舉算法,自動(dòng)故障恢復(fù)),auto sharding機(jī)制,對客戶端屏蔽了故障轉(zhuǎn)移和切分機(jī)制。

5.可靠性

redis支持(快照、AOF):依賴快照進(jìn)行持久化,aof增強(qiáng)了可靠性的同時(shí),對性能有所影響。

memcache不支持,通常用在做緩存,提升性能。

MongoDB從1.8版本開始采用binlog方式支持持久化的可靠性。

6.一致性

Memcache 在并發(fā)場景下,用cas保證一致性。

redis事務(wù)支持比較弱,只能保證事務(wù)中的每個(gè)操作連續(xù)執(zhí)行。

mongoDB不支持事務(wù)。

7.數(shù)據(jù)分析

mongoDB內(nèi)置了數(shù)據(jù)分析的功能(mapreduce),其他兩者不支持。

8.應(yīng)用場景

redis:數(shù)據(jù)量較小的更性能操作和運(yùn)算上。

memcache:用于在動(dòng)態(tài)系統(tǒng)中減少數(shù)據(jù)庫負(fù)載,提升性能;做緩存,提高性能(適合讀多寫少,對于數(shù)據(jù)量比較大,可以采用sharding)。

MongoDB:主要解決海量數(shù)據(jù)的訪問效率問題。

nosql數(shù)據(jù)庫有哪些,以上就是本文為您收集整理的nosql數(shù)據(jù)庫有哪些最新內(nèi)容,希望能幫到您!更多相關(guān)內(nèi)容歡迎關(guān)注。

本文來自網(wǎng)絡(luò),不代表海詩網(wǎng)立場,轉(zhuǎn)載請注明出處:http://x91880.com/n/169227.html
      

windows(windows10)

發(fā)表回復(fù)
聯(lián)系我們
聯(lián)系我們

在線咨詢: QQ交談

郵箱: 3587015498@qq.com

工作時(shí)間:周一至周五,9:00-17:30,節(jié)假日休息

關(guān)注微信
微信掃一掃關(guān)注我們
微信掃一掃關(guān)注我們
關(guān)注微博
返回頂部