HIVE
产生背景
- 由于大数据的发展,为了降低大数据处理的成本和难度
- 为了专门,完整的解决基于Hadoop的数据仓库构建问题
- 传统的数据仓库如oracle,sqlserver,sybase,Teradata等,均是完美支持SQL标准的,对hadoop数据仓库提供了实现支持
- Facebook的强大商业需求与商业化运作,由Facebook贡献
定义
- Hive是建立在 Hadoop 上的数据仓库基础架构和解决方案
- 架构:支持拿来即用,亦支持灵活的参数和计算引擎的变更
作用和意义
- 拿出了数据仓库构建的完整解决方案
- 基于Hadoop平台解决了企业数据仓库构建的核心技术问题,证明了Hadoop平台的强大。
- 进一步降低了Hadoop使用的准入门槛
Hive在Hadoop生态圈地位
相关概念—数据仓库
定义
- 英文名称为Data Warehouse,可简写为DW。
- 面向分析的存储系统(面向数据分析的存储系统)
- 面向分析的存储系统(面向数据分析的存储系统)
- 一个面向主题的(Subject Oriented)、集成的(Integrate)、不可修改的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于数据分析、辅助管理决策。
- 面向主题:指数据仓库中的数据是按照一定的主题域进行组织
- 集成:指对原有分散的数据库数据经过系统加工, 整理得到的消除源数据中的不一致性。
- 不可修改:指一旦某个数据进入数据仓库以后只需要定期的加载、刷新,不会更改。
- 反映历史变化:指通过这些信息,对企业的发展历程和未来趋势做出定量分析预测。
数据库和数据仓库对比
1.联系
- 两者均是用来存储数据的,即均为数据的存储载体。
- 数据仓库也是数据库,是数据库的一种衍生、延深应用。
- 数据仓库和数据库之间存在数据交互,即你中有我、我中有你。
- 数据库中的在线数据推送到离线的数据仓库用于分析处理
- 数据仓库中分析处理的结果数据也通常推送到关系数据库中,便于前台应用的可视化展现应用。
- 数据仓库的出现,并不是要取代数据库,且当下大部分数据仓库还是用关系数据库管理系统来管理的,即数据库、数据仓库相辅相成、各有千秋。
2.区别
- 数据库是面向事务的设计,数据仓库是面向主题面向数据设计的。
- 数据库一般存储在线交易数据,实时性强存储空间有限,数据仓库存储的一般是历史数据,实时性弱但存储空间庞大。
- 数据库设计是尽量避免冗余,数据仓库在设计是有意引入冗余。
- 数据库是为捕获数据而设计,即实时性强吞吐量弱,数据仓库是为分析数据而设计,即吞吐量强实时性弱。