数极客首页

数据模型——数据仓库的灵魂

随着数据量的爆炸式增长,数据仓库或数据平台曾经
是每家企业或机构不可短少

的工具,而数据模型正是数据仓库的灵魂。本期细致
引见
数据模型的概念、分类和应用,置信
你一定有兴味
~

越来越多的业务,越来越多的信息化系统,让很多公司具有
了海量数据,但是分散的数据、隔离的系统,又构成
了一个个数据孤岛。于是,为了应用
好数据,各大公司纷繁
树立

了数据仓库,或者是最近升级

大数据平台之类的,但是,不同条线不同场景的数据又要怎样
整合到同一个仓库呢?

数据模型就此应运而生,经过
高度笼统
的数据模型,整合各个源系统的数据,最终构成
统一、规范

、易用的数据仓库,进而提供包括数据集市、数据挖掘

、报表展示

、即席查询等上层效劳

数据模型究竟

是干什么的,该怎样
构建呢?笔者接下来为大家做一些入门的概念进步

为什么需求
数据模型?

数据模型能够

促进业务与技术中止

有效沟通,构成
对主要业务定义和术语的统一认识,具有跨部门、中性的特征,能够

表达和涵盖一切
的业务。

无论是操作型数据库,还是数据仓库都需求
数据模型组织数据构成,指导数据表设计。或许Linux的开创

人Torvalds说的一句话——“烂程序员关怀

的是代码,好程序员关怀

的是数据结构

和他们之间的关系”最能够

阐明

数据模型的重要性。只需

数据模型将数据有序的组织和存储起来之后,大数据才干
得到高性能、低本钱
、高效率、高质量的运用

常见数据建模办法

引见

1.?ER模型:

ER模型是数据仓库之父Inmon推崇的、从全企业的高度设计一个3NF模型的办法

,用实体加关系描画

的数据模型描画

企业业务架构,在范式理论上契合
3NF,站在企业角度面向主题的笼统
,而不是针对某个细致

业务流程的实体对象关系笼统
。它更多是面向数据的整合和分歧
性管理
,正如Inmon所希望抵达

的“single version of the truth”。

ER模型最基本

的要素是实体、属性和关系:

  • 实体:具有相同属性的实体具有相同的特征和性质,用实体名及其属性名汇合

    来笼统
    和描写
    同类实体;

  • 关系:数据对象彼此之间的关系;
  • 属性:实体具有的某个特性,普通
    多个属性来描写
    某个实体。

2. 维度模型:

维度模型是数据仓库范畴
另一位巨匠

Ralph Kimball 所倡导的。维度建模以剖析

决策的需求动身
构建模型,构建的数据模型为剖析

需求效劳
,因而

它重点处置

用户怎样
更快速完成剖析

需求,同时还有较好的大范围
复杂查询的响应性能,更直接面向业务。典型的代表是我们比较

熟知的星形模型,以及在一些特殊场景下适用的雪花模型。

维度模型最基本

的两个要素是事实表和维度表:

  • 事实表:普通
    由两部分

    组成,维度和度量,粗浅

    的了解

    为“某人在某个时间什么条件下做了什么事情”的事实记载
    ,它具有
    最大的数据量,是业务流程的中心
    表现

  • 维度表:对事实表的补充阐明

    ,描画

    和恢复

    事实发作
    时的场景,比如

    经过
    用户、商品、地址、时间等维度恢复

    商品订单发作
    时的场景。

3. 案例剖析

第一
来看看以上两种模型的示例:

图1:ER模型例图

数据模型——数据仓库的灵魂

图1所示,每一张矩形图是一个实体,实体之间独立性强,高度笼统
,需求
经过
外键或者关系表中止

关联,整张图靠实体和关系构建起来。与主键直接相关、且不能再延伸的属性才会在一个实体中呈现
,否则会经过
关系实体再延伸一个实体出来,保证满足范式央求

图2:维度模型例图

数据模型——数据仓库的灵魂

图2所示,中间的为一张事实表,主键为包含不同的维度ID的分别

主键。整体看维度建模的设计相似

星型,并且一个中心的事实表对应多个一层的维表,某个维度的描画

仅限一张表,这样的设计,必然会是维表有冗余,一张表描画

多层的维度。

直观上看:图1主表有一个主键多个外键,层次较深;图2为多个分别

主键,关联不同的维度表,一张维度表处置

一切
该维度属性信息。

维度模型将ER模型的层次结构

平铺开来了,整个数据结构

是平面化、单一层次的,数据结构

很简单,但是维度表的冗余也会较多,灵活

性比较

差;优势则是查询简单快速,比如

对产品维度的大类汇总,ER建模需求
关联产品再经过
关系表关联产品大类,而维度模型直接在产品维度表中就有了。

4. 应用场景

ER模型和维度模型应用场景有所不同,ER模型更倾向
于基础

数据仓库的树立

,保证高度笼统
、高度分歧
性,央求

业务稳定;而维度模型更多应用于数据集市,倾向
于直接面对业务,保证查询效率。

ER建模的构建难度决议
了它面临如下应战
:1.?需求
全面了解

企业业务和数据;2.?实施

周期十分

长;3.?对建模人员的才干

央求

也十分

高。因而

关于
业务比较

稳定的传统金融行业,运用
ER建模更多,关于
业务经常变化的电商行业,由于ER建模的难度加上业务复杂和快速变化的叠加效应,则越来越多采取维度建模。

淘宝数据平台变化
的过程正好解释了二者的不同。最初,淘宝业务单一、系统简单,主要是简单的报表系统;后期数据量越来越大,系统越来越多,尝试用ER建模的数据仓库,但是在理论
中发现快速变化的业务之下,构建ER模型的风险和难度都很高,往常

则主要采用基于维度建模的模型办法

了。

数据模型构建办法

维度建模通常需求
选择某个业务过程,然后盘绕
该过程树立
模型:

数据模型——数据仓库的灵魂

ER建模则常常需求
全局思索
,要对上游业务系统的中止

信息调研,以做到对其业务和数据的基本

了解

,要做到主题划分,让模型有明晰
合理的实体关系体系,需求
由考证
反响

机制,以及时修正模型漏洞

,下面是对ER建模的办法

论扼要
引见

数据模型——数据仓库的灵魂

数据模型的价值

一个逻辑数据模型是树立
商业智能的基础

框架,也是树立
一个灵活

的强有力的数据仓库系统的第一步,是为决策层和数据运用
者提供有价值数据剖析

的重要基础

,并且能够

辅佐

数据规范

的制定、数据管理
、元数据管理、数据存储等方面的工作。

附:经典数据模型

下表为最经典的数据模型——Teradata公司基于金融行业高度笼统
出来的FS-LDM模型,它将金融行业高度笼统
为十大主题,如下表:

FSLDM十大主题

数据模型——数据仓库的灵魂

下图是协议主题中金融账户分类相关的实体关系示例:

数据模型——数据仓库的灵魂

注:上图源自Teradata培训文档

FS-LDM最中心
的就是主题划分和成熟的实体关系体系,有兴味
的能够

参考上面的引见
对自己

熟习
的公司数据中止

模型构建,或许会更进一步了解

数据模型的妙处。

发表评论

评论已关闭。

相关文章