维度模型系列文章:
。。。
更多最新文章请文末扫码关注公众号查看
背景
对数据仓库的构建进行规划是一项及其重要的活动。一开始是面向整个企业建立一个集中式的数据仓库还是为每个业务部门建立独立的数据集市?
建立集中式大型数据仓库的方法需要很长一段时间的开发工作才能体现出其业务价值,这对于快速满足业务需求来说显然是无法容忍的,尤其是对于快速变化的互联网行业来说。而尽管建立独立的部门数据集市见效很快,但是由于这种方法不断增加数据烟筒,后期无法有效的将孤立的,单独的数据烟筒式的解决方案集成到一起。导致后期的数据维护越来越困难,数据质量越来越差,各个部门的数据一致性无法得到保证。
一致化维度
在解决上述背景问题之前我们先了解一下一致性维度的概念。
在对不同的业务过程进行维度建模过程中我们会发现,事实表依赖的维度都是毫无新意的相似。例如,在一家大型零售企业的许多地方都找到了产品的概念,该产品维度的结构在所有的这些地方都是类似的,如进货订单,库存,销售订单等等。因此我们可以面向整个企业对不同的业务过程设计一个公用的商品维度表,保证维度的一致化。
总线架构
为了解决上述这样一个两难的问题,首先需要为整个企业的数据仓库定义一个总体的数据架构。Kimmball在维度建模基础上提出了经典的企业数据仓库总线矩阵概念。矩阵将每个业务过程作为行,将整个问题分割成很多便于实现的小块,可以按照业务过程进行快速迭代的开发,并使用一组共享的一致性维度来确保实现系统的综合集成。最后会形成一个强大的基于一致性维度将一组业务过程紧密联系到一起的数据仓库。
如下图所示零售企业的简单总线架构,公共的一致性维度作为矩阵的行,就像一个标准的接口,不同的或者新增的业务过程可以共用这些接口
总结
基于数据仓库总线架构,我们将面向整个企业的数仓建设划分为了不同的业务过程,我们可以按照这些独立的业务过程划分开发任务,快速迭代的进行开发,满足业务需求,同时一致性维度作为总线,保证了不同业务过程的紧密集成,实现了面向整个企业的一致的数据仓库。
更多技术文章请关注公众号: