存储方式

  • 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:海量数据的存储,需要高并发查询的场景,比如日志
Last modification:April 17th, 2020 at 08:36 am
如果觉得我的文章对你有用,请随意赞赏