茫茫網海中的冷日
         
茫茫網海中的冷日
發生過的事,不可能遺忘,只是想不起來而已!
 恭喜您是本站第 1735126 位訪客!  登入  | 註冊
主選單

Google 自訂搜尋

Goole 廣告

隨機相片
IMG_00031.jpg

授權條款

使用者登入
使用者名稱:

密碼:


忘了密碼?

現在就註冊!

DB研討會 : [分享]mondrian,OLAP引擎

發表者 討論內容
冷日
(冷日)
Webmaster
  • 註冊日: 2008/2/19
  • 來自:
  • 發表數: 15773
[分享]穷人的通用OLAP方案II
如前所说,Mondrian是OLAP的核心引擎,负责从关系数据库中计算、缓存数据,响应来自表现层的使用MS家 MDX语法的查询。具体表现形式呢,就是一个jar,随Tomcat启动。

看完那个FoodMart的Sample之后, 该自己动手了。

首先第一步是设计OLAP的数据库结构。

因为和业务数据库相比,OLAP需要冗余一些数据达到更快的查询。
设计前可以先参拜一下那本经典的《完全维度设计指南》,中文版的几下就能翻个大概。
其实说白了就是去除与报表无关的列,把订单、订单明细两个表合并成一个销售事实表,把产品,产品分类两个表合并成一个产品维表这几个动作。
设计完之后,应该会有几个装有统计数据和维表外键的事实表,和几个用于分类,排序,过滤的维表。

第二步是把业务数据库里的数据导过来。

有不少ETL的工具,弄出一大堆映射文件,转换类来。不过我还是喜欢直接写SQL快捷,可能我面对的不是一天一个G的数据库吧。

第三步是把刚才设计的数据库结构定义成Schema

schema元模型包括 维度(Dimensions)、层次(Hierarchies)、级别(Levels)、和成员(Members)等。Mondrian要根据它来从关系数据库中聚合数据响应MDX语法的查询。

在这一步之前记得先装一个中文版的SQL Server2000,里面的Help文件有详细的解释。
另外jprovit有一个子项目,是这个schema的Eclipse Plug-in。即使不用这个Plug-in,有了它的DTD,在其他XML编辑器里也能避免拼写错误引起的冤枉时间。
用Sample中的FoodMart.xml做蓝本,两下就能Copy Paste出自己的schema来。
最后,注意Oracle的列名必须全大写。
前一個主題 | 下一個主題 | | | |

討論串




Powered by XOOPS 2.0 © 2001-2008 The XOOPS Project|