-
从业务角度出发来考虑
ER模型是用实体加关系描述的数据模型描述企业业务架构,在范式理论上符合3NF,是以业务功能为出发构建数据模型,而不是针对某个具体业务流程的,面向功能性模块开发。
维度建模以分析决策的需求为出发点构建模型,一般有较好的大规模复杂查询的响应性能,更直接面向业务,典型的代表是我们比较熟知的星形模型,常用就是事实表关联很多维度表、退化维度形成宽表、根据某主题下的业务过程进行建模,往往是维度建模友好度更高,面向分析式模型开发。
-
从易用性和交付效率方面来考虑
ER模型是规范性好、冗余少、但缺点是需要全面了解企业业务、数据和关系,对于建模人员要求很高,实施周期非常长,人力成本昂贵,对于一个新人来说不可能在短时间上手的,对于运营人员来说,如果他们想要自己进行查数据的话,难度会有些高。
维度建模相对能快速上手,快速交付,运营人员只需要根据我们的数据字典,查询自己所属的业务模块对应的业务过程,一个简单的select语句就可以搞定所有事情,但缺点是冗余会较多,不过在当今时代,存储存储可以忽略不计。
-
从存储和计算层面来考虑
ER模型是完全遵守3NF,当查询数据时,需要进行多表关联查询,这时候随着数据量几百亿几千亿的情况下,会大大的降低执行效率并且算力越来越多,最终导致计算成本都要不断的累加,在存储方法由于规范性好,数据冗余比较小。
维度模型是面向业务过程,由于所有主题数据和业务过程数据都已经提前处理好了,在进行查询数据的时候,相对ER模型来讲,就不需要那么多的关联查询,大大提高了执行效率和减低算力、人力成本,但是数据冗余可能会较多,但是将多个源的数据以文本的形式存储在分布式系统中,存储成本(列式存储)并不需要那么多成本。但是从存储、计算、成本、交付、易用性等多方面考虑取平衡值,还是维度模型更实用。
-
从应用系统出发来考虑
ER模型更适应于OLTP系统,维度模型更适用于OLAP系统。
维度建模和ER模型的对比
最新推荐文章于 2025-04-28 09:24:42 发布