MongoDB 更類似 MySQL,支持欄位索引、游標操作,其優勢在于查詢功能比較強大,擅長查詢 JSON 資料,能存盤海量資料,但是不支持事務,
Redis 是一個開源(BSD許可)的,記憶體中的資料結構存盤系統,支持多種型別的資料結構,可用作資料庫,高速快取和訊息佇列代理,
1、記憶體管理機制
Redis 資料全部存在記憶體,定期寫入磁盤,當記憶體不夠時,可以選擇指定的 LRU 演算法洗掉資料,
MongoDB 資料存在記憶體,由 linux系統 mmap 實作,當記憶體不夠時,只將熱點資料放入記憶體,其他資料存在磁盤,
2、支持的資料結構
Redis 支持的資料結構豐富,包括hash、set、list等,MongoDB 資料結構比較單一,但是支持豐富的資料表達,索引,最類似關系型資料庫,支持的查詢語言非常豐富,
3、資料量和性能:
當物理記憶體夠用的時候,redis>mongodb>mysql
當物理記憶體不夠用的時候,redis和mongodb都會使用虛擬記憶體,
實際上如果redis要開始虛擬記憶體,那很明顯要么加記憶體條,要么你換個資料庫了,
但是,mongodb不一樣,只要,業務上能保證,冷熱資料的讀寫比,使得熱資料在物理記憶體中,mmap的交換較少,
mongodb還是能夠保證性能,
4、性能
mongodb依賴記憶體,TPS較高;Redis依賴記憶體,TPS非常高,性能上Redis優于MongoDB,
5、可靠性
mongodb從1.8版本后,采用binlog方式(MySQL同樣采用該方式)支持持久化,增加可靠性;
Redis依賴快照進行持久化;AOF增強可靠性;增強可靠性的同時,影響訪問性能,
可靠性上MongoDB優于Redis,
6、資料分析
mongodb內置資料分析功能(mapreduce);而Redis不支持,
7、事務支持情況
Redis 事務支持比較弱,只能保證事務中的每個操作連續執行;mongodb不支持事務,
8、集群
MongoDB 集群技術比較成熟,Redis從3.0開始支持集群,
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/37927.html
標籤:NoSQL
上一篇:redis系列之------鏈表
下一篇:redis系列之------字典
