雙子星座

           

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

          商業(yè)智能研究(十七)     Mondrian 如何使用 materialized view
          在第十四篇文章中,我把所有關(guān)于 agg 開頭的表全部都重命名了,所以才得到了我后面要分析的sql ,如果沒(méi)有把a(bǔ)gg 開頭的表重命名的話,得到的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";

          你會(huì)發(fā)現(xiàn)很多的數(shù)據(jù)都是從 agg 開頭的表中取來(lái)的. 列出其中的 "agg_pl_01_sales_fact_1997" table 是怎樣填數(shù)據(jù)的,這個(gè)腳本是從命令行執(zhí)行java 語(yǔ)句的時(shí)候在最后一段,從命令行copy出來(lái)的.
          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"

          這個(gè) agg 開頭的表就相當(dāng)于是materialized view 了,只不過(guò)不是所有數(shù)據(jù)庫(kù)都有materialized view ,所以就用不同的table 來(lái)存儲(chǔ)數(shù)據(jù).
          當(dāng)我們把 agg 開頭的表重命名以后,mondrian 就找不到了,所以才會(huì)直接去相應(yīng)的表里面取數(shù)據(jù),這個(gè)定義是在mondrian 里面的 foodmart.xml 文件里面定義的.在WEB-INF/queries 下面.
          這種表叫做 aggregate 表 ,也就是可以用這種表來(lái)強(qiáng)制mondrian 使用我們的materialized view , mondrian 官方推薦使用materialized view 建立這種 aggregate 表,你可以看到在Cube 元素,有關(guān)這些表的定義.
          所以我們定義的materialized view 可以直接在foodmart.xml 里面定義.關(guān)于如何建立mondrian 的 schema 文件,可以參考mondrian 的官方主頁(yè),里面寫的很詳盡了 .
          如果你要寫mondrian 的 schema 文件,建議使用mondrian 里面的workbench ,這個(gè)軟件是jaspersoft 里面的一個(gè)人寫的. pentaho 官方的那個(gè)cube desinger 我根本就打不開,不知道是不是什么配置問(wèn)題.


          6月7號(hào) 收到了pentaho community 的郵件,因?yàn)槲覅⒓恿怂麄兊腷eta programmer .新的1.6 release 馬上就要發(fā)布了,其中提到了6個(gè)新的特性.
          1 . Web-based Ad Hoc Query and Reporting 
          2 . Pentaho Metadata       
          3 . Security
          4 . Subscriptions             一個(gè)基于時(shí)間調(diào)度的計(jì)劃任務(wù).1.5.2 才加入的新特性,使用戶更容易得到自己想要的信息.算是pentaho KPI 的一種實(shí)現(xiàn)手段.
          5 . RDBMS repository
          6 . Mondrian Schema and Data cache flushing

          你可以看到其中的 1-5 都是跟metadata 有關(guān)的,可見metadata 的 管理對(duì)于商業(yè)智能也是越來(lái)越重要了.
          由于我可能會(huì)抽出一定時(shí)間參與pentaho 1.6 的測(cè)試工作,所以更新Blog 的速度會(huì)慢下來(lái).當(dāng)然,等全部的工作做完了,我還是會(huì)寫幾篇關(guān)于參與pentaho 測(cè)試的文章的,也歡迎大家與我討論pentaho 的問(wèn)題,
          我會(huì)加所以給我留言的朋友為好友,并跟他們交換msn . 希望能和喜歡商業(yè)智能,開源軟件的朋友一起共同進(jìn)步.


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


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


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(3)

          隨筆檔案

          相冊(cè)

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 鄂温| 布尔津县| 鹰潭市| 怀来县| 山阴县| 和田市| 青神县| 抚顺县| 新昌县| 吉安县| 灌阳县| 格尔木市| 垣曲县| 乌海市| 诏安县| 樟树市| 肇东市| 丰镇市| 东乡族自治县| 巴彦县| 尚义县| 德昌县| 大洼县| 遵义县| 沙洋县| 蛟河市| 德保县| 化德县| 株洲县| 大兴区| 孝感市| 酒泉市| 北安市| 延津县| 且末县| 深州市| 高碑店市| 鄢陵县| 增城市| 西乡县| 奎屯市|