数据仓库和数据挖掘是两个比较大的概念在国外已经非常成熟在国内随着前几年企业数据的累计ERP的成熟数据仓库和数据挖掘开始起步
如何建立数据仓库和数据挖掘是个不断值得探讨和优化的问题不仅仅在技术上在商业应用上也是如此随着新的技术和观念的不断引入传统的数据仓库技术方法有了很大的改变基于数据仓库的应用也有了新的发展每个企业的数据仓库根据企业特点不同可以采用非常灵活的选型方法进行选型设计实施本文根据一些比较新的技术特点谈谈数据仓库和数据挖掘的架构
从成熟的数据仓库架构入手来看建立EDW(Enterprise Data Warehouse)是个比较好的选择EDW是企业数据仓库对整个企业数据有一个完整的不冗余的保留关键历史变化信息的唯一视图基于EDW可以建立不同主题的数据集市Data Mart数据集市不同的企业有不同的要求基本上可以分用户主题业务流主题产品主题等等在EDW的基础上可以有非常多的主题应用如何建立EDW是个比较重要的问题
建立EDW的关键是要把握数据仓库的本质提供关键历史变化信息可以真实还原企业数据的关键历史视图也就是现在提到比较多的DSS层在DSS层之下有ODS层做当前数据视图有缓沖层做增量数据视图利用增量数据视图和DSS层数据视图结合起来利用缓慢变化维或者代理键技术从理论上就可以实现DSS层的任何数据历史变化但是在实际实施DSS层时候一个能提供高性能计算的数据库和选择一个切合业务发展的增量时间频率是两个关键点
缓慢变化维从具体实施过程的可以维护性出发比较统一通用的方法可以采用增加快照开始时间和快照结束时间结合业务系统的主键就可以完成DSS层真实企业数据关键历史快照视图在实施过程中关键要把握增量数据缓沖层中三种集合数据纯粹新增的数据A关键历史信息发生变化的数据B关键历史信息没有发生变化的数据C对集合AB都需要增加快照记录对集合C则采用更新快照记录这个过程的重点是高性能计算和商业需求
在DSS层之上根据EDW方案种数据库不同可以采用建立数据集市数据集市基本上可以采用星型模型建立便于多维分析
成熟EDW是用来支持商业应用的EDW之上的一个比较重要的应用是数据挖掘从EDW海量数据中寻找有用的信息支持企业的发展这里不具体到数据挖掘厂商从一般性的概念上理解更加重要数据挖掘需要EDW能够基于DSS层的企业数据关键历史视图重新组合成商业上决策因素集合结合数据挖掘的一些成熟的算法把EDW里面的海量数据处理成为信息决策源在实施数据挖掘过程中需要注意的是一定要根据企业本身的业务来制定模型任何脱离企业业务的理论模型在具体实施过程中失败的可能性很大
谈完了数据仓库和数据挖掘的本质那么目前可以值得选择的一些厂商和技术是什么呢?
随着商业智能数据仓库的成熟进入这个领域的厂商越来越多评测也是各有千秋在EDW方面根据数据仓库的容量计算复杂度实时性要求在低端可以考虑微软的SQL Sserver 目前SQL Sserver 在商业智能上有显着增强在中端可以考虑Oracle 的DW 解决方案Sybase IQ在数据量不是非常大的时候性能还是不错的如果要做超大型的DW那么需要考虑一些高端专业的DW解决方案目前TERADATA和IBM的Share Nothing架构的高端数据仓库在海量数据处理复杂商业计算实时数据处理方面扩展性比较好但是投入非常大
数据仓库和数据挖掘从几年前比较抽象的层次逐渐清晰起来在企业决策和业务流程优化中发挥的作用越来越大一个好的数据仓库和数据挖掘方案是一个开始更重要的是推动商业思想上从传统的拍脑袋到精细化营销和依靠数据做决策方面来商业和技术是两个互相推进的因素商业是驱动但是好的技术也可以推动商业的发展适合的技术用在需要的商业驱动上才能发挥好作用