在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
Redis、关系数据库、HBase、Hive的区别是什么?在大数据相关行业的面试中,程序员经常会被问到:Redis、传统数据库、HBase以及Hive的区别,作为一个程序员你了解吗?这个问题考核的是不同数据存储技术的理解和应用,概念和特性都需要回答。同时可以延伸到业务场景,考察面试者在项目实战中不同服务如何区分配合使用。我们先来看看概念及定义~
Redis概念:分布式缓存,基于内存,强调缓存,支持数据持久化,支持事务操作,NoSQL 类型的Key/vale数据库,同时支持List、Set等更丰富的类型。
HBase概念:HBase是建立在HDFS之上,提供高可靠性的列存储,实时读写的数据库系统。它介于Nosql和关系型数据库之间,仅通过主键和主键的range来检索数据,仅支持单行事务。主要用来存储非结构化和半结构化的松散数据。
关系数据库概念:有mysql、Oracle、SqlServer等,支持事务性操作,属于写模式,即写入数据时进行检查。它是针对具体业务在数据库联机的日常操作,通常对少数记录进行查询、修改。支持完善的sql功能,可以对少量数据进行统计分析。
Hive概念:Hive是基于Hadoop的数据仓库工具,可以将结构化数据文件映射为数据库表。并提供简单的sql功能,可以将sql转化为mr任务运行。因为sql学习成本低,不必专门开发mr应用,十分适合数据仓库的统计分析。
Redis、关系数据库、HBase、Hive的区别:
这里分为两大类:关系型数据和Hive都是支持SQL引擎的数据库;Redis和Hbase都是NoSQL 类型的Key/vale数据库,支持简单的行列操作,不支持SQL引擎。
SQL类数据库中,关系型数据库更侧重于事务性操作,属于写模式,支持的数据量较小,支持索引延迟低;而Hive更侧重于查询分析操作,属于读模式,不支持索引延迟高,支持的数据量大,为数据仓库而设计。
K/V数据库中,Redis的读写性能更高,通常是几十微秒,而Hbase是几毫秒;Redis不仅支持K/V操作,也支持List、Set等更丰富的类型;Redis因为存储在内存中所以数据量较小,而Hbase的存储远远超出内存的大小。HBase适合做大数据的持久存储,而Redis比较适合做缓存。
类似的存储服务特别多,除此之外还有es和solr等等。需要先答出两种存储服务的概念,再根据核心功能,特性的不同答出两者区别。
结合项目中的使用,在哪种场景下使用哪种技术。传统数据库用来进行实时业务的事务处理,Redis用来做性能要求很高的实时缓存,Hive用来进行离线统计查询,HBase可以用来做历史数据的固化和快速查询,还可以配合使用。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
阿里巴巴校招面试流程及注意事项
阿里巴巴校招面试流程及注意事项,大公司的岗位一般竞争都比较激烈,阿里巴巴校招面试流程:网申、笔试、群面、业务官面试、HR面试五个流程。如果你成功拿到offer说明你的专业能力和综合能力是比较强的。
9496
2019-08-14 16:34:19
IT程序员要什么学历?学历和能力哪个更重要?
IT行业招聘一般设置最低学历为专科,专科这个学历,如果能达到就业的能力水平也能找到工作。学历是给HR人看的,而能力是留下来做事的真功夫,故做IT程序员能力比学历重要。虽说做程序员的能力比学历更重要,但是学历是入职的敲门砖,学历越高越好,求职的机会越多。
14815
2020-03-05 11:04:04
求职者该如何理清自身的求职策略?
求职者该如何理清自身的求职策略?求职换工作有的人拿到offer很轻松,但有的人却屡屡碰壁,关键是你用什么样的方式、方法来应对!学会运营思维来看待求职这件事可以跳出纯粹框架站在一个更高的地方来看待求职这件事。
4130
2022-04-08 15:45:24
程序员在面试时如何考察原始编码能力?
程序员在面试时如何考察原始编码能力?在面试中通过较快的方式测试出候选者的原始编码能力呢?传统的 coding 办法并不好用,反而某些别的方式更能发掘到人才。
3733
2022-05-03 16:03:38
外包与小公司同学如何逆袭
在软件开发领域里面外包公司与小公司的同学很可能不那么受待见。 那这是不是说做外包的小伙伴或者在小公司里工作过一段时间的小伙伴就没有任何的竞争力呢?
2157
2022-10-14 18:08:21