一、什么是数据仓库



    企业的数据处理大致分为两类:一类是操作型处理(联机事务处理 OLTP),它是针对具体业务在数据库联机的日常操作,通常对少数记录进行查询、修改。另一类是分析型处理(联机分析处理 OLAP),一般针对某些主题的历史数据进行分析,支持管理决策。前者对标数据库,后者对标数据仓库。



     数据仓库是集成各类型数据的数据集合,对企业各级别的决策提供数据依据。数据仓库的数据反映的是一段相当长时间内历史数据的内容,是不同时点数据快照的集合,以及基于这些快照进行统计、整合、重组的数据。



    数据仓库有以下4个特点:


1) 面向主题:数仓内的信息按主题组织(对照:业务数据库按业务功能组织)


2) 集成:数仓中的信息从各业务系统(+前后端日志、外部获取数据等)抽取加工整理汇总而成


3) 随时间变化:记录从过去某一时点到当前各个阶段的信息(而不仅仅是当前状态)


4) 相对稳定:数仓数据不可更新,数据装入后一般只进行查询操作,没有传统数据库的增删改操作。




二、数据仓库架构




数据仓库数据实时清洗 数据仓库处理_database




三、Hive数据仓库分层



    分层核心目的是 空间换时间、提高数据应用效率。不同公司分层层级有所不同,常规分层大体如下:


    ODS(Operation Data Storage)操作数据存储层:存储从服务器采集的原始日志、解析后的结构化日志。最细粒度明细数据,只存储不清洗,根据业务情况压缩保存几月至几年不等。也被称为原始数据层/临时数据层/DWD(Data Warehouse Detail)细节数据层。


     EDW(Enterprise Data Warehouse)企业级数据仓库层:根据不同主题/业务线对ods层数据进行清洗后存储在不同表中。保留尽可能多的维度,数据粒度和ods相同。也被称为DWB(Data Warehouse Base)基础数据层。


     ADM(Aggregative Data Model)聚合数据层:面向主题对edw层数据进行不同粒度聚合,可用于常规数据分析需求。该层可去除不常用维度后按小时粒度聚合,也可关联同步到hive的业务表以获取一些特殊字段。也被称为数据集市层/DM层。


     APP(Application)数据应用层:对adm层数据进行高度聚合,以满足不同场景分析需求。