浏览 6275 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-06-10
商业智能研究(十七) 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 . 希望能和喜欢商业智能,开源软件的朋友一起共同进步. 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-08-07
大哥!来个workbenche制作schema的介绍吧
或者给个建议,哪一个做起来更顺手。 |
|
返回顶楼 | |