【数据建模】3NF与Data Vault 2.0的数据建模——简单比较
视频号
微信公众号
知识星球
Data Vault从其第一版“1.0”作为一种数据建模规范发展到了更精细的“2.0”版本。Data Vault 2.0超越了建模规范,还涵盖了企业数据体系结构和创建和维护体系结构的标准方法(人员、流程和平台)。
作为官方管理机构,Data Vault Alliance提供了对其内容的全面了解:
Data Vault 2.0是一个完整的商业智能系统,它建立在建模规范、体系结构模式和敏捷交付方法论的基础支柱上。该方法还谈到了实施规则、最佳实践和标准。
总体目标是创建和扩展一个可审计、可扩展、可跟踪、一致的企业数据仓库,该仓库足够灵活,可以支持频繁的业务更改,而不会导致重大的级联变化。
本文主要关注Data Vault 2.0作为一种数据建模技术,并提供了与传统关系(3NF)建模的简单比较。
比较
首先,所有建模技术都以实体及其关系的形式表示真实世界。
*不同之处在于,有关这些实体及其关系的数据的组织、拆分和存储方式,以实现一致性、准确性、速度、可扩展性等实际目标。他们能够根据这些质量的优先级做出组织决策。
让我们并排来看一下DV2和3NF建模,以了解这一点。
3NF是将业务的ER图表示(实体、属性、关系)本质上转换为关系对象(表或视图)的基础规范。
实体构成了整个模型的大部分关系对象,每个实体的每个实例都有明确的标识符(业务键)。如果这些实体是一对一或一对多类型的,则这些实体之间的相互关系作为外键(参与实体的标识符)嵌入其中。多对多关系得到各自的表,参与实体各自贡献外键。通过这种方式,关系信息与企业实体信息位于同一位置,使模型成为一个非常紧密的家族。
另一方面,DV2建模技术采用了实体和关系概念的不同应用风格,始终将实体及其关系表示为单独的关系对象*每个孩子都有自己的房间!
在其术语中,实体成为HUB,每个实例的业务密钥都有明确的标识,存储在各自的表/视图中。
它们的关系成为默认情况下被视为多对多的链接,因此存储为另一组表/视图。他们的数据没有嵌入HUB中。
卫星
实体或关系的属性由卫星捕获,卫星只负责保存这些描述性数据。HUB或LINK可能有一个或多个卫星,这取决于在其使用寿命内需要如何维护这些描述性数据。
由于这种明确的组织,HUB和LINK只负责存储有关其自身的身份和可追溯性信息,而将详细信息留给其卫星管理。
HUB和LINK仍然通过散列键连接,但在各自捕获的内容上有明确的职责分工(如上所述),因此可以独立发展。
相反,在3NF方法中,信息分布在关系对象之间,这些关系对象彼此紧密耦合,并且具有非常一致的结构(应用了约束)。总体而言,它有助于实现保持数据一致性、准确性和最新性的主要目标。由于这个原因,3NF非常适合捕获事务性信息,在任何给定时间只需要维护最新的数据副本。
然而,不利的一面是,面对业务方式的频繁变化,3NF也会使整个系统变得脆弱。
另一方面,DV2稍微放松了关系对象之间的耦合,从而通过将它们定位到需要更新的特定区域(HUB、LINK或SATELLITE)来更容易地吸收更改。此外,扩展这样的分布式模型,以包括较新的实体或改变实体之间的现有关系,成为添加(而不是中断)的任务,其中较新的HUB/LINKs/SATELLITE被构造为对这种变化进行建模,然后连接到现有网络。
DV2的设计目标优先考虑灵活性、可扩展性、可追溯性和一致性,通过这样组织数据可以很好地满足这些要求。
此外,DV2是专门为存储大量历史信息(而不仅仅是当前信息)的仓库建模而构建的,这些信息能够在下游进行挖掘和分析。
那么,外卖是什么呢?
从比较来看,3NF似乎是一种非常古老的技术,在今天几乎没有什么相关性,但这将是一种谬论,因为它仍然是一种基本的数据捕获方式,可以在最细粒度的层面上实现清晰的同一性和一致性。DV2对象本身在单个级别上进行规范化,以满足这些需求。
Additional Resources
Digging into Data Governance and Data Modeling
Testing and validation are where data governance begins to play a massively important role. If you’ve documented where…
SqlDBM: No Code Data Modeling for Cloud Data Warehouses with Anna Abramova
Hashmap On Tap, Ep. 79
Why You Should Use Snowflake’s External Tables
A practical example showcasing the value of Snowflake’s external tables for building a Data Lake
让我们一起做数据和云!
在Hashmap,一家NTT数据公司,我们与客户合作,共同打造更好的产品。我们正与各行各业的公司合作,以解决最严峻的数据挑战——我们可以帮助您缩短实现价值的时间!
作为我们服务的一部分,我们提供一系列启用研讨会和评估服务、数据现代化和迁移服务,以及设计和构建新数据产品的咨询服务包。我们很乐意满足您的具体要求。在这里与我们联系。
- 39 次浏览