一直觉得数据仓库很遥远,毕竟它对资源的要求很高:经济,统计,计算机等综合能力。
数据仓库是面向决策支持的应用,用于提供一个统一的视角。在过去对于不同的部门来说,对每个客户的认识是片面的,也许客户部门会认为一个总投诉的客户肯定不是一个好客户,但对于财务部门来说该客户为公司创造了利润,是个好客户。对于市场部门来说,他还想交叉销售一些其他服务,但实际上每个员工都只是了解他们的客户的一部门,数据仓库就是要把这些来自不同应用,不同系统的数据整理,组织到一起,"集中"处理,形成一个全企业的single view.
应该看到的是大量数据是数据仓库的基础,没有大量的历史和当前数据,那么数据仓库就是空谈。但数据仓库不是一个data storage,不是简单地把各个业务系统的数据装进去。而是需要很好的重新组织,形成一个良好的data model。任何一个成功的数据仓库项目都要求对行业要有深刻的认识,才可能帮助客户提炼需求,整理业务,规划战略。目前国内具备数据仓库实施能力的非常少,原因就是没有足够的行业顾问咨询能力。通常数据仓库的数据要求完整,一致,相关性,原子化(不可分割),因此进入数据仓库的数据都要进行ETL。
数据仓库不是一个产品,而是一个不断完善的过程。对于没有真正接触过的数据仓库的大多数企业,他们很难理解这个。毕竟这与以往的系统有着太大的区别。简单说来数据仓库的建设是一个螺旋式上升的过程。曾经有位国外的数据仓库专家认为数据仓库的实施应该是阶段性实施,把一个个大目标分割成数个小步骤,迅速地实现一个一个小目标,让客户尽快的体会实施带来的好处,这将大大推动客户的需求和主动性。曾经有人说数据仓库很容易就做成一个报表系统,其实数据仓库的实施有多个阶段,最初实现报表功能,接着是分析功能,再次是预测功能。我觉得数据仓库可以是一个不错的报表系统,尤其是跨部门、跨业务的报表,这是相当具有吸引力的,而且对于初次使用数据仓库的客户这是最为直接的成果。但应该注意到,数据仓库应该不断向前发展,实现DSS的功能,这是数据仓库实施厂商和客户互动的结果,不能指望客户与你站在一个高度。
数据仓库在国内刚起步,实施起来可参考,可借鉴的只有国外的案例。这在一定程度上不利于数据仓库的,但谁在其中推动了市场的发展,谁就赢得了巨大的中国市场。国内可以做数据仓库的只有很少几个行业,主要是生产系统不完备,历史数据有限,但就是这些行业也是一个很大的市场。
数据集市是数据仓库面向主题的商业视图,它包含比数据仓库少得多的数据量。通常数据仓库是面向全企业的,而数据集市则是面向部门级的。数据集市是放在dw中,还是单独拿出来,这要从多个角度考虑:费用,性能,用户量,并发访问量。如果有必要则可以把数据集市单独拿出来,定期从数据仓库中refresh。
再说一下olap的问题,其实对于一些predined的业务问题,可以利用cube解决,首先是速度快,不必从dw/dm中重新组织数据,另外安全,数量众多的ad hoc很容易把dw/dm拖垮。而对于一些临时的动态的查询,可以根据需要从数据集市/数据仓库中执行,但这要求it部门的参与,并且通常有严格的访问控制。