1、弄清建模词汇的概念
1)DB和DW的区别和联系
DB是面向事务的设计,数据仓库是面向主题设计的。DB一般存储在线交易数据,DW存储的一般是历史数据。DB设计是尽量避免冗余,一般采用符合范式的规则来设计,DW在设计是有意引入冗余,采用反范式的方式来设计。DB是为捕获数据而设计,DW是为分析数据而设计,它的两个基本的元素是维表和事实表。维是看问题的角度.
2)维度表、事实表与OLAP CLUB的区别和联系
按照维度和事实的模型结构创建逻辑存储表数据,OLAP基于这些事实表和维度表的数据通过自身的查询语句(例如微软的mdx)取出分析主题需要的数据,再存储到自身创建的CUBE中,然后OLAP工具所有的呈现都是直接从CUBE中取数据。
3)数据仓库和数据集市
大家共识上认为data mart是data warehouse的子集。两者之间的具体差异还是在应用和数据量上,但是两者采用不同的方法论进行建模则会对数据造成不同的影响。
从方法论上,Inmon 和 Kimball有不同的观点:
Bill Inmon 将数据仓库定义为“一个面向主题的、集成的、随时间变化的、非易变的用于支持管理的决策过程的数据集合”;他的主题思路是建立以建立data warehouse 为源头,满足不同主题的需要。见图。

Kimball则认为数据仓库仅仅是构成它的数据集市的联合,他认为“可以通过一系列维数相同的数据集市递增地构建数据仓库”。每个数据集市将联合多个数据源来满足特定的业务需求。通过使用“一致的”维,能够共同看到不同数据集市中的信息,这表示它们拥有公共定义的元素。见图。
以上两种方法论的选择,依据商业的驱动。如果该组织正忍受糟糕的数据管理和不一致的数据,或者希望为今后打下良好的基础,则采用 Inmon 的方法比较适合。 如果该组织迫切需要给用户提供信息,那么 Kimball 的方法比较是适合。4)data warehouse和ODS/storage area
ODS/storage area为data warehouse提供数据,两者之间最重要的本质区别是:
- ODS只存储明细数据
- ODS中存储的数据一般不超过一个月
- ODS支持事务更新操作
5)DW与DM、OLAP的区别和联系
DW给你夯实基础,是粮草;OLAP给你后见之明 (hindsight);统计分析给你先机 (foresight);DM给你洞察力 (insight)。
2、需要避免的误区
1)避免只关注技术和数据,而不关注业务要求和目标;
2)要满足最小用户需求,不要一味追求高目标的管理梦想;
3)不要全部精力投入数据结构的规范化处理;
4)避免注意力只集中在后台的作业性能和开发上,而不放在前台的性能和使用;
5)展示环节尽可能简单适用;
6)不要孤立的维度建模,而更多的考虑共享的维度建模;
7)满足需求的变更和需求的扩展;
8)要以用户的使用为导向。
