电视行业是制作业的一个重要组成部分,电视的故障分析涉及因素很多,会产生海量的数据。随着国内外市场竞争的日趋激烈,传统的联机事务处理,即向数据库中添加信息和更新数据,已经不能满足用户的需求,而起源于对大量数据分析的需求,基于对业务数据决策分析的数据仓库(Data WareHouse)和联机分析处理(OLAP),比以往任何时候都显得重要。
1 数据仓库技术
数据仓库是近年来兴起的一种新的数据库应用。它可以将分析决策所需的大量数据从传统的操作环境中分离出来,使分散、不一致的操作数据转换成集成、统一的信息。不同角色的成员都可以在此单一的环境之下,通过运用其中的数据与信息,发展出制度化的决策系统,并获取更多经营效益。W.H.Inmon对数据仓库的定义:数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的(Iniegrated)、反映历史变化的(Thme Variant)、相对稳定的(Non-Volatile) 的数据集合,用于支持管理决策。
主题是一个在较高层次将数据归类的标准,每一个主题对应一个宏观的分析领域。数据仓库的集成特性是指在数据进人数据仓库之前,必须经过数据加工和集成,这是建立数据仓库的关键步骤,首先要统一原始数据中的矛盾之处,还要将原始数据结构做一个从面向应用向面向主题的转变。相对稳定指数据经加工、集成进人数据仓库后是极少或根本不修改的。反映历史变化是指数据仓库不同时间的数据集合,它要求数据仓库中的数据保存时限能满足进行决策分析的需要,而且数据仓库中的数据都要标明该数据的历史时期。
一个完整的数据仓库系统包含几个部分:源数据、ETL、数据仓库数据库、多维数据集、前端工具和元数据。其中最关键的是ETL,即数据抽取(Extraction)、转换(Transformation)、装载(Load)。ETL过程的准确、高效是保证一个数据仓库数据准确、正常运行的关键。因为现有业务数据源多,保证数据的一致性,跨越多平台、多系统整合数据,最大可能提高数据的质量,迎合业务需求不断变化的特性,是ETL技术处理的关键。SQL Server 2000提供了数据转换服务(DTS)来完成这一任务。DTS,即数据转换访问(Data Transformation Services),是SQL Server中提供的一项功能强大的技术,它允许用户从不同的源中导入、导出和转换数据。这些源可以是SQL Server、任何一种ODBC兼容数据源、OLE DB兼容数据源以及文本文件,而且它的转换速度相当快,远远超过Oracle公司的数据转换程序。
2 OLAP分析技术
联机分析处理(OLAP)是基于数据仓库的一种多维数据分析技术。OLAP委员会对OLAP的定义是使分析人员、管理人员或执行人员能够从多种角度对从原始数据转换而来的、能够真正为用户所理解的、并真实反映企业维特性的信息进行快速、一致、交互地存取,从而获得对数据更深入的理解的一类软件技术。
与传统的OLTP联机事务处理相比,OLAP描述了这样一类技术,即专门为特殊的数据存取和分析而设计的技术,而OLTP联机事务处理一般说来仅仅依赖于关系型数据库。OLAP大部分策略都是将关系型的或普通的数据进行多维数据存储,以便于进行分析,从而达到联机分析处理的目的。这种多维数据库,也被看作一个超立方体,沿着各个维方向存储数据,它允许用户沿事物的轴线方便地分析数据。
OLAP的基本术语:
a.维:是人们观察数据的特定角度,如时间维、地理维等。
b.维的层次:层次描述了同一维的不同聚合程度,也就是说维还可以存在细节程度不同的各个描述方面,如时间维可以分为年、季度、月份、天4个层次。
c.维的成员:维的一个取值。是数据项在某维中位置的描述。如“某年某月某日”是在时间维上的描述。
d.多维数据集:又称立方、立方体或多维数组,是OLAP的核心,也是决策支持的支柱,它是维和观察变量的组合表示,如:时间,车间,生产线和故障产品总数。
e.数据单元格:是多维数据集的取值。当在多维数据集中的每个维都选中一个维成员以后,这些维成员的组合就己确定了观察变量的值,如2003年7月,1车间,LCD-3,78,即是多维数据集的一个数据单元。
f.度量值(变量值):在多维数据集中有一组度量值,这些值是基于多维数据集中事实表的一列或多列是数字型的。度量值是多维数据集的核心值,是最终用户在数据仓库应用中所需要查看的数据。
OLAP的存储方式有MOLAP,ROLAP和HOLAP。ROLAP直接使用数据仓库数据库中的数据,只有映射关系,所以分析数据,钻取数据需要时间长。HOLAP是基本数据在数据仓库数据库中,所以钻取速度也很慢,但聚合信息存储在多维数据集中,故对聚合查询很快。MOLAP利用一个专有的多维数据库来存储OLAP分析所需的数据,数据以多维方式存储,并以多维视图方式显示。查询速度快,是首选的存储方式,但是缺点是需要占用更多的磁盘空间。
Analysis Service(简称SSAS)是在Microsoft SQL Server 2000数据库系统中提供的专门用于数据分析的软件。它提供了一个功能强大的OLAP环境,包括:
(1)1个多维数据库引擎,可以使用MDX(Muhi Dimensional Expressions,多维表达式)来存储和访问数据;
(2)Analysis Manager(分析管理器),可以完成相应的管理功能,包括创建和编辑多维数据集、维度和度量;
(3)一个称为DSO(Decision Support Objects决策支持对象)的COM组件库,可以通过编程的方式实现对管理层的访问;
(4)Pivot Tabel(数据透视表)存储并访问处于本地的OLAP多维数据集。
Analysis Services体系结构,见图1。
图1 Analysisservices体系结构图
3 故障分析系统设计
3.1 确定实事表和维度表
确定电视故障分析的需求,根据故障分析这个主题建立数据仓库,确定实事表和维度表。利用数据转换服务从多个数据源提取数据,注入到目的数据库中。数据来源可以是平面文件、表格文件或其他数据库厂商的数据库文件。数据抽取主要解决两个主要问题:将不同的系统中的数据按共同约定的格式和含义转化;整理数据,清除不正确的数据并补充遗失的数据;同时转换程序会选择数据来源中符合条件的数据。用户历史数据抽取与转换程序,驻留在服务器上,每日在指定的时刻自动执行。
3.2 建立OLAP多维立方的模型
常用的有星型和雪花型。雪花型是星型的维表范式化结果。星型模型的扁平、低范式维表中的冗余属性被移到另一张表中就形成了雪花模型。按照E-R建模观点,范式化可以带来很多好处,如能减少冗余,维护方便,占用存储空间小。但在维度建模中通常鼓励采用星型模型,因为星型模型的优势是容易使用和性能好。简洁性是维度建模的目标之一。在处理雪花模型时,数据库优化器的负载增加。大量的表和它们之间的相互连接降低了查询性能。因此,在维度建模中采用星型模型,星型架构的基本假设是事实数据是不会改变的,系统只会定期地从OLTP系统转人新的历史数据。星型架构是为了用户的需求而设计的,为了迎合用户不断更新的新需求,只需要更新或是添加外围的维度表就可以了。
3.3 统计数据与图形化表示程序
OLAP客户端统计数据与图形化表示程序,直接面向使用者。在客户端连接Microsoft Analysis Server,根据需要展示数据立方体的切片或切块。Microsoft公司推出了功能强大的ADO/MDC(ActiveX Data Object/Multi-Dimensional COM)对象组和DSO(Decision Support Object)对象组,可以用包括VisualBasic,Visual C++,Delphi和C#等开发工具来开发客户端,能够连接并操纵服务器。
Analysis Services数据访问模型——ADO/MD是传统ADO对象模型的系列扩展,可以更好地支持多维数据模型。ADO/MD对象模型可以被分为两部分,一个对象组处理OLAP数据库架构,允许一个程序在维度、级别、成员、计算度量和类似的对象中进行导航。第2个对象组提供了对于各处的MDX查询返回数据的处理,同时还支持多维返回集合以及对个别单元的格式化。
MDX多维查询语言,支持多维对象与数据的定义和操作。MDX在很多方面与结构化查询语言(SQL)语法相似,但它不是SQL语言的扩展;事实上,MDX所提供的一些功能也可由SQL提供,MDX还提供了可靠的函数集,用来对所检索的数据进行操作,同时还具有用用户定义函数扩展MDX的能力。它的基本语法是:
SELECT{axis_Psecfication}ONCOLUMNS
{axis_ specification}ON ROWS
FROM cube name
WHERE slicer_specification
用C#程序设计语言开发客户端程序。在具体的系统设计中,采用了3层体系结构即:数据访问层、业务处理层和用户接口层,这样方便系统维护和日后的系统功能完善。数据访问层主要处理多维数据集的访问,MDX语句的处理;业务处理层则是相关的度量处理,操作实现等;用户接口层则是接受用户的查询条件,传送给业务处理层进行具体处理。
4 结束语
本文通过数据仓库和OLAP分析技术,实现了电视业故障分析。在电视制造业故障分析以及其他行业业务中应用数据仓库和OLAP技术已经由最初的理论探索变成了可行性解决方案。当然在这个复杂的多学科交叉的领域里还有许多挑战行的课题需要我们继续努力寻求突破。