前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >HBase vs Redis

HBase vs Redis

作者头像
一个会写诗的程序员
发布2021-12-16 11:14:45
1.7K0
发布2021-12-16 11:14:45
举报

HBase 对比 Redis

https://db-engines.com/en/system/HBase%3BRedis

二者都属于NoSQL,但又有很大不同:

HBase是一个分布式的、面向列的开源数据库,它是Apache的Hadooop项目的子项目。最初来源于Fay Chang所撰写的Google论文"Bigtable:一个结构化数据的;分布式存储系统"。一般和HDFS一起结合使用,能存储海量数据。

Redis是一个开源的使用ANSIC语言编写、支持网络、基于内存的日志型、Key-Value数据库; 优势是速度快,并发高; 缺点是数据类型有限,查询功能不强,一般用作缓存(当做DB用的,更多是允 许丢失的数据)。

综上: 根据具体业务场景、数据量选择最合适的就好。

两者功能上比较相近,都属于nosql数据库,都支持数据分片存储,一般来讲redis比较依赖内存,适合做缓存,hbase适合做大数据的持久存储,两者适合的场景不太一样,主要区别有如下几点:

1.读写性能:hbase采用了LSM结构,写快读慢,hbase读延时在一般在几毫秒,redis读延时在几十微秒,性能相差比较大.

LSM-Tree 全称是Log Structured Merge Tree,是一种分层、有序、面向磁盘的数据结构,其核心思想是充分利用磁盘的顺序写性能要远高于随机写性能这一特性,将批量的随机写转化为一次性的顺序写。LSM-Tree 被是一种面向写多读少应用场景的数据结构 ,被 Hbase、RocksDB 等强力 NoSQL 数据库采用作为底层文件组织方式。 https://wingsxdu.com/post/database/leveldb/#gsc.tab=0

2.数据类型:hbase和redis都支持kv类型,但redis支持更丰富的集合类型list,set等

3.数据量:redis在热数据比内存大时,性能下降比较厉害,非常依赖内存,hbase不存在这问题

4.部署复杂度:hbase部署复杂,依赖hadoop,zookeeper,redis部署简单

5.数据持久化:hbase采用了WAL,先记录日志再写入数据,理论上不会丢失数据,而redis采用的是异步复制数据,failover时可能丢失数据.

HBase 是属于hadoop生态圈的组件,不可能脱离hdfs使用的。hbase部署起来较重,需要有一定人力搞定它。但是优点也是很明显的,作为分布式数据库,容灾以及扩展性都很棒。

Redis更适合小场景的需求,优点是速度快,作为缓存是个不错的选择。但是大数据肯定不够玩。

hbase是可以作为线上系统的后台的,实时性是建立在你们对表的设计和优化上的。如果人力允许,完全可以用hbase+redis实现数据仓库加缓存数据库,速度和扩展性都兼顾。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/8/29 下,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • HBase 对比 Redis
相关产品与服务
TDSQL MySQL 版
TDSQL MySQL 版(TDSQL for MySQL)是腾讯打造的一款分布式数据库产品,具备强一致高可用、全球部署架构、分布式水平扩展、高性能、企业级安全等特性,同时提供智能 DBA、自动化运营、监控告警等配套设施,为客户提供完整的分布式数据库解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档