`

Mondrian 如何使用 materialized view

阅读更多
第十四篇文章中,我把所有关于 agg 开头的表全部都重命名了,所以才得到了我后面要分析的sql ,如果没有把agg 开头的表重命名的话,得到的sql 是不一样的 :
select "agg_c_10_sales_fact_1997"."the_year" as "c0",
sum("agg_c_10_sales_fact_1997"."store_sales") as "m0",
sum("agg_c_10_sales_fact_1997"."store_cost") as "m1"
from "agg_c_10_sales_fact_1997" "agg_c_10_sales_fact_1997"
where "agg_c_10_sales_fact_1997"."the_year" = 1997
group by "agg_c_10_sales_fact_1997"."the_year";

你会发现很多的数据都是从 agg 开头的表中取来的. 列出其中的 "agg_pl_01_sales_fact_1997" table 是怎样填数据的,这个脚本是从命令行执行java 语句的时候在最后一段,从命令行copy出来的.
INSERT INTO "agg_pl_01_sales_fact_1997"
("product_id", "time_id", "customer_id", "store_sales_sum",
"store_cost_sum", "unit_sales_sum", "fact_count")
SELECT "product_id" AS "product_id", "time_id" AS "time_id",
"customer_id" AS "customer_id",
SUM ("store_sales") AS "store_sales",
SUM ("store_cost") AS "store_cost",
SUM ("unit_sales") AS "unit_sales", COUNT (*) AS fact_count
FROM "sales_fact_1997"
GROUP BY "product_id", "time_id", "customer_id"

这个 agg 开头的表就相当于是materialized view 了,只不过不是所有数据库都有materialized view ,所以就用不同的table 来存储数据.
当我们把 agg 开头的表重命名以后,mondrian 就找不到了,所以才会直接去相应的表里面取数据,这个定义是在mondrian 里面的 foodmart.xml 文件里面定义的.在WEB-INF/queries 下面.
这种表叫做 aggregate 表 ,也就是可以用这种表来强制mondrian 使用我们的materialized view , mondrian 官方推荐使用materialized view 建立这种 aggregate 表,你可以看到在Cube 元素,有关这些表的定义.
所以我们定义的materialized view 可以直接在foodmart.xml 里面定义.关于如何建立mondrian 的 schema 文件,可以参考mondrian 的官方主页,里面写的很详尽了 .
如果你要写mondrian 的 schema 文件,建议使用mondrian 里面的workbench ,这个软件是jaspersoft 里面的一个人写的. pentaho 官方的那个cube desinger 我根本就打不开,不知道是不是什么配置问题.


6月7号 收到了pentaho community 的邮件,因为我参加了他们的beta programmer .新的1.6 release 马上就要发布了,其中提到了6个新的特性.
1 . Web-based Ad Hoc Query and Reporting
2 . Pentaho Metadata
3 . Security
4 . Subscriptions 一个基于时间调度的计划任务.1.5.2 才加入的新特性,使用户更容易得到自己想要的信息.算是pentaho KPI 的一种实现手段.
5 . RDBMS repository
6 . Mondrian Schema and Data cache flushing

你可以看到其中的 1-5 都是跟metadata 有关的,可见metadata 的 管理对于商业智能也是越来越重要了.
由于我可能会抽出一定时间参与pentaho 1.6 的测试工作,所以更新Blog 的速度会慢下来.当然,等全部的工作做完了,我还是会写几篇关于参与pentaho 测试的文章的,也欢迎大家与我讨论pentaho 的问题,
我会加所以给我留言的朋友为好友,并跟他们交换msn . 希望能和喜欢商业智能,开源软件的朋友一起共同进步.
分享到:
评论

相关推荐

    Mondrian使用图论的php代码静态分析工具

    - **错误检测**:Mondrian能提前发现潜在的编程错误,如未使用的变量、未定义的函数引用、空指针异常等。 - **代码质量提升**:通过分析代码结构,可以识别出冗余代码、过度复杂的设计和不良实践,从而引导开发者...

    mondrian运行源码配置方法

    7. **使用mondrian说明文档**:提供的说明文档会详细介绍mondrian的功能、API使用以及配置细节。仔细阅读并理解这些文档,将有助于你更好地利用mondrian进行开发。 在压缩包中,你应该能找到mondrian源码、mondrian...

    Pentaho多维分析(Mondrian)使用指南

    本文档介绍 OLAP、MDX 基本概念和原理、Mondrian 的使用和一些前端工具的使用。其中 “基本概念”和“MDX”这两章基本都是通用的内容,并不仅限于 Mondrian。 本文档主要用做简略的指南,更深入、更详细的内容请参考...

    联机分析olap之mondrian

    本文将深入探讨Mondrian的核心特性、工作原理以及如何使用它来构建高效的数据分析平台。 一、Mondrian简介 Mondrian是由Pentaho公司维护的一个开源OLAP服务器,它支持SQL标准的MDX(MultiDimensional eXpressions...

    mondrian foodmart SQL SERVER 数据库

    使用mondrian foodmart SQL SERVER数据库,我们可以深入学习以下知识点: 1. **Mondrian架构**:理解Mondrian如何作为OLAP服务器工作,解析MDX查询并将其转换为SQL。 2. **SQL Server数据库管理**:学习如何创建、...

    Mondrian+Oracle 实例

    在这个"Mondrian+Oracle 实例"中,我们将深入探讨如何配置和使用Mondrian与Oracle数据库的集成,以及如何解决可能出现的问题。 1. **Mondrian概述** Mondrian是一个基于Java的OLAP服务器,它解析多维数据模型...

    mondrian-api.zip

    在本资源"mondrian-api.zip"中,包含的是mondrian 4.0版本的API,这对于开发者来说是一个宝贵的参考资料,可以帮助他们理解和使用mondrian的高级功能。 mondrian的核心功能是解析多维数据集的元数据(schema),...

    [Mondrian] Mondrian 实战 英文版

    [Manning Publications] Mondrian 实战 英文版 [Manning Publications] Mondrian in Action E Book ☆ 出版信息:☆ [作者信息] William Back D Nicholas Goodman Julian Hyde [出版机构] Manning ...

    Mondrian用于web项目

    在Web项目中,Mondrian通常与Pentaho Data Integration(Kettle)、Pentaho BI Server等工具结合使用,提供强大的数据分析和报表生成能力。下面将详细介绍Mondrian在Web项目中的应用及其报表开发的关键知识点。 一...

    Mondrian实例

    在Java环境中,你可以使用JDBC驱动来连接到Mondrian服务器。首先,需要在项目中添加Mondrian和相关库的依赖。然后,通过`java.sql.DriverManager.getConnection()`方法建立连接,并使用`Statement`对象执行MDX查询。...

    mondrian war项目maven编译

    在本项目中,我们将讨论如何将mondrian集成到一个WAR项目中,并使用Maven作为构建工具,而不是mondrian默认的Ant构建系统。 **Maven简介** Maven是Apache软件基金会开发的一款项目管理和综合工具,主要用来构建Java...

    数据分析工具mondrian教程

    本教程将深入探讨mondrian的使用,包括如何创建Cube、维度、度量以及相关属性,同时也涵盖了MDX(多维表达式)的语法基础。 首先,让我们了解mondrian的基本模式。mondrian通过连接到数据源,如关系数据库,来构建...

    mondrian源码分析和改造设计.doc

    Mondrian 源码分析和改造设计 Mondrian 源码分析和改造设计是 OLAP(Online Analytical Processing,联机分析处理)服务器的源码分析和改造设计。Mondrian 是一个基于 Java 的开源 OLAP 服务器,提供了多维数据分析...

    mondrian 源码

    3. **缓存管理**:为了提高性能,mondrian使用缓存来存储先前计算的结果。源码中会涉及如何有效地管理和更新这些缓存。 4. **数据源和连接**:mondrian支持多种数据源,包括JDBC连接。配置数据源涉及到定义数据仓库...

    Mondrian介绍及配置.pdf

    ### Mondrian介绍及配置知识点详解 #### 一、Mondrian概述 **Mondrian** 是一款用 Java 编写的开源 OLAP (Online ...通过以上步骤,你可以成功配置并使用 Mondrian 来处理多维数据,为数据分析提供强大的支持。

    基于ORACLE的mondrian配置

    自已刚开始学mondrian,里面有两个文件,一个是mondrian自带的一个演示示例,是基于oracle实现的过程。还有一个是eclipse中配置mondrian源代码的过程。都是我自己总结的,原创。QQ:6855957

    Mondrian in Action (Mondrian OLAP 引擎技术)

    本书《Mondrian in Action》详细介绍了Mondrian OLAP引擎的使用方法。通过阅读这本书,用户可以学习到如何设置和优化Mondrian引擎,包括如何设计适合OLAP的数据模型,如何创建数据集市(datamart),如何安全地管理...

    mondrian-3.0-technical-guide_2.pdf

    文档开头介绍了Mondrian 3.0.4版本的技术手册,它涉及的是使用Mondrian和JasperAnalysis开发OLAP解决方案。Mondrian是一个OLAP(在线分析处理)服务器,它支持多维数据分析和MDX查询。文档还涉及到JasperAnalysis,...

    如何将Mondrian用于web项目.ppt

    Mondrian的设计允许开发者将其轻松地集成到Java Web项目中,就像使用JDBC驱动程序一样。Mondrian的核心功能是将二维的关系数据转化为多维的数据模型,便于进行复杂的分析和报表生成。 【Mondrian的体系结构】 ...

Global site tag (gtag.js) - Google Analytics