HBase和Redis的应用场景对比

2020-05-22 00:00:00 数据 专区 场景 部署 可以用

HBase和Redis的功能上比较相似。都是nosql类型的数据库。但是在适用场景上,两者还是有比较明显的区别的。

下面基于读写性能、数据类型、数据量、部署难易、数据可靠性、应用场景、两者的结合等多个维度来比较一下两者。

读写性能:

HBase写快读慢,HBase的读取时长通常是几毫秒,而Redis的读取时长通常是几十微秒。性能相差非常大。


数据类型:

HBase和Redis都支持KV类型。但是Redis支持List、Set等更丰富的类型。


数据量:

Redis支持的数据量通常受内存限制,而HBase没有这个限制,可以存储远超内存大小的数据。


部署难易:

HBase部署需要依赖hadoop、zookeeper等服务,而Redis的部署非常简单。


数据可靠性:

HBase采用WAL,先记录日志再写入数据,理论上不会丢失数据。而Redis采用的是异步复制数据,在failover时可能会丢失数据。


应用场景:

HBase适合做大数据的持久存储,而Redis比较适合做缓存。如果数据丢失是不能容忍的,那就用只能用HBase;如果需要一个高性能的环境,而且能够容忍一定的数据丢失,那完全可以考虑使用Redis。


两者的结合:

HBase可以用来做数据的固化,也就是数据存储,做这个他非常合适。Redis适合做cache。可以用HBase+Redis实现数据仓库加缓存数据库,速度和扩展性都兼顾。


综合上述比较,我们可以看出。这两者都有各自擅长的领域,不存在相互替代。具体选用哪个服务,要根据具体业务场景、数据量选择合适的方案。

相关文章