Hive(数据仓库)与数据库的区别

数据库和数据仓库,虽然名字只有一点点不同,但是性质却有很大的区别。数据仓库是什么?数据仓库是为企业制定各个级别的决策,可以提供各种数据类型支持的战略集合。
它们两种之间的区别,就由我来给大家介绍一下吧。

1. 存储数据位置

众所周知,Hive是Hadoop生态圈中不可缺少的一部分。Hive的元数据存储在自带的derby数据库中,可它实际的数据存储在HDFS上。
可数据库的数据存储在块设备上或者本地文件系统中。

2.查询语言

虽然Hive为了方便一些开发者使用,通过将HQL转为MapReduce查询,但是HQL与常规的SQL语句使用起来还是有不同的地方。

3.数据更新

因为Hive是数据仓库,本身性质就是“读多写少”,所以在一些以前的版本中,它并不支持insert into插入数据以及update更新数据的。但是数据库通常使用起来就是需要经常修改以及添加的。

4.计算引擎

Hive的架构如下,Hive实际上就是将用户输入的HQL语句转化为MapReduce程序来运行,但是数据库有自己的执行引擎。
在这里插入图片描述

5.索引

在Hive中并没有索引这个概念,当Hive需要访问数据中某些符合特定条件的特定值时,需要对全盘进行暴力检索,所以访问延迟较高,但Hive引入了MapReduce,可以并行处理数据。在数据库中,虽不可以并行处理数据,但是可以在数据中建立索引。因此,对于少量特定条件的数据访问时,数据库延迟低。但是大数据量还是选择Hive。

6.执行延迟

Hive中没有索引不说,MapReduce的这个框架本身就具有很高的延迟。相对于数据库来说,延迟比较高。但是当数据量很大,超出了数据库的处理能力范围时,Hive的并行计算就具有很大的优势了。

7.可扩展性

由于Hive是建立在Hadoop集群上的,所以它的扩展能力和Hadoop一样。所以可以想象,Hadoop集群的节点可以有多少个?但是数据库本身由于ACID语义的限制,就Oracle在理论上最多也只能扩展100台。

						compiled up by JiaMingcan
						转载请署名:JiaMingcan
  • 8
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值