51

Memcached、Redis、MongoDB、HBase对比

 5 years ago
source link: http://blog.guoyb.com/2018/06/02/kv-db/?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
  • 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:海量数据的存储,需要高并发查询的场景,比如日志

转载请注明出处: http://blog.guoyb.com/2018/06/02/kv-db/

欢迎使用微信扫描下方二维码,关注我的微信公众号TechTalking,技术·生活·思考:

b6niUzu.jpg!web

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK