搞懂数据仓库 质疑供应商报表
考虑到项目招标时,供应商描述过“数据仓库”、“元数据”等等,想搞清楚到底什么是“数据仓库”。去图书城,专门到数据仓库、OLAP、多维建模书籍区域去,挨个拿过来翻。翻译这些书籍的人往往本身对这些东西不懂,误导了一批读者,十几本书里,我只对2本的描述产生强烈的共鸣。
①《维度建模完全指南》(该书的作者自称是“数据仓库”的鼻祖)开篇对“数据仓库项目经理”的本质做了描述:一个数据的收集者,一个数据的整理者,一个统计分析数据的发布者。与我对自己在公司里的定位完全一致!
作者认为,数据仓库的本质就是收集尽可能多的信息,用作公司的决策支持(中国人总认为做决策的人一定是领导,所以把“决策支持”等同于“领导查询”。其实在美国,“决策”是分散到普通员工的,通常是普通的业务人员,而且任何一项普通的业务决定也叫“决策”,并不是“战略决策”才叫决策。所以“决策支持”绝对不是什么高深的东西)。
经过清理的数据往往以一种特定的格式(所谓星型结构)存放在数据库中,整本书就是与读者探讨(注意是“探讨”,而不是“传授”,所有美国的这类权威书籍里都极力强调不要按书里的方法去实践,这就是美国鼓励自主创新和中国服从权威的不同文化的典型体现)这方面的经验。
②《建立多维信息系统》,以一步步深入的方式,解释了维度的概念。所谓“维度”,就是前边我理解的“因素字段”,影响谁呢?表结构中最后那个数值型的字段。例如证券交易量字段,交易量字段就是一个“事实”;营业部、委托方式、交易所、币种、证券类别、客户规模、客户年龄段、交易日期,都是因素字段,就是维度!数数有多少?8个,就是8维。
证券公司就靠着客户做证券交易收取手续费,所以业务部门对交易量的统计报表需求很强烈。2年前,由每个营业部发Email报报表,专门一个人汇总。现在有了集中的业务数据,业务部门就开始使用供应商提供的业务统计报表。例如:以营业部为行,证券类别为列,出一张报表;以月为单位出,以周为单位出;算公司交易量对证券交易所交易量的比例等等。
算了一下,不下30多张,还经常要变动。一觉得数据不正常,就找我,让我找原因。我就到数据库里去,这个字段加上那个字段,再按某个字段某段时间来汇总,怎么算出来跟供应商提供的报表数值不对呢?于是打电话给供应商,让他们找问题。第二天给我一个升级补丁。报表好了,反反复复,折腾人。