一. 数据仓库架构设计
数据仓库的主要工作就是ETL,即是英文 Extract-Transform-Load 的缩写,用来描述数据从来源端经过装载(load)、抽取(extract)、转换(transform)至目的端的过程。
数据仓库架构设计,即为公司针对自身业务场景实现的水平分层、垂直分主题的数据仓库构建过程的顶层设计。
1. 数据架构
-
架构原则:先水平分层,再垂直分主题域。
-
数据架构分三层
源数据落地区(SDF:Source Data File)
数据仓库层(DW:Data WareHouse)
数据集市层(DM:Data Market)
-
数据仓库层进一步细分为三层
源数据层(DWB)
细节数据层(DWD)
汇总数据层(DWS)
2. 数据仓库分层介绍(水平划分)
3. 按主题划分(垂直划分)
二. 数据仓库建模
1.概念定义
-
数据模型是抽象描述现实世界的一种工具和方法,是通过抽象的实体及实体之间联系的形式,来表示现实世界中事务的相互关系的一种映射。
-
数据模型表现的抽象是实体和实体之间的关系,通过对实体和实体之间关系的定义和描述,来表达实际的业务中具体的业务关系。
-
数据仓库模型是数据模型中针对特定的数据仓库应用系统的一种特定的数据模型。
-
数据建模即数2据模型的构建和应用过程。
-
数据仓库建模即数据仓库模型的构建和应用过程。
2.数据仓库建模的发展历史与意义
-
数据仓库建模的阶段发展
-
简单报表阶段:
-
该阶段系统的主要目标是解决一些日常的工作中业务人员需要的报表,以及生成一些简单的能够帮助领导进行决策所需要的汇总数据。
-
这个阶段的大部分表现形式为数据库和前端报表工具。
-
特点:简单、单一
-
-
数据集市阶段
-
该阶段系统主要是根据某个业务部门的需要,进行一定的数据的采集,整理,按照业务人员的需要,进行多维报表的展现,能够提供对特定业务指导的数据,并且能够提供特定的领导决策数据。
-
特点:多维度、业务场景化、按需定制性
-
-
数据仓库阶段
-
该阶段系统主要是按照一定的数据模型,对整个企业的数据进行采集,整理,并且能够按照各个业务部门的需要,提供跨部门的,完全一致的业务报表数据,能够通过数据仓库生成对对业务具有指导性的数据,同时,为领导决策提供全面的数据支持。
-
特点:全面、灵活、数据模型支撑、体系化
-
-
-
数据建模的意义
-
进行全面的业务梳理,改进业务流程。
-
对公司进行全面梳理
-
了解公司的业务运行架构和运行状态
-
为改进公司架构、提升运营效率、指导生产提供科学支撑。
-
-
建立全方位的数据视角,消灭信息孤岛和数据差异。
-
提供公司数据的全面视角,不再是部门各自为战。
-
清晰化部门间的内在联系,消灭部门之间的信息孤岛。
-
保证公司全局数据的一致性,消灭差异性。
-
-
解决业务的变动和数据仓库的灵活性。
-
将底层技术实现与业务表达展现解耦。
-
需求的变动或新需求,可以最小化的成本达到目标。
-
-
帮助数据仓库系统本身的建设。
-
技术开发人员和业务需求人员较容易达成一致意见。
-
各方人员明确当前数据状况,便于做当前任务评估和长远构建规划。
-
-
3.如何构建数据模型
-
数据模型的层次的一般划分
-
各层次说明
-
业务建模,生成业务模型,主要解决业务层面的分解和程序化。
-
领域建模,生成领域模型,主要是对业务模型进行抽象处理,生成领域概念模型。
-
逻辑建模,生成逻辑模型,主要是将领域模型的概念实体以及实体之间的关系进行数据库层次的逻辑化。
-
物理建模,生成物理模型,主要解决,逻辑模型针对不同关系型数据库的物理化以及性能等一些具体的技术问题。
-
-
构建方法
-
数据建模构建与数据仓库架构设计有紧密关系,要优先吸收数据仓库架构设计即上一节内容。
-
数据仓库的建模方法有很多,每一种建模方法则代表哲学上的一个观点,代表了一种归纳,概括世界的一种方法。
-
目前的构建方法主要有三种:
-
范式建模法
-
维度建模法
-
实体建模法
-
-
-
具体构建方法详解
-
范式建模法
-
范式建模法其实是我们在构建数据模型常用的方法之一。
-
主要解决关系型数据库得数据存储,我们在关系型数据库中的建模方法,大部分采用的是三范式建模法。
-
数据库六大范式说明
-
第1范式-1NF:无重复的列、列不可再拆分。
-
第2范式-2NF:属性完全依赖于主键
-
第3范式-3NF:属性不依赖于其它非主属性,即属于依赖于主键不能出现传递依赖。
-
巴斯-科德范式(BCNF),第四范式(4NF),第五范式(5NF,又称完美范式)
-
-
特别说明
-
范式建模优点
-
从关系型数据库的角度出发,结合了业务系统的数据模型,能够比较方便的实现数据仓库的建模。
</
-
-
-
-