名词解释
一些必须掌握的专有名词

基础层-ODS(Operational Data Store-操作型数据存储)
未经过加工处理的原始数据:记录事实的唯一版本,业务系统产生的原始数据,原封不动的同步到数仓。
中间层-CDM\EDW(Enterprise Data Warehouse-企业级数据仓库,Common Data Model,公共维度模型层)
数仓核心意义,在中间层进行加工整合。
数据域:数据管理和数据整合的数据抽象集合。数据域相对稳定,主要用于中间层建设。
• dwd-明细整合层
• dws-高粒度汇总层,一般为主题宽表(面向主题)
• dim-维度表
• dwb-基础数据层(ods稍微清洗转化)
应用层-ADM(Application Data Mart-应用数据集市)
ADM 与 CDM 的区别:CDM是公共的,ADM是有些业务部门定制的,只有这个部门会去使用的数据,定制化相关的数据。
数据模型:
数仓模型:数仓中间层管理分类进行设计。
数据表的模型:表结构的设计
算法模型
数仓模型

ODS原始数据层:
从OLTP同步过来的原始数据,记录事实的唯一版本,一般不会进行改动、删除
DWD明细整合层:
ODS层数据-->etl加工-->DWD明细整合层。非结构化的数据进行结构化,数据清洗(缺失值错误值进行处理加工)。
dim层(维度表):在储存数据的时候为了节省空间,很多汉字以码表的形式储存。比如北京上海转变成PEK、SHA。数据字典
DWS高粒度汇总层
ODS-->按照不同维度分组聚合-->DWS。比如ODS的订单数据,进行聚合变成订单量。变成服务主题的宽表。
ADM应用层
CDM-->ADM由公共层,向应用层转化。从共有-->面向业务
ADM业务定制化的数据。根据业务应用场景加工出来的数据。
比如PV、UV 在公共层都是公用的,但是就说数据产品经理的课PV、UV,我不关心其他页面的PV、UV。那么就需要将公共层的数据拿出来进行加工,这就是就是公共层向应用层的转化。
在应用的过程中如果A、B、C业务都用到这份数据那么我就可以将A、B、C都用到的数据沉淀下来,沉淀到公共层。一份数据供三个业务使用,降低了数据的存储和冗余。

总结
整个数仓模型都是人为抽象出来的一种概念,实际上使用的时候都是表与表之间实际上是一种扁平的关系,只有表名的前缀用来区别。
数仓---数据的分类方法,便利企业的分析决策
数据表的模型

kimball维度建模思想:事实表和维度表dim。紫色的就是事实表,黄色的就是维度表。
雪花模型:在星型模型的基础上对维度表还有二级的分类。



传统数仓架构

数据源
流数据
数据是流式的。当下流行的实时数仓,当下发生一笔订单,订单的数据就流进来,进行处理加工,根据时间时序去判定的。
块数据(批数据)
离线数仓,T+1,当天凌晨去同步昨天一整天的数据。一批一批的去同步。
数据计算
实时计算:主要是针对流数据,对数仓中间的模型要求不高,最核心的是底层的计算架构。
离线计算:离线计算是核心

数据应用

比如数据挖掘涉及到标签挖掘、特征的挖掘。
整个数仓过程
调度、监控、Meta
调度:(在数据湖里会细节讲解)数据计算的过程中不断的有数据处理的过程、任务的先后执行顺序、怎么执行、任务的定义等
监控:数据质量、数据时效性管理
Meta:元数据,描述数据的数据。数据字典、数据字段含义、数据表名称路径。
数据产品的核心,调度系统、监控系统、元数据管理系统(数据地图),整个过程中对应产品的构建。
数据链路及服务

采集类数据产品
友盟 神策


数据开发、调度、数仓管理类产品
dataworks
DataWorks_一站式大数据开发治理平台_阿里巴巴数据治理最佳实践-阿里云

BI工具及数据运营类产品
数仓在数据中台中的作用

对客户进行算法评级,从而对采用不同话术和优先级。


总结
数据仓库的特点:面向主题、稳定、集成、反应历史变化
OLAP:面向分析的多维查询操作DataCube,是一种软件技术、基于数仓多维模型。
数仓模型层级如何划分 ODS DWD DWS ADM
数仓架构:数据源->数据计算->数据应用,贯穿始终的调度、监控、meta
数据链路服务:
业务数据源->数据仓库->数据应用
采集类数据产品->开发、调度数仓管理类产品->BI工具及数据运营类产品