分层设计的好处大致可以概括如下: 清晰数据结构:每一个数据分层都有它的作用域,这样我们在使用表的时候能更方便地定位和理解。 数据血缘追踪:能够快速准确地定位到问题,并清楚它的危害范围。 减少重复开发:规范数据分层,开发一些通用的中间层数据,能够减少极大的重复计算。 把复杂问题简单化:将复杂的任务分解成多个步骤来完成,每一层只处理单一的步骤,比较简单和容易理解。当数据出现问题之后,不用修复所有的数据,只需要从有问题的步骤开始修复 屏蔽原始数据的异常:不必改一次业务就需要重新接入数据。
知道了数据仓库的好处,很多行业和企业也都经历了数据仓库建模,但如果问哪家数据模型建得好,各行业各企业就很难分出个高下了。
但这个问题又很重要,因为有标杆认识到差距才能进步,有伙伴邀笔者去讲讲数据建模,说实话,笔者也不知道怎么讲,因为这个跟企业自己的业务和数据太相关了,所谓的业界的标准建模理论和方法也变得无足轻重。
大神Inmon的《数据仓库》和kimball《数据仓库工具箱》算是两个经典吧,最近出了本很厚的《数据仓库与商业智能宝典》,但也是人家kimball以前经典文章的合集。
关系建模又叫ER建模,是数据仓库之父Inmon推崇的,其从全企业的高度设计一个3NF模型的方法,用实体加关系描述的数据模型描述企业业务架构,在范式理论上符合3NF,其是站在企业角度进行面向主题的抽象,而不是针对某个具体业务流程的,它更多是面向数据的整合和一致性治理,正如Inmon所希望达到的“single version of the truth”。