HBase和Redis的区别有哪些?
HBase和Redis的功能上比较相似。都是nosql类型的数据库。但是在适用场景上,两者还是有比较明显的区别的。
1)读写性能
HBase写快读慢,HBase的读取时长通常是几毫秒,而Redis的读取时长通常是几十微秒。性能相差非常大。
2)数据类型
HBase和Redis都支持KV类型。但是Redis支持List、Set等更丰富的类型。
3)数据量
Redis支持的数据量通常受内存限制,而HBase没有这个限制,可以存储远超内存大小的数据
4)部署难易
HBase部署需要依赖hadoop、zookeeper等服务,而Redis的部署非常简单。
5)数据可靠性
HBase采用WAL,先记录日志再写入数据,理论上不会丢失数据。而Redis采用的是异步复制数据,在failover时可能会丢失数据。
6)应用场景
HBase适合做大数据的持久存储,而Redis比较适合做缓存。如果数据丢失是不能容忍的,那就用只能用HBase;如果需要一个高性能的环境,而且能够容忍一定的数据丢失,那完全可以考虑使用Redis。
HBase可以用来做数据的固化,也就是数据存储,做这个他非常合适。Redis适合做cache。可以用HBase+Redis实现数据仓库加缓存数据库,速度和扩展性都兼顾。