充值信息

赞助信息

推荐给好友 上一篇 | 下一篇

基于Essbase的商业智能实例产品开发



1 引 言

    中间件的开发是有广泛应用前景和竞争力的软件开发。商业智能是将企业中的现有数据转化为知识的过程,不仅包括数据仓库,还包括数据存贮,数据查询、数据报表、数据统计和数据挖掘等。简而言之,它是能够帮助用户对自身业务经营做出正确明智决定的工具,一般现代化的业务操作,通常都会产生大量的数据,如订单、库存、交易帐目及客户资料等。如何利用这些数据增进对业务情况的了解,帮助我们在业务管理及发展上作出及时、正确的判断和决择、这就是商业智能的课题。

    商业智能不是数据仓库的简单改进,数据仓库中商业智能是解决方案的基础,但二者绝不等同,商业智能是在早期基于主机的业务信息系统和近期数据仓库应用经验的基础上发展起来的。数据仓库目前所面临的问题是:产品本身极少有针对性,这方面很有些像早期客户机/服务器计算的情况,而商业智能就克服了这一缺陷,BI体现的一个重要特点就是它们在提供不断完善技术的同时,还提供整体应用解决方案。

2 商业智能实例产品的开发

    2.1 产品结构

    BI.Office主要在各行业的数据仓库和商业智能整体解决方案中提供前端解决方案,它的功能包括对多维数据模型提供丰富的数据展示、发布方式,以及以数据仓库、多维数据、其它格式数据为数据源的数据挖掘。BI.Office的四个部分:

    ·BI.Office Application Server系统的应用服务器;
    ·BI.Office Designer用于决策支持系统的设计;
    ·BI.Office Explorer提供给最终用户的使用工具;
    ·ETL案例数据抽取(Extract)、转换(Transform)、清洗(Cleansing)。

    BI.Office Application Server的功能:

    ·负责所有Client端用户对Cube和数据仓库的访问;
    ·提高数据库服务性能、减轻服务器负担;
    ·让数据访问和数据传统保持各自的独立性,保证数据传统的可靠性;
    ·系统配置功能,包括数据安全措施、服务管理。

    2.2 IBM Essbase产品的体系结构

    维(Dimensions)和成员(Members)是商业智能中重要概念,理解了维和成员,将有助于理解多维数据库的威力。维代表了你的商业计划组件的核心,一般和部门的功能相关,有代表性的维时间、帐目,产品线、市场和部门等等。维一般是静态的,一旦定义好数据库的维后,在应用的生命周期里一般都不会改变。

    成员是一个维的单独的组件,例如ProductA、Product B、Product C是Product的成员。每个成员有一个独一无二的名字,一个维可以包括无限多个成员。多维性是OLAP的关键属性,系统必须提供对数据分析的多维视图和分析,包括对层次维和多重层次维和完全支持,事实上,多维分析是分析企业数据最有效的方法,是OLAP的灵魂。

    (1)在层次结构(Hicrarchies)里安排维所有的Essbase database应用都以定义一个database outline开始。

    一个database outline:

    ·在一个Essbase database里定义成员之间的结构关系。
    ·组织在数据库里的数据。
    ·在成员之间定义聚合及数学关系。

    Essbase用成员表示数据的层次关系。每一个维包括许多成员,顺序地,成员也可以包括许多成员。例如时间维包括四个季度,每个季度又包括三个月。

    Essbase不限制每个维的成员的数目,可以定义很少的成员,也可以定义成百上千的成员一切都根据需要。

    (2)成员关系(Member Relationships),代(Gencrlations)和层(Levels)

    Essbase用层次,家族来描述一个Outline里成员的角色和关系描述梅一个成员的位置通过以下几个途径:

    ·父亲(Parents)、孩子(Chileren)和兄弟(Sibling)。父亲是一个有分支的成员,如Marging是Soles和cost of goods Scld的父亲。一个孩子是一个有父亲的成员,如sales,costof goods scld是Margin的孩子。一个兄弟是指一个和其它成员在同一个分支里的孩子成员,如sales和cost of goods scld是兄弟。

    ·子孙(Descendants)和祖先(Ancestors):子孙是在父亲下的所有成员,例如Profit、Invenory、Ratos是Measures的子孙,它们的孩子也是Measures的子孙。祖先是一个分支里在一个成员上面的所有成员,例如Magin和Profit是Sales的祖先。

    ·根(Root) 和叶(Leaves) :根是指在一个分支里的第一个成员,例如Measures是Prodift、Inventory它们的根。叶成员是没有孩子的成员,如Adcitions是叶结点。

    ·层(Levels)和代(Generlations):代是从根节点到叶节点;层是从叶节点开始一直到根。

    (3)多维数据的执行动作:有上钻、下转、切片、切块、旋转等。

3 Essbase的基础结构原理

    3.1 稀硫维(Sparse Dimensions)和密集维(Dense Dimensions)

    大多数多维数据应用集有以下特征:

    ·数据不是平滑的而是随机分布;
    ·数据有可能不存在多数成员组合中,如有所有的产品不一定在国家的每一地区都销售。

    Essbase将应用的维分为两种:衡疏维和密集维,通过这样,Essbase可以取得最优化的性能,存取空间最小,速度最快。

    稀疏维是指一个具有很低的数据填允率的维如市场维和产品选择稀疏维,因为不是每一样产品在所有的市场都销售一个密集维是指一个具有很高的数据填充率的维。如Measures维选择为稠密维,因为Accounts里几乎填满了数据。

    3.2 数据块(Data Block)和索引系统(Index System)

    Essbase用两种内在的结构来存储和访问数据:数据块和索引。

    Essbase为稀疏维(至少包括一个数据值)成员的独一无二的联合建立一个数据块,数据决也描述了所有密集维的成员。

    Essbase为每一个数据块建立一个索引入口。

    每一个独一无二的数据值在数据块里以一个数据格子的形式存在。当Essbase搜寻一个数据值时,它用索引定位数据块,用数据值定位格子。索引入口提供了一个数据块的指针,索引处理稀疏维特别有效,因为它仅仅是已存在的数据块的一个指针而已。

    每一个数据块都是一个多维数组,它包括了固定的、有序的定位,为密集维成员之间的可能的联合,它不通过索引搜寻数据,它的存取和访问速度几乎是瞬间的。Essbase在数据块里定义数据格的顺序是通过你的outline database里密集的成员的顺序。

    在定义outlined atabase是选择一个维是稀疏维还是密集维时,要根据需要来定。当全为稀疏维时索引多,查找慢;全为密集维时定义了许多空的数据格子,浪费资源,要根据情况而定。

4 IBM Essbase的VB编程接口及其API的调用

    Essbase提供了多种的客户工具来访问OLAP服务其中的数据。它包括:

    ·电子数据表格;
    ·应用和数据管理工具;
    ·通过Essbase的API编程接口编写的第三方程序。

    Essbase的API编程接口提供了一系列复杂而强有力的功能,包括:

    ·透明的客户机/服务器访问;
    ·数据的计算、聚合和报告;
    ·减缩服务器登陆程序;
    ·远程文件管理;
    ·应用、数据库管理;
    ·用户、用户组管理;
    ·透明的、内置的安全性;
    ·自定义缓存和消息处理;
    ·提供C、VB的编程接口。

    Essbase的API是客户程序和Essbase服务器的接口,可以通过网络交换数据,程序可以调用Essbase API函数,数据可从所连接的服务器返回。既可以在服务器端也在以在客户端调用Essbase API,当写Essbase API调用程序时,不用关心Server Machine在网络中的位置,这些Essbase API会处理。



 

评分:0

我来说两句