雙子星座

           

          商業智能研究(十七) Mondrian 如何使用 materialized view

          商業智能研究(十七)     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 . 希望能和喜歡商業智能,開源軟件的朋友一起共同進步.


          有哪位朋友可以推薦一下武漢的公司,最好是小一點的公司(大公司估計自己水品有限),如果有需要J2EE開發方向的工作職位的話,推薦一下, jj12tt@yahoo.com.cn ,先謝謝了.


          posted on 2007-06-10 19:02 gemini 閱讀(540) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          導航

          統計

          常用鏈接

          留言簿(3)

          隨筆檔案

          相冊

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 嘉鱼县| 都昌县| 芮城县| 北流市| 进贤县| 外汇| 云梦县| 兴文县| 镇赉县| 鹤岗市| 西峡县| 乐都县| 克拉玛依市| 鄂尔多斯市| 富锦市| 宁武县| 墨竹工卡县| 伊川县| 汤原县| 台东市| 永川市| 惠州市| 浏阳市| 富阳市| 宣武区| 电白县| 青海省| 舒城县| 康乐县| 黄骅市| 水富县| 怀安县| 渝北区| 营山县| 和平区| 安康市| 泽普县| 江城| 石泉县| 黄大仙区| 焉耆|