Ralph Kimball的dimensional modeling 为基础的结构和Inmon的以ER model为基础的结构是当前数据仓库的两种主流理论. Ralph经常在他的著作中提到一些对数据仓库的misunderstanding,很明显都是针对Inmon的理论,而Inmon的支持者们也经常指责dimension模型的不足.事实上,两种理论对数据仓库的定义和理解就不同,这也是双方结构差异和互相指责的根源所在.
从功能上看,KIMBALL的数据仓库理论强调面向整个企业级别的业务流程主题,例如定单系统,支付系统. 每个系统构成独自的数据集市,由事实表(由度量类属性如价格和维表外键组成)和维表(各种维度如时间,各自按照不同级别组成)构成.这些数据来源于DBMS,经过ETL(EXTRACT,CLEAN,CONFORM,DELIVER)过程,存放在数据集市中.,然后供使用者查询. 而INMON的结构更倾向着眼于AD HOC查询和数据挖掘等更广泛的应用. 他将所有的数据经过ETL过程后,进行3NF的NORMALIZE,作成一个企业级的数据仓库(EDW),使用者可以直接对这个数据仓库进行查询,也可以查询从这个数据仓库得到的数据集市. 这个结构能更灵活的应对各种BUSINESS QUESTION.
由于这种理念的不同,自然导致双方所设计的结构差异.举例来说,KIMBALL提到过的对数据集市概念的MISUNDERSTANDING,见下表
CORRECT DEFINITION MISGUIDED DEFINITION
Process Based Department Based
Atomic Data Foundation Aggregated Data Only
Data Measurement Based User Question Based
他认为"Our data marts (call them dimensional data marts) look the same to all observers and would be implemented identically by anyone with access to the underlying measurement events. Furthermore, since dimensional data marts are always based on the most atomic data, these data marts are impervious to changes in application focus; by definition, they contain all the detail that is possible from the original sources. Data marts constructed according to the misguided definitions will be unable to handle changing business requirements because the details have been presummarized."
事实上他所说的这种MISGUIDED DIFINITION往往都是来自于EDW的设计,他们的数据集市只是针对AD HOC查询所产生的,和KIMBALL的有本质不同.同时由于有EDW的存在,在这种数据集市中"Aggregated Data Only
"和"Department Based"也就无所谓不足了,因为根据用户的需要,可以随时从EDW中生成新的数据集市.
简单来说,KIMBALL的体系由于不需要通过JOIN等动作,即时生成大量的表,而大大的提高了响应速度,但有个重要前提,就是这些查询是在预先已知范围内的,否则他的系统将无能为力. 而ER MODEL为基础的EDW,则由于ER固有的特性,首先提供了数据的一致性(CONSISTENCY), 以及减少了冗余(REDUNDANCY). 由于它是整个企业级别的数据仓库,并且可以直接供终端用户查询,因此对与数据挖掘等有很大的价值.此外,它能针对各种AD HOC查询,提供更好的灵活性,缺点是由于需要即时的JOIN各个表,因此会耗费更多的时间.
从个人角度,我认为更强大和灵活的功能比响应速度更重要,因此倾向于INMON的模型.
参考资料:
Kimball, R., & Caserta, J. (2004) "Chapter One: Surrounding the Requirements" in
The Data Warehouse ETL Toolkit: Practical Techniques for Extracting, Cleaning, Conforming, and Delivering Data., (pp. 1-28), Wiley.
Kimball, R. and R. Margy (2002)
The Data Warehouse Toolkit : The Complete Guide to Dimensional Modelling (Second edition) John Wiley & Sons.
Inmon, W.H. (2000)
Definition of a Data Warehouse White paper, www.billinmon.com
Armstrong, R. "Rebuttal to Ralph" NCR White Paper, 1997
(未完待续)