• 搭建数据仓库第05篇:逻辑建模–2–范式建模


    目录

    • 前言
    • 使用情景
    • 如何来范式建模
    • 使用的效果
    • 小结

    前言

    上篇讲述了一些抽象的概念模型和逻辑模型设计的东西,接下来就该讲述如何来一步一步的利用Inmon和Kimball数据仓库的理论来建设数据仓库的模型,主要分几块吧,一个是范式建模,然后是维度建模(分几篇总结),最后是因地制宜,按照自己的平台来考虑如何综合的考虑Inmon和Kimball数据仓库的理论的应用。

    Inmon最初的建模理论是通过构建一个符合三范式的集中式的数据中心DW层,此层次的表一般不对BI和应用开放,而是基于DW的数据构建数据集市DM层来对外服务。DM层的数据一般也采用范式建模,不过随后融入了维度建模的思想,把DM层建设成星型模型。但是并未提出使用一致性维度。

    本篇将会讲述范式建模部分。当然3范式的概念也不再赘述,度娘全都有。

    使用情景

    提起数据仓库建模,谁都会知道Inmon的以范式建模为理论基础的集线器式建模,以及Kimball的以维度建模为理论基础的总线式建模,关于这两者这更好的争论就不在这里陈述了。实际上,随着数据仓库的发展,现在两种模型都在原来的基础上再往同一个方向发展,最终大家都比较相似了,甚至出现的复合式的数据仓库理论,将这两种架构整合在了一起,充分利用了两者的优点。

    我个人的看法是,范式建模,有着维护数据的一致性,稳定性,可扩展性,减少冗余,同时也有着规范化但是不利于分析理解数据等的特点,这样子完全可以把范式建模利用在ODS和DW层之间的中间层数据模型,因为这一层数据承载着DW层的数据,但又不会对用户开放,放式建模完美的匹配上了。

    如何来范式建模

    范式建模采用的是3范式,而大多数的线上业务数据库也遵循着3范式的规范,所以范式建模是推荐贴源(ODS)的,甚至简单的业务情况下不需要中间层,直接使用ODS层即可。

    当然对于如下情况我们还是建议通过范式建模来重新组织数据

    1. 业务数据库的表没有遵循3范式
    2. 有复杂的字段(比如json字段)需要解析
    3. 业务维度比较复杂,很难直接关联取出所需的数据,比如业务X营销体系=n

    使用的效果

    通过范式建模,可以

    1. 保证数据的一致性(因为采用完全不冗余的方式,避免了数据的不一致,比如出现 广东 厦门的这样不一致的记录)
    2. 解耦方便维护,也提高了运行效率
    3. 针对复杂字段的解析和复杂业务的分解,有利于DW层的直接使用

    小结

     范式建模不仅在线上业务数据库中展现了强劲的风采,也在数据仓库侧发挥着重要的作用。范式建模的难度在于如何抽象业务,来进行DW建设前夕的准备工作。建好了这一层的数据模型,对于DW层数据的建设,将是大大的提高了效率和大大降低了复杂性。

  • 相关阅读:
    如何使用WPF用户界面框架编译EasyPlayPro-Win版本网页无插件视频播放器?
    【解决方案】TSINGSEE青犀视频智慧校园解决方案
    TSINGSEE青犀视频开发rtp推流如何使用ffmpeg配置rtp打包模式?
    TSINGSEE青犀视频部署流媒体服务器如何通过分布式存储突破设备接入及存储瓶颈?
    mysql--存储引擎
    数据库-基本操作
    初识数据库
    mysql---索引
    数据类型--mysql
    mysql--权限问题
  • 原文地址:https://www.cnblogs.com/benchen/p/6075717.html
Copyright © 2020-2023  润新知