黑马程序员 潜水
  • 9发帖数
  • 9主题数
  • 0关注数
  • 0粉丝
开启左侧

Redis、传统数据库、HBase以及Hive的区别

[复制链接]
黑马程序员 发表于 2021-2-22 09:54:18 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
在大数据相关行业的面试中,经常会被问到这个问题:Redis、传统数据库、HBase以及Hive的区别。

                               
登录/注册后可看大图

本文将针对这个面试问题,做以下分析:
1.问题分析

面试官考核的是你对差别数据存储技术的明白和应用,概念和特性都必要回答。同时可以延伸到业务场景,考察面试者在项目实战中差别服务如何区分配合使用。
2.核心问题回答

Redis
分布式缓存,基于内存,强调缓存,支持数据持久化,支持事务利用,NoSQL 类型的Key/vale数据库,同时支持List、Set等更丰富的类型。
HBase
HBase是创建在HDFS之上,提供高可靠性的列存储,实时读写的数据库系统。它介于Nosql和关系型数据库之间,仅通过主键和主键的range来检索数据,仅支持单行事务。主要用来存储非结构化和半结构化的松散数据。
关系数据库
有mysql、Oracle、SqlServer等,支持事务性利用,属于写模式,即写入数据时进行检查。它是针对具体业务在数据库联机的日常利用,通常对少数记载进行查询、修改。支持完善的sql功能,可以对少量数据进行统计分析。
Hive
Hive是基于Hadoop的数据仓库工具,可以将结构化数据文件映射为数据库表。并提供简单的sql功能,可以将sql转化为mr任务运行。因为sql学习成本低,不必专门开发mr应用,非常适合数据仓库的统计分析。
3.区别

这里可以分为两大类:关系型数据和Hive都是支持SQL引擎的数据库;Redis和Hbase都是NoSQL 类型的Key/vale数据库,支持简单的行列利用,不支持SQL引擎。
SQL类数据库中,关系型数据库更侧重于事务性利用,属于写模式,支持的数据量较小,支持索引延长低;而Hive更侧重于查询分析利用,属于读模式,不支持索引延长高,支持的数据量大,为数据仓库而计划。
K/V数据库中,Redis的读写性能更高,通常是几十微秒,而Hbase是几毫秒;Redis不仅支持K/V利用,也支持List、Set等更丰富的类型;Redis因为存储在内存中所以数据量较小,而Hbase的存储远远超出内存的巨细。HBase适合做大数据的持久存储,而Redis比力适合做缓存。
4.问题扩展

类似的存储服务特别多,除此之外还有es和solr等等。必要先答出两种存储服务的概念,再根据核心功能,特性的差别答出两者区别。
5.结合项目中的使用

在哪种场景下,使用哪种技术。传统数据库用来进行实时业务的事务处理,Redis用来做性能要求很高的实时缓存,Hive可以用来进行离线统计查询,HBase可以用来做汗青数据的固化和快速查询。固然,他们是可以配合使用的。

精彩评论8

户6033168114570 发表于 2021-2-23 18:03:27 | 显示全部楼层
新年快乐
江流儿 发表于 2021-2-22 12:37:13 | 显示全部楼层
转发了
MR旺仔 发表于 2021-2-22 20:27:59 | 显示全部楼层
转发了
gogogoX 发表于 2021-2-22 20:54:49 | 显示全部楼层
转发了
湖德堡 发表于 2021-2-22 21:25:42 | 显示全部楼层
转发了
未来海阔天空8 发表于 2021-2-24 08:59:57 | 显示全部楼层
转发了
一只大宝贝哇 发表于 2021-2-24 08:52:49 | 显示全部楼层
转发了
菜菜我是谁 发表于 2021-2-24 12:51:29 | 显示全部楼层
转发了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

猜你喜欢
在线客服邮箱
wxcy#wkgb.net

邮箱地址#换为@

Powered by 创意电子 ©2018-现在 专注资源实战分享源码下载站联盟商城