数据仓库和数据挖掘是两个比较大的概念,在国外已经非常成熟,在国内随着前几年企业数据的累计、ERP的成熟,数据仓库和数据挖掘开始起步。

    如何建立数据仓库和数据挖掘是个不断值得探讨和优化的问题,不仅仅在技术上,在商业应用上也是如此。随着新的技术和观念的不断引入,传统的数据仓库技术方法有了很大的改变,
基于数据仓库的应用也有了新的发展。每个企业的数据仓库根据企业特点不同,可以采用非常灵活的选型方法进行选型设计、实施。本文根据一些比较新的技术特点,谈谈数据仓库和数据挖掘的架构。

    从成熟的数据仓库架构入手来看,建立EDW(Enterprise Data Warehouse)是个比较好的选择。EDW是企业数据仓库,对整个企业数据有一个完整的不冗余的保留关键历史变化信息的唯一视图。基于EDW可以建立不同主题的数据集市Data Mart,数据集市不同的企业有不同的要求,基本上可以分用户主题,业务流主题,产品主题等等,在EDW的基础上可以有非常多的主题应用,如何建立EDW是个比较重要的问题。

    建立EDW的关键是要把握数据仓库的本质,提供关键历史变化信息,可以真实还原企业数据的关键历史视图。也就是现在提到比较多的DSS层,在DSS层之下有ODS层做当前数据视图,有缓冲层做增量数据视图,利用增量数据视图和DSS层数据视图结合起来,利用缓慢变化维或者代理键技术,从理论上就可以实现DSS层的任何数据历史变化。但是在实际实施DSS层时候,一个能提供高性能计算的数据库和选择一个切合业务发展的增量时间频率是两个关键点。

    缓慢变化维从具体实施过程的可以维护性出发,比较统一通用的方法可以采用增加快照开始时间和快照结束时间,结合业务系统的主键,就可以完成DSS层真实企业数据关键历史快照视图。在实施过程中关键要把握增量数据缓冲层中三种集合数据,纯粹新增的数据A,关键历史信息发生变化的数据B,关键历史信息没有发生变化的数据C。对集合A,B都需要增加快照记录,对集合C则采用更新快照记录。这个过程的重点是高性能计算和商业需求。

    在DSS层之上,根据EDW方案种数据库不同,可以采用建立数据集市。数据集市基本上可以采用星型模型建立,便于多维分析。

    成熟EDW是用来支持商业应用的,EDW之上的一个比较重要的应用是数据挖掘,从EDW海量数据中寻找有用的信息,支持企业的发展。这里不具体到数据挖掘厂商,从一般性的概念上理解更加重要,数据挖掘需要EDW能够基于DSS层的企业数据关键历史视图,重新组合成商业上决策因素集合。结合数据挖掘的一些成熟的算法,把EDW里面的海量数据处理成为信息决策源。在实施数据挖掘过程中,需要注意的是一定要根据企业本身的业务来制定模型,任何脱离企业业务的理论模型在具体实施过程中失败的可能性很大。
谈完了数据仓库和数据挖掘的本质,那么目前可以值得选择的一些厂商和技术是什么呢?

  随着商业智能,数据仓库的成熟,进入这个领域的厂商越来越多,评测也是各有千秋。在EDW方面,根据数据仓库的容量,计算复杂度,实时性要求,在低端可以考虑微软的SQL Sserver ,目前SQL Sserver 2005在商业智能上有显著增强。在中端可以考虑Oracle 的DW 解决方案,Sybase IQ在数据量不是非常大的时候性能还是不错的。如果要做超大型的DW,那么需要考虑一些高端专业的DW解决方案,目前TERADATA和IBM的Share Nothing架构的高端数据仓库在海量数据处理,复杂商业计算,实时数据处理方面扩展性比较好,但是投入非常大。

  数据仓库和数据挖掘,从几年前比较抽象的层次逐渐清晰起来,在企业决策和业务流程优化中发挥的作用越来越大,一个好的数据仓库和数据挖掘方案是一个开始,更重要的是推动商业思想上从传统的拍脑袋到精细化营销和依靠数据做决策方面来。商业和技术是两个互相推进的因素,商业是驱动,但是好的技术也可以推动商业的发展,适合的技术用在需要的商业驱动上才能发挥好作用。