关键词:
数据仓库
Oracle多维数据库
元数据
XMLA标准
MDX解析器
摘要:
随着数据库技术的发展和数据库系统的广泛使用,各种各样的数据库已经积累海量数据。联机分析处理(Online Analytical Processing以下简称OLAP)能从这些海量数据中寻找关联规律和发现潜在的有用信息作为企业决策依据,它主要在数据仓库基础上进行数据分析以求获得有用信息。从另一方面来看,支持高级决策OLAP技术可以深入分析和研究数据、发现趋势、看到异常情况、得到重要细节以便更好地理解商业行为的涨落变迁,已经得到广泛应用。但是,很多OLAP厂商都有内置数据访问标准而没有统一的数据访问标准,这给数据仓库统一访问甚至集成带来很大挑战。
为了达到异构数据仓库之间能够通讯甚至集成的目标,很多生产OLAP工具的厂商努力开发能够访问所有OLAP服务器的统一OLAP API访问接口。可以从三个角度分析开发访问OLAP服务器统一OLAP API标准的必要性:(1)从数据仓库开发者角度,单一工具很少能完全满足用户不断变化的需求,又很难对各种产品进行集成。(2)从数据仓库用户角度,面对海量数据,无法轻易找到自己真正需要的信息,而且把这些信息完整正确地表示出来也是个挑战。(3)从数据仓库供应商角度,如果信息共享没有标准格式,元数据集成代价太大。
本文首先简单介绍国内外研究现状以及数据仓库、OLAP技术相关理论,接着了解微软OLAP服务器元数据模型、Mondrian元数据模型和Oracle OLAP服务器元数据模型为实现各种数据仓库元数据标准的统一访问奠定理论基础。着重研究数据仓库三种访问标准以及MDX查询语言并对XMLA标准和MDX查询语言进行详细分析,因为Oracle OLAP服务器不支持XMLA标准和MDX语言。若实现符合XMLA标准的数据仓库统一访问的目标,必须首先实现Oracle OLAP元数据模型与XMLA数据模型的映射,然后根据MDX语言特点开发MDX解析器来实现对MDX语言的解析,根据以上理论知识设计出系统总体架构,该架构采用B/S三层结构,前端展示层使用开源JPivot产品,该产品是一个自定义JSP标签库,基本涵盖所有OLAP功能和操作,并且支持以XMLA标准访问数据源:控制层利用开发的符合XMLA标准的引擎(以下简称XMLA引擎);数据层利用Oracle11g数据库。其次,设计并实现Oracle多维数据库为XMLA引擎提供数据来源。最后,实现系统并对系统进行测试,前台JPivot通过XMLA引擎对Oracle OLAP服务器、微软OLAP服务器和Mondrian多维分析引擎提供符合XMLA标准的统一访问。