HBase】【大数据基础】hbase和redis的区别是什么

2020-12-27 15:31发布

14条回答
天天
2楼 · 2020-12-27 15:49

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实现数据仓库加缓存数据库,速度和扩展性都兼顾。


不吃鱼的猫
3楼 · 2020-12-27 16:28

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

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


读写性能
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实现数据仓库加缓存数据库,速度和扩展性都兼顾。

魏魏姐
5楼 · 2020-12-28 10:33

如果你对数据的读写要求极高,并且你的数据规模不大,也不需要长期存储,选redis;

如果你的数据规模较大,对数据的读性能要求很高,数据表的结构需要经常变,有时还需要做一些聚合查询,选MongoDB;

如果你需要存储海量数据,连你自己都不知道你的数据规模将来会增长多么大,那么选HBase。


用户555666
6楼 · 2020-12-28 11:17

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实现数据仓库加缓存数据库,速度和扩展性都兼顾。


三岁奶猫
7楼 · 2020-12-28 11:19

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

性能相差非常大。数据类型:HBase和Redis都支持KV类型。但是Redis支持List、Set等更丰富的类型。

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

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

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


楠楠楠楠
8楼 · 2020-12-28 14:09

如果你对数据的读写要求极高,并且你的数据规模不大,也不需要长期存储,选redis;

如果你的数据规模较大,对数据的读性能要求很高,数据表的结构需要经常变,有时还需要做一些聚合查询,选MongoDB;

如果你需要存储海量数据,连你自己都不知道你的数据规模将来会增长多么大,那么选HBase。


大冬瓜
9楼 · 2020-12-29 17:11

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实现数据仓库加缓存数据库,速度和扩展性都兼顾。

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


相关问题推荐

  • 回答 1

  • 回答 2

    可以调一下系统时间,使用date命令,一般节点掉了都是时间不同步。

  • 回答 1

    Hbase安装与启动一,前言二,前期准备  2.1 文件下载  2.2 服务器准备三,配置文件配置  3.1 hbase-env.sh  3.2 hbase-site.xml  3.3 regionservers  3.4 将hbase的bin目录添加到环境变量  3.5 Hbase的官方配置文档四,Hbase服务启动  4.1 ...

  • 回答 3

    首先介绍部署 HBase 之前需要做的准备工作,如 Java、SSH 和 Hadoop 这些先决条件的配置;然后介绍如何安装 HBase,以及如何配置集群中相关文件。同时需要注意的是,本节介绍的是分布式 HBase 集群的部署,在对一台机器修改配置文件后需要同步到集群中的所有...

  • 回答 1

    HBase安装HBase的安装也分为三种,单机版、伪分布式、分布式。我们首先来安装单机版。单机版首先我们去官网下载好HBase的安装包;接下来,将压缩包解压缩到你想安装的目录(我解压到的是/app目录):tar -zxvf hbase-2.1.0-bin.tar.gz /app安装单机版很简...

  • 回答 24

    HBase分布式数据库具有如下的显著特点:容量大:HBase分布式数据库中的表可以存储成千上万的行和列组成的数据。面向列:HBase是面向列的存储和权限控制,并支持独立检索。列存储,其数据在表中是按照某列存储的,根据数据动态的增加列,并且可以单独对列进行...

  • 回答 9

    1、查看单行记录:get '表名称', '行名称'2、查看表中的记录总数:count '表名称'3、查看表所有记录:scan 表名称4、查看表某个列所有记录:scan 表名称 , ['列名称:']5、查看有哪些表:list6、查看表结构:describe '表...

  • 回答 15

    hbase与传统数据库的区别1.数据类型:Hbase只有简单的数据类型,只保留字符串;传统数据库有丰富的数据类型。2.数据操作:Hbase只有简单的插入、查询、删除、清空等操作,表和表之间是分离的,没有复杂的表和表之间的关系;传统数据库通常有各式各样的函数和连...

  • 回答 9

    启动HBase集群:bin/start-hbase.sh单独启动一个HMaster进程:bin/hbase-daemon.sh start master单独启动一个HRegionServer进程:bin/hbase-daemon.sh start regionserver

  • 回答 5

    hbase的八大应用场景1、对象存储:我们知道不少的头条类、新闻类的的新闻、网页、图片存储在HBase之中,一些病毒公司的病毒库也是存储在HBase之中2、时序数据:HBase之上有OpenTSDB模块,可以满足时序类场景的需求3、推荐画像:特别是用户的画像,是一个比较...

  • 回答 1

  • 回答 6

    1、频繁刷写我们知道Region的一个列族对应一个MemStore,假设HBase表都有统一的1个列族配置,则每个Region只包含一个MemStore。通常HBase的一个MemStore默认大小为128 MB,见参数hbase.hregion.memstore.flush.size。当可用内存足够时,每个MemStore可以分配...

  • 回答 3

    避免HBase经常split,产生不必要的资源消耗,提高HBase的性能。

  • 回答 4

    HBase每张表在底层存储上是由至少一个Region组成,Region实际上就是HBase表的分区。HBase新建一张表时默认Region即分区的数量为1,一般在生产环境中我们都会手动给Table提前做 预分区,使用合适的分区策略创建好一定数量的分区并使分区均匀分布在不同regions...

  • 回答 3

    关于每个regionserver节点分区数量大致合理的范围,HBase官网上也给出了定义:Generally less regions makes for a smoother running cluster (you can always manually split the big regions later (if necessary) to spread the data, or re......

没有解决我的问题,去提问