最具影响力的数字化技术在线社区

168大数据

 找回密码
 立即注册

QQ登录

只需一步,快速开始

1 2 3 4 5
开启左侧

Data VauIt建模理论及应用场景

[复制链接]
发表于 2019-5-21 15:19:30 | 显示全部楼层 |阅读模式

马上注册,结交更多数据大咖,获取更多知识干货,轻松玩转大数据

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 168主编 于 2019-5-21 15:24 编辑

DataVault模型
  • DataVault是在ER模型的基础上衍生而来的,模型设计的初衷是有效的组织基础数据层,使之易扩展、灵活的应对业务变化,同时强调历史性、可追溯性和原子性,不要求对数据进行过度的一致性处理;并非针对分析场景所设计。
  • Data Vault模型是一种中心辐射式模型,其设计重点围绕着业务键的集成模式。这些业务键是存储在多个系统中的、针对各种信息的键,用于定位和唯一标识记录或数据。
包含3种基本结构:
  • 中心表——Hub
    唯一业务键的列表,唯一标识企业实际业务,企业的业务主体集合。
  • 链接表——Link
    表示中心表之间的关系,通过链接表串联整个企业的业务关联关系。
  • 卫星表——Satellite
    历史的描述性数据,数仓中数据的真正载体。

中心表——Hub只包含业务主键信息以及数据装载的描述,不包含非键值以外的业务数据属性本身;比如中心表商品,在Data Vault下的设计:







中心表一般都会在创建一个主键Hub_商品ID,与业务商品ID无关,一般称为代理键或者附加键。
PS:  大家会发现这张中心表中没有商品属性信息;商品属性以及描述信息,都属于卫星表的范畴。

链接表——Link链接表用来描述中心表间的关联关系,亦不包含业务键值以及数据装载描述以外的任何非键值数据,比如:学生授课链接表,其设计:







与授课相关的课时数等描述信息,都属于卫星表的范畴。
卫星表——Satellite数仓中数据的主要载体,包括对链接表、中心表的数据描述、数值度量等信息,中心表商品、订单明细的卫星表分别如下:






案例:对上一篇已经讨论到的学生选课ER模型,进行Data Vault模型重构,原模型:




原则:
  • 梳理所有主要实体。
  • 将有入边的实体定义为中心表
  • 将没有入边且只有一个出边的表定义为中心表
  • 源系统没有入边且有两条或以上出边的表定义为链接表
  • 将外键关系定义为链接表
按Data Vault改造后的大概模型
  • hub——中心表
  • link——链接表
  • sat——卫星表



  • Data Vault模型更容易设计,ETL过程中更易配置化实现。
  • Hub想象成人体的骨架,那么Link就是连接骨架的韧带组织,而satelite就是骨架上的血肉。
  • Data Vault是对ER模型更近一步的规范化,由于对数据的拆解和更偏向于基础数据组织,在处理分析类场景时相对复杂,适合数仓底层构建,目前实际应用场景较少。
作者:尼小摩
链接:https://www.jianshu.com/p/dd8d764d703d



思考:由于卫星表增多是否会引起数据关联查询的性能问题?
楼主热帖
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

关于我们|小黑屋|Archiver|168大数据 ( 京ICP备14035423号|申请友情链接

GMT+8, 2024-3-29 14:16

Powered by BI168大数据社区

© 2012-2014 168大数据

快速回复 返回顶部 返回列表