大数据平台建设后,数据经过初步的清洗、简单加工进入到贴源层,面对这些数据,如何在贴源层之上的基础层构建主题模型是需要思考的一个课题。清晰的数据结构可以在使用表的时候能更方便地定位和理解,规范数据分层,开发一些通用的中间层数据,比如汇总层数据,满足不同业务取数要求,能够减少极大的重复计算;通过针对原始数据的一些预处理(缺失值、噪声等处理)屏蔽原始数据的异常。
针对这块,可以说我还是个小白,故自己查阅了一些网上资料并做了总结,记录在这里。
- 通用金融行业主题域模型设计原则:
1、是对商业模型的抽象;
2、以商业模式中关注的对象为划分依据;
3、内容完整且相对稳定;
4、每个主题域下一般都有一个与之同名的主实体,围绕该主实体展开各种关系实体及父子实体。
- NCR金融数据模型
NCR FS-LDM数据模型可以说是金融行业事实上的工业标准。
- 支付宝
支付宝基于IBM 的FSDM的九大数据概念进行客户化,如下图所示:
- 结语
- 结语
数据仓库的分层可以算是数据仓库架构的子话题。从目前来看,还没有非常统一的分层方法,其中,Inmon和Kimball是最具代表性的两种分层方法。
在Inmon提出的CIF(Corporate Information Factory,企业信息工厂)中,他将ODS(Operational Data Store,操作型存储)、EDW(Enterprise Data Warehouse,企业数据仓库)、DM(DataMart,数据集市)区别开来,共分三层。相对于此,Kimball的总线架构强调多个数据集市合成了数据仓库,只是他们基于统一的维度而已。因此,总线架构的分层中,从数据源接口就直接到了DM了。
根据这两种思路,又可以衍生一些不同的方法。例如IBM提出的CDW的概念,叫做企业数据仓库层,这一层介于EDW和DM之间,起过渡作用(因为EDW和DM两层的建模理念是不同的)。
像IBM、NCR这样的厂商,他们大多走的Inmon路线。经过多年的经验总结,都已有自己的企业概念模型,这也非常适合走分层明确、具有中心数据仓库的路线。在Inmon的体系中,EDW是按照第三范式建模的。之所以要强调这种思想,是因为第三范式能够让数据模型变得简洁、高度一致性。对数据仓库的一个目的——统一口径(Single Version of Truth),是非常有帮助的。
另一方面,Kimball的维度建模理论,即按照事实表、维表来构建数据仓库、数据集市,也已经在很多实践中被证明是非常有效的方法。可这种建模方法和第三范式多少有点冲突。例如在维表中,不同粒度的数据放在一种表里面,即存在大量的数据冗余。但这种方法对数据仓库四大特点之一的“面向主题”,又是有利的。
如此看来,大家提到的方法似乎都是从不同角度去看,没有绝对的对错,只是在为维护自己的观点而争论。具体采用何种分层,还得看项目投资大小、数据量多少以及业务逻辑复杂程度。