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