数据仓库和数据库
数据库和数据仓库的区别
数据库和数据仓库的区别实际讲的是OLTP和OLAP的区别。
- 数据库(操作型处理):联机事务处理OLTP,也可以称为面向用户交易的处理系统,它是针对具体业务在数据库联机的日常操作,通常进行增删改查操作 。传统的数据库系统作为数据管理的主要手段,主要用于操作型处理。
- 数据仓库(分析型数据):联机分析处理OLAP,也可以称为面向专业分析人员进行数据分析,通常进行查询操作,一般针对某些主题的历史数据进行分析,支持管理决策。
数据仓库主要特征:
面向主题的(Subject-Oriented)、集成的(Integrated)、非易失的(Non-Volatile)和时变的(Time-Variant)。
数据仓库架构
数据仓库架构可分为三层:源数据层、数据仓库层、数据应用层。
- 源数据层(ODS):此层数据无任何更改,直接沿用外围系统数据结构和数据,不对外开放;为临时存储层,是接口数据的临时存储区域,为后一步的数据处理做准备。
- 数据仓库层(DW):也称为细节层,DW层的数据应该是一致的、准确的、干净的数据,即对源系统数据进行了清洗(去除了杂质)后的数据。
- 数据应用层(DA或APP):前端应用直接读取的数据源;根据报表、专题分析需求而计算生成的数据。
数据库操作
- 创建数据库
create database if not exists myhive;
use myhive;
- 查看数据库详细信息
desc database myhive;
- 创建数据库并指定hdfs存储位置
create database myhive2 location '/myhive2';
- 删除一个空数据库,如果数据库下面有数据表,那么就会报错
drop database myhive;
- 强制删除数据库,包含数据库下面的表一起删除
drop database myhive2 cascade;
数据表操作
- EXTERNAL,创建外部表
- PARTITIONED BY,分区表
- CLUSTERED BY,分桶表
- STORED AS,存储格式
- LOCATION,存储位置