让我们开门见山来一句介绍,Hive是建立在Hadoop HDFS上的数据仓库基础架构。
在Hadoop大数据体系中,Hive和HBase事两种基于Hadoop的不同技术,Hive是一类类SQL的引擎,其数据存放在HDFS上,并运用MapReduce进行计算,适合OLAP事务。而HBase是一种在Hadoop上的NOSQL的键值对数据库,提供数据的实时访问。
好,接下来我们细细地讲。
数据仓库
数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的(Integrated)、相对稳定的(Non-Volatile)、反映历史变化的(Time variant)数据集合,用于支持管理决策。下面图为数据仓库体系结构:数据源-》数据存储管理-》分析和挖掘引擎-》应用:
那么数据仓库到底有什么用呢?
传统的数据库适用于OLTP(联机事务处理),主要是基本的,日常的事务处理。比如说银行的转账业务,对于扣钱和存钱这两个操作,操作频率很高,而且只能是要么同时成功要么同时失败。
数据仓库系统的主要应用主要是OLAP(联机分析处理),支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。而且数据仓库里面的数据时不可更新的,很久以前的数据也会存在(稳定的,面向历史记录的),只有查询操作没有增删查改。
举个例子:搭建一个商品的推荐系统,我们需要用到很多用户以往购买商品的记录。传统数据库中的结构是为了完成交易设计的,并不太支持大量的查询操作。而且传统数据库会不停更改,不一定保留以往数据。有个不错的例子: