元数据
元数据(Metadata),又称中介数据、中继数据,为描述数据的数据(data about data),主要是描述数据属性(property)的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。主要记录数据仓库中模型的定义、各层级间的映射关系、监控数据仓库的数据状态及ETL的任务运行状态。一般会通过元数据资料库(Metadata Repository)来统一地存储和管理元数据,其主要目的是使数据仓库的设计、部署、操作和管理能达成协同和一致。
元数据可分为技术元数据和业务元数据。技术元数据为开发和管理数据仓库的IT 人员使用,它描述了与数据仓库开发、管理和维护相关的数据,包括数据源信息、数据转换描述、数据仓库模型、数据清洗与更新规则、数据映射和访问权限等。而业务元数据为管理层和业务分析人员服务,从业务角度描述数据,包括商务术语、数据仓库中有什么数据、数据的位置和数据的可用性等,帮助业务人员更好地理解数据仓库中哪些数据是可用的以及如何使用。
元数据不仅定义了数据仓库中数据的模式、来源、抽取和转换规则等,而且是整个数据仓库系统运行的基础,元数据把数据仓库系统中各个松散的组件联系起来,组成了一个有机的整体。
Hive原理
hive就是在hadoop的基础上架设了一层sql操作的接口,使我们可以通过类sql的方式来操作hive,由hive将这些hql语句翻译成mapreduce来处理海量数据。所以,Hive的底层仍然是MapReduce,Hive主要是做一个翻译的工作。
hql(类sql)->hive->mapreduce->hdfds
Hive是基于Hadoop的数据仓库工具
数据库和数据仓库的比较:
数据库
数据仓库
为线上系统提供实时数据
存储历史数据用于离线分析
具有完整的增删改查的能力
只支持一次写入多次查询,不支持行级别的增删改
具有完整的事务能力
不强调事务的特性
尽量的避免冗余 提高存储 和处理的效率
人为的制造冗余 提高查询的效率
数据库与数据仓库的区别实际讲的是 OLTP 与 OLAP 的区别
操作型处理,叫联机事务处理 OLTP(On-Line Transaction Processing,),也可以称面向交易的处理系统,它是针对具体业务在数据库联机的日常操作,通常对少数记录进行查询、修改。用户较为关心操作的响应时间、数据的安全性、完整性和并发支持的用户数等问题。传统的数据库系统作为数据管理的主要手段,主要用于操作型处理。
分析型处理,叫联机分析处理 OLAP(On-Line Analytical Processing)一般针对某些主题的历史数据进行分析,支持 管理决策。
Hive的特点:
1>hive将结构化的数据文件映射为一张数据库表,并提供完整的sql查询能力。
2>只能一次写入多次查询不支持行级别的增删改(hadoop2.0后可以追加了)这是受限于底层的hdfs
3>本质上只是在hadoop的基础上加了一层sql的壳,仍然是一种离线数据分析工具
4>不支持事务的特性
5>通常会通过制造冗余来提高数据的查询能力
结论:
Hive并不是一种数据库,而是一种基于Hadoop的数据仓库工具。