解析数据仓库在大型超市中的应用

时间:2011-08-31

  现代社会的发展在某种意义上取决于信息的获取与处理技术。信息的价值在于用户通过使用这些信息从中得到收益。信息工作者所面对的问题不是简单地处理数据,而是如何使用数据,即从数据中挖掘出有用的信息。就超市而言,各种商品的销售情况实际上蕴藏着某种规律性。如果能够把它挖掘出来,无疑对今后的工作有很大的帮助。

  1  数据仓库的概念和特征

  数据仓库数据仓库是决策支持系统(dss)和联机分析应用数据源的结构化数据环境。数据仓库研究和解决从数据库中获取信息的问题。数据仓库的特征在于面向主题、集成性、稳定性和时变性。数据的存储与管理是整个数据仓库系统的。数据仓库的真正关键是数据的存储和管理。数据仓库的组织管理方式决定了它有别于传统数据库,同时也决定了其对外部数据的表现形式。要决定采用什么产品和技术来建立数据仓库的,则需要从数据仓库的技术特点着手分析。针对现有各业务系统的数据,进行抽取、清理,并有效集成,按照主题进行组织。数据仓库按照数据的覆盖范围可以分为企业级数据仓库和部门级数据仓库。其目标是通过收集、过滤和存储数据,寻找数据的趋势,帮助企业制定有关经营方面的决策。

  这里给数据仓库一个比较完整的定义:数据仓库是面向主题的、一致的、不同时间的、稳定的数据集合,用于支持经营管理中的决策支持过程。数据仓库有以下四个特征。

  (1)数据仓库是面向主题的。传统的数据仓库是面向应用设计的,而主题是在一个较高层次将数据归类的标准。例如,在一个大型超市里,如果只记录原始的销售数据,则使用原始的数据库技术即可。但是如果希望对这些数据加以分析,找出哪些年龄段的人喜欢某类产品,什么时间段某类产品销量以及产品与销量的关系,则需要借助于数据仓库技术。

  (2)数据仓库是一致的数据的集合。应用程序常常以不同的格式使用类似的数据。例如:超级市场可能表示为“超市”、“超级市场”、“supper market”等。这些数据的值必须统一才能更好地使用。

  (3)存储在OLTP系统中的数据可以正确地表示任何时间的任何值。On-Line Transaction Processing联机事务处理系统(OLTP)也称为面向交易的处理系统,其基本特征是顾客的原始数据可以立即传送到计算中心进行处理,并在很短的时间内给出处理结果。这样做的优点是可以即时地处理输入的数据,及时地回答。也称为实时系统(Real time System)。衡量联机事务处理系统的一个重要性能指标是系统性能,具体体现为实时响应时间(Response Time),即用户在终端上送入数据之后,到计算机对这个请求给出答复所需要的时间。它一般表示过了一段比较长的时间的数据,通常是5~10年。这些数据一般是不改变的。而数据库通常只把有用的数据保存30~90天。

  (4)数据仓库是比较稳定的。当数据移动到数据仓库后,就不再改变,除非存储的数据不正确。一般情况下,在数据仓库中发生的操作是建立数据仓库时的加载数据和查询数据。

  2  建立数据仓库的过程

  建立数据仓库的过程实际上是从传统的以数据库为中心的操作型系统结构转移到以数据仓库为中心的体系结构的过程。具体实现过程如下。

  (1)建立企业模型,并且选取主题。企业模型是从企业用户的角度对企业所需数据的内容以及数据间关系的抽象。企业模型对大型企业是有重要意义的。有了企业模型,可以比较完整地了解企业中各方面、各阶层人员对数据的需要程度。

  企业模型建立后,可以根据企业模型和用户需求确定系统中存在的主题。大型数据仓库涉及的系统众多、功能复杂,因此往往采取螺旋式的开发方式。将庞大的目标划分成若干个实施阶段,实际上是将一个复杂、困难的问题转化为多个比较简单明确的小问题,然后分而治之。主题选取的原则包括:优先实施企业管理者关心的问题,优先选择在短时间内能见效的决策,优先实施投资风险低的决策。

  (2)选择数据颗粒度。对于不同的数据量,将选择不同的数据颗粒度策略。小数据量可以采用单一的数据粒度,即直接存储细节数据并定期在细节数据基础上进行数据综合。而大数据量需要采用双重粒度,数据仓库只保留在细节数据保留周期之内的数据,对于该周期之后的信息只保留其综合信息。就超市而言,可以保存近一个月中每天的营业额数据。对于更早时间段内的营业额数据,可以只保存周营业额之和,或者月营业额之和。典型的粒度定义包括:顾客的购物券上扫描设备拾取的分列项内容,仓库中每种产品库存水平的日快照,每个银行帐号的月快照。

  (3)表的分割与划分。通常按照时间进行分割。细节数据时间短,而综合数据的时间稍长。分割表之后要为各个表增加合适的时间字段,同时去掉分析过程中不会用到的字段。在实际应用中,字段被访问的频率有差别。将所有的字段放在一起会影响访问的效率。所以有必要对表中的内容进行合理的划分。

  (4)数据抽取和数据加载。将数据资源从外部抽取到数据仓库中,在此过程中应该依据元数据中定义的标准数据格式处理数据。在数据被抽取后,对准备进行加载的数据进行清理,然后就可以把它们加载到数据仓库中。

  (5)OLAP模型设计。OLAP是针对某个特定的主题进行的联机数据访问、处理和分析,通过直观的方式从多个维度、多种数据综合程度将系统的运营情况展现给使用者。当今的数据处理大致可以分成两大类:联机事务处理OLTP联机分析处理OLAP(On-Line Analytical Processing)。OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。OLAP模型设计包括维表设计和事实表设计。维表通过记录因素的属性描述事件中包含的诸多因素,例如,员工维表中通过员工标识号、姓名、电话、年龄、地址等信息用来刻画员工的属性。维表属性有星型模型和雪花型模型二种类型。通常,星型模型用来处理一对一和一对多关系,雪花型模型用来处理多对多关系。雪花型模型用中间表连接事实表和维表,使事实表不至于迅速膨胀。在设计事实表时要着重考虑数据的粒度。如果决策者不断向下观察细节数据,则事实表会记录很多的细节,其长度会增大。反之其长度会减小。图2为销售主题的星型模型和雪花模型。

  (6)数据挖掘模型设计。在进行数据挖掘的时候,将数据宽表划分成训练集合和验证集合。在没有挖掘模型时可以使用训练集合对数据进行训练,逐渐确定模型中的参数。在模型建立后,利用验证集合对模型进行评价。数据挖掘(Data Mining),就是从存放在数据库,数据仓库或其他信息库中的大量的数据中获取有效的、新颖的、潜在有用的、终可理解的模式的非平凡过程。数据挖掘,在人工智能领域,习惯上又称为数据库中的知识发现(Knowledge Discovery in DATAbase, KDD), 也有人把数据挖掘视为数据库中知识发现过程的一个基本步骤。知识发现过程由以下三个阶段组成:(1)数据准备,(2)数据挖掘,(3)结果表达和解释。数据挖掘可以与用户或知识库交互。

  在模型确定后,需要将进行预测的数据输入挖掘引擎,挖掘引擎将利用模型得到预测结果。数据挖掘的部分预测结果输入到OLAP子系统中,另一些结果输入界面子系统,以便将数据挖掘的结果呈现给终用户。

  (7)同客户交流。以上工作完成以后,需要同用户进行深入的交流,使用户对以上系统有更加深入的认识,获取用户的想法,以便于下一步工作的开展。

  (8)重新开始循环。重新进入以上循环,直到取得满意的结果。

  3  结束语

  大型超市每天都要进行成千上万笔交易。对这些交易进行分析,找出它们之间的关联关系,有利于超市管理层进行正确决策,及时调整经营策略,更好地适应市场的挑战。


  
上一篇:PLC与RFID控制器无协议通信研究
下一篇:利用动态WFS算法改善Web Server性能的设计

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料