前面兩期給大家講解了nosql,記以及三者之間的區別
今天這期主要給大家介紹下這三者的優缺點分別是什麼?看完之後希望能有夠對這三個有一個更加深入的認識
MongoDB優缺點
優點
1,內置GridFS,支持大容量的存儲, GridFS是一個出色的分佈式文件系統,可以支持海量的數據存儲。內置了GridFS了MongoDB,能夠滿足對大數據集的快速範圍查詢。
2,內置Sharding,分片簡單
3,大數據數據下,性能優越,在使用場合下,千萬級別的文檔對象,近10G的數據,對有索引的ID的查詢不會比mysql慢,而對非索引字段的查詢,則是全面勝出
4,支持自動故障恢復,
5,文檔結構的存儲方式,能夠更便捷的獲取數據
缺點
1、在集群分片中的數據分佈不均勻
2、單機可靠性比較差
3、大數據量持續插入,寫入性能有較大波動
4、磁盤空間佔用比較大
Redis優缺點
優點
1、讀寫功效優秀,從內存中間舉行IO讀寫速率迅速
2、支持主從複製,主機遇主動將數據同步到從機,可以或許舉行讀寫分別辨別。
3、支持數據持久化,支持AOF和RDB兩種歷久化要領,
4、支持多種數據存儲花樣,除了String範例外另有hash,set,sortedset、list等數據佈局。
5、redis是單線程多CPU,如許速率更迅速,因為單線程,沒有線程切換的開銷,不必要思量加鎖開釋所,也就沒有死鎖的題目,單線程-多路複用IO模子,服從高。
缺點
1.Redis只能應用單線程,功效受限於CPU功效,故單實例CPU最高才大概抵達5-6wQPS每秒(取決於數據佈局,數據鉅細以及服務器硬件功效,通常情況中QPS岑嶺大概在1-2w擺佈)。
2.支持簡短的交易必要,但業界應用場景很少,並不老到,既是優點也是缺點。
3.Redis在string範例上會花消較多內存,可以或許應用dict(hash表)蜷縮存儲以降落內存耗用。
Memcache優缺點
優點
1.Memcached可以或許行使多核上風,單實例吞吐量極高,可以或許抵達幾十萬QPS(取決於key、value的字節鉅細以及服務器硬件功效,通常情況中QPS岑嶺大概在4-6w擺佈)。適合於最大水平扛量。
2.支持乾脆建設為session handle。
缺點
1.不能持久化存儲
2.存儲數據有限制:1M 【大於1M,認為就行分割】(內存碎片)
3.mm存儲數據只能key-value
4.集群數據沒有複製和同步機制 【崩潰不會影響程序,會從數據庫中取數據】
以上就是關於這三者之間的區別,想要查看前兩期的內容可以點擊下方
閱讀更多 碼農小王生活 的文章