5月数据仓库模型设计分享1

Download Report

Transcript 5月数据仓库模型设计分享1

数据仓库模型设计分享1
2015/4/9
孙侨夫
1
分享提纲
1.
2.
3.
4.
5.
6.
7.
常用术语解释
DW的发展历史
模型的作用
模型的演变层次
模型的建设方法
需求分析以及模型设计流程简介
金融行业DW模型
2
(一)常用术语解释
• 模型:个人理解为它是为了模拟、演示、深入分析被研究对象而建造的
任何形式的物品,建造它的目的则是为了简化现实世界、预研未来产品、预
测未知数据。
• 业务模型:也称企业模型,它为企业提供一个框架结构,以确保企业的
应用系统与企业经常改进的业务流程紧密匹配,它是从纯业务角度对企业进
行业务建模。
• 领域概念模型:对业务模型进行抽象处理成一个个业务概念实体
,最常见的就是E-R模型,与具体数据库系统无关,必须转化为逻辑或者物理
数据模型才能在数据库系统中实现。
• 逻辑数据模型:可以理解为领域概念模型中的概念实体以及实体
之间的关系在关系型数据库上的逻辑化。
• 物理模型:面向计算机的,因此与具体的数据库系统、操作系统以
及计算机硬件都相关的,是逻辑数据模型在这个物理平台上的物理化。
3
(一)常用术语解释
• 主题:对相同性质的一组业务概念进行聚类后抽
象。
• 3NF:每个关系模型都可以从第一范式到第五范式进行
无损分解,但是目前常用的还是第三范式,它的特点就是
每个属性都是原子的,每个非主属性都完全依赖于主属性
,而非主键中一部分,每个非主属性不能依赖于其它关系
中的属性。
4
(一)常用术语解释
事实表,
sale_amt是度
量值
Dimention结尾的
都是维表,id结尾
的都是主属性
星型模型,如果维
表后还有下一级,
则为雪花模型
5
(二)DW的发展历史
简单报表
数据集市
数据仓库
• 简单报表阶段:解决一些日常工作中业务方需要的报表以及生成简单
的能帮助领导进行决策所需要的轻度汇总数据,主要表现为数据库与
前端报表工具,类似于现在的临时需求、小需求
• 数据集市阶段:根据某个业务部门需要进行一定的数据采集、整理,
能进行多维报表的展现,能提供特定业务指导与领导决策
• 数据仓库阶段:按照一定数据模型,对全企业的数据进行采集、整理
,能提供跨部门的、完全一致的数据,为领导决策提供全面的数据支
持。
6
(三)模型的作用
• 对企业进行全面的业务梳理,进而改进业务流程,并指导
业务部门的生产流程,提出企业级数据概念定义,并对这
些概念提供详细和正式的结构化定义
• 为企业建立全方位的数据视角,解决了信息孤岛和个部门
间的数据差异
• 快速和准确的业务范围界定,当新的业务需求产生时,可
节约时间与成本,明确业务人员与技术人员的岗位范围界
定,促进数据仓库系统本身的建设
• 很好的隔离了底层技术的实现与上层业务的展现,更大程
度上减少源业务的变动对上层应用的影响,建立了业务人
员与技术人员之间交流与沟通的桥梁
7
(四)模型的演变层次-演变流程
业务模型
概念模型
逻辑模型
物理模型
上图不仅是模型的演变过程,同时也是模型设
计的阶段,一个模型的建设其实就是由业务建模
、概念建模、逻辑建模、物理建模这4个阶段
8
(四)模型的演变层次-业务建模阶段
该阶段主要做如下工作:
1)明确仓库的建设目标以及数据范围
2)到业务部门进行源系统数据调研,深入了解业务
流程并将其模型化
3)提出业务部门的具体业务流程的修改以及改进方
法,比如数据录入的规范等等
4)各业务部门的需求收集,并提炼出指标与属性,
指标需明确具体计算的业务逻辑,为模型建设后
期的统一视图层提供直接依据
9
(四)模型的演变层次-概念建模阶段
该阶段主要做如下工作:
1)抽取关键业务的概念,并将其分组,然后
聚合类似的分组概念
2)对分组概念进行抽象化,并理清各个分组
概念之间的关联,最终形成完成的概念模
型,也可以说是领域概念模型
通过上述工作就可以确定主题域以及主
题域的概念、各个主题主题域下的抽象化
的业务实体
10
(四)模型的演变层次-逻辑建模阶段
该阶段主要工作如下:
1)对上述的业务概念实体化,并理清各个实体之间
的关联关系,在这个过程中面临一个抉择,是继
续以业务驱动为主(业务应用驱动)还是数据驱
动为主,个人的经验是对于数据集市以业务驱动
为主,仓库则以数据驱动为主
2)对这些实体按照数据的属性进行一定的逻辑细化
处理
3)在上述工作之后面临一个抉择,继续以业务驱动
简单的说,可以把逻辑模型理解为领域概念模型
11
在关系型数据库上的实例化
(四)模型的演变层次-物理建模阶段
该阶段的主要工作如下:
1)针对特定的数据库,做相应的模型调整
2)针对的模型的性能、管理的需求,做相应
的模型调整,比如命名标准化、字段冗余
处理、索引调整、分区调整等
3)生成DDL脚本
12
(五)模型的建设方法-3NF
• 范式建模法(Third Normal Form,简称3NF):该方法是
目前数据仓库建模中最常用的方法,也是有数据仓库大师
Inmon极力倡导的建模方法,在技术上可以解决关系型数
据库的数据存储,因为减少了大量的数据冗余;在业务上
可以使模型更加简洁易懂,数据的出口唯一
总结:从以往的项目经验来看,该方法的最大优点就是
从关系型数据库的角度出发,结合了业务系统的数据模型
,能很方便的实现数据仓库建模,同时逻辑清晰,避免了
数据冗余。缺点就是从底层数据向数据集市的数据进行汇
总时需要进行一定的变通,经常需要多表关联才能满足相
应的需求,这也是为什么会在主题层之上还有一个统一视
图层的原因
13
(五)模型的建设方法-维度建模
• 维度建模:按照事实表、维表来构建数据仓库、数据集市
,这个概念是由数据仓库大师kimball提出的,也就是我们
熟悉的星型模型。
总结:由于星型模型的事实表是针对各个维度做了大量的预处理,比
如进行了预先的聚集、排序、分类等,通过这些大量的预处理,因为
后续基于其上的应用在访问速度上面很快,另一个优点维度非常直观
,紧紧围绕着业务模型,因此在建模的时候不需要经过特别的抽象处
理,能快捷完成维度建模。
缺点就是业务发生变化的时候,需要重新进行维度的定义,往往
需要重新进行维度数据的预处理,并导致大量的数据冗余,很难提供
一个完整的描述实际业务中的各个实体之间的复杂业务逻辑的抽象方
法,无法保证数据来源的一致性与完整性,因此不适合DW的底层数
据模型建设。
14
(五)模型的建设方法-实体建模
• 实体建模:优点类似于哲学,按照哲学上的说法,客观世
界可以抽象成由一个个实体以及实体之间的关系组成。在
模型建设中,引入这种方法,就能把所有业务抽象成一个
个实体、实体之间的关系、关系的说明。
• 总结:这种方法只是一种抽象客观世界的方法,因此注定
只能局限在业务建模以及概念建模阶段,而逻辑建模、物
理建模则是范式建模法与维度建模法发挥能量的阶段
15
(六)需求分析以及模型设计流程简介
1)数据需求分析流程收集各业务部门的应用需求,对需求进行初步
1.需求收集与抽取
分析,并将需求按照分析主题进行分类
2.需求提炼
收集分析主题内的所有的需求,提炼需求要素
(抽取数据项-维度、度量),进行归纳总结,
取所有需求的并集。
3.需求整理合并
将业务部门的需求合并后的指标在模板中以跟
踪矩阵的列来展示,维度、数据需求频度、历
史数据的追溯时长、业务定义及规则。
4.数据需求分析
根据业务指标的需求,对照业务系统的数据源
的数据定义、关系,同时提供业务逻辑质量指
标。建立其数据源与业务指标之间的映射关系
和加工
16
(六)需求分析以及模型设计流程简介
2)模型设计流程
深入了解源业务系统,整理出业务模型
源系统调研
整理出业务指标、数据质量指标等
数据需求分析
确定主题域、业务概念实体等
领域概念模型设计
对业务实体按照建模方法逻辑实体化
逻辑模型设计
检验逻辑模型的正确性、健壮性、完整性
数据需求验证
针对具体物理平台对逻辑模型进行物理化
物理模型设计
编写源系统表与物理模型的属性之间的映
射关系文档
模型mapping
17
(六)金融行业通用模型以及实施方法
1)模型介绍
PARTY
An individual or
group of individuals.
ASSET
Things that Parties
have an interest in
and has value
CAMPAIGN
A strategy, plan or
promotional event for
the purpose of acquiring
retaining, or expanding
usage by customers.
LOCATION
The internal
accounting
of the business
A geographical
area, physical or
electronic address.
AGREEMENT
An arrangement between
the customer and
financial
institution or insurance
company for a product.
INTERNAL ORGANIZATION
A unit of business within
the financial institution
or insurance company.
FINANCE
EVENT
Financial or
non-financial event
which may involve
contact with the
customer.
PRODUCT
Any marketable
product or service
including terms and
conditions.
CHANNEL
The vehicle by
which a customer
interacts with the
Financial
institution/insurance
company.
该图没有标注出所有主题之间的关系(NCR F-LDM)
18
(六)金融行业通用模型以及实施方法
IBM金融行业FSDM模型
19
(六)金融行业通用模型以及实施方法
2)NCR以及IBM在具体dw项目中实施方法
前期
准备
项目组
交流研讨
•组建团队 •LDM介绍
•收集资料 •客户化研讨
•确定范围 •讲解模板
分析
源系统
统一
业务定义
客户化
逻辑模型
模型
验证
•介绍源业务系统 •指标定义 •框架设计
•应用验证
•分析整理数据结构
•模型详细设计 •数据验证
•分析样本数据
•完善和回顾 •合理性验证
•规范验证
20
B2B数据仓库模型现状
B2B数据仓库体系架构
统一运维平台
源系统
ODL
DHW
网站内容
网站内容
数据
BDL
ETL
浏览
IDL
ETL
ADL
ETL
会员宽表
灵活报表
产品宽表
数据产品
当事人
CRM
CRM数据
资产
VIEW
元数据管理
…
日志数据
STAGE
浏览行为
多维分析
模型
…
…
日志
文件
…
…
服务
敏捷数据
区
分析应用
ODL数据建模方法及原则
• ODL建模方法
− 采用与源系统结构一致的数据模型
− 增量抽取数据-hash、erosa、源系统时间戳字段、
其他接口等等
BDL数据建模方法及原则
• BDL建模方法
− 偏源结构建模
− 存储历史数据,记录所有历史数据变迁
− 缓慢变化维(SCD)
− 快照
− 数据清洗
− 数据解析
− 轻度数据整合
IDL数据建模方法及原则
• BDL建模方法
− 多维模型技术和宽表结合
− 重要宽表数据域
− 会员
− Offer /产品
− 交易
− 浏览
− 帐户
− 反馈
− 。。。。
ADL数据建模方法及原则
• 以实际业务需求为驱动
− 多维分析报表
− 数据产品引用(推荐引擎,WAI)
− 数据集市应用
− ADHOC查询
− 临时取数
− 运营工具
− 高层KPI
THANKS!
28