Memcached、Redis、MongoDB、HBase對比
最新
06-05
存儲方式
Memcached:內存
Redis: 內存,同時支持持久化,本地磁碟
MongoDB: 本地磁碟
HBase: HDFS
數據類型
Memcached:僅支持String,key、value的數據大小都有限制,一般1M
Redis: key需是String,但是value支持String,List,Set等豐富的數據類型,數據大小限制比Memcached大許多,一般500M至1G
MongoDB: 採用類似json的結構(bson),支持json能夠表達的數據類型,比如null、boolean、numeric、string等,單個文檔最大限制16M
HBase: 使用列族,基礎數據使用位元組數組,每個存儲塊有數據大小限制,可配置,至少支持64M
性能
Memcached: 單機,多線程,分散式需依賴客戶端做一致性哈希等控制
Redis: 支持主-從同步,支持集群,單線程
MongoDB: 前兩者是In-Memory的,所以MongoDB這裡肯定吃虧一些,拿它和MySql對比或許更合適一些。支持主從模式,同時支持基於分片的水平分散式擴展
HBase: 後端就是HDFS,所以你懂的
典型用途
Memcached: 作為關係型資料庫的緩存層,加速數據訪問
Redis: 作為關係型資料庫的緩存層,加速數據訪問;同時提供數據落地功能
MongoDB: schema-less的資料庫,在變化快、事務性要求不強的場景,用於替代MySql,比如遊戲用戶信息、社交信息的存儲
HBase:海量數據的存儲,需要高並發查詢的場景,比如日誌
TAG:後端技術小黑屋 |