分类: 数据库开发技术
2010-04-21 11:42:39
如前所说,Mondrian是OLAP的核心引擎,负责从关系数据库中计算、缓存数据,响应来自表现层的使用MS家 MDX语法的查询。具体表现形式呢,就是一个jar,随Tomcat启动。
看完那个FoodMart的Sample之后, 该自己动手了。
首 先第一步是设计OLAP的数据库结构。
因为和业务数据库相比,OLAP需要冗余一些数据达到更快的查询。
设计前可以先参拜一下那本
经典的《完全维度设计指南》,中文版的几下就能翻个大概。
其实说白了就是去除与报表无关的列,把订单、订单明细两个表合并成一个销售事实表,把产
品,产品分类两个表合并成一个产品维表这几个动作。
设计完之后,应该会有几个装有统计数据和维表外键的事实表,和几个用于分类,排序,过滤的维
表。
第二步是把业务数据库里的数据导过来。
有不少ETL的工具,弄出一大堆映射文件,转换类来。不过我还是喜欢直接写SQL 快捷,可能我面对的不是一天一个G的数据库吧。
第三步是把刚才设计的数据库结构定义成Schema
schema元模型包括 维度(Dimensions)、层次(Hierarchies)、级别(Levels)、和成员(Members)等。Mondrian要根据它来从关系 数据库中聚合数据响应MDX语法的查询。
在这一步之前记得先装一个中文版的SQL Server2000,里面的Help文件有详细的解释。