雙子星座

           

          商業智能平臺研究(九) ETL 中的數據質量控制

          商業智能平臺研究(九) ETL 中的數據質量控制
          數據質量一直是ETL工具的一個高級特性,為了解釋清楚這個問題,讓我們看看oracle的商業ETL工具Oracle Warehouse Builder 在數據質量上是如何管理的

          oracle在官方網站上有一篇專門介紹如何使用oracle warehouse builder的文章,地址為http://www.oracle.com/technology/pub/articles/rittman-owb.html?
          rssid=rss_otn_articles?msgid=4931461 , 是mark rittman所寫,rittman公司本身也是一個專業的oracle 數據倉庫 和商業智能方面的顧問公司,在oracle 方面非常的有發言權,如果你對oracle和數據倉庫,或者oracle商業智能有興趣的話,可以看一下上面的這篇文章,本文所有圖片引自上面的這篇文 章。


          ETL難以成功有以下幾個難點:
          1 . 數據倉庫的數據來自于多個數據源,所以數據的一致性很難得到保證,很多情況下需要一種硬性的標準來決定數據的取舍問題.
          2 . 數據格式問題,例如數據缺失,超出數據范圍,無效數據格式等等。
          3 . 出現錯誤之后沒有正確的處理問題,導致數據的質量不斷的下降。
          4 . 數據一致性問題,處于數據庫性能考慮,有時候可能會有意的去掉一些外間或者檢查約束。
          5 . 業務邏輯問題.由于數據庫在最初設計時就不夠嚴格和謹慎。

          我們怎么判斷數據的質量好壞的呢,一般用戶拿原有系統的顯示方式查看某一查詢條件的數據與用商業智能報表所產生出來的數據進行對比,看有多大的出入,這個 可能需要原先系統有足夠的能力顯示這些數據并且商業智能工具的報表有足夠強大的查詢和報表展示能力,或者是用商業智能的報表與OLAP運行出來的報表進行 對比,看有多大的出入,出入一般都是會存在的,因為數據不可能完全的準確,但是一定要搞清楚哪里數據出現了問題,并且盡量不要讓這些誤差擴大到用戶無法接 受的地步,否則就認為BI失敗了。(咋同是一個工具做出來的,數據的出入就這么大呢?)



          oracle warehouse builder 提供三個特性來使ETL的過程簡單
          1 . Graphical Data Profiler 可以查看數據的結構,語義,內容,異常,和大綱,數據規則 , 這就是在前一篇說的,kettle的數據管理沒有oracle warehouse builder 強大的特性.kettle也提供查看表結構,column的結構,但是它不會判斷一個column是不是主鍵或外鍵,一個字符串的最小長度是多少,最大長 度是多少,一個整數的長度是多少,一個double的精度是多少。
          2 . Correction Wizard 把數據規則應用到你的ETL過程中,自動映射并更正,清理,轉化數據, 相當于oracle warehouse builder 提供一些默認的值來幫助你更快的創建映射規則,這個功能也比kettle強大。
          3 . Data Auditor 獲取數據規則并監控數據轉換的過程。kettle也提供數據監控的機制,并把log記入下來,并告訴你重復的記錄數,讀寫多少條記錄,更新拒絕多少條記錄,時間,速度,步驟是否成功等信息.

          oracle warehouse builder 提供查看選中表的結構信息和數據信息




          數據歸檔編輯器有很多面板。這些面板顯示已歸檔的對象和歸檔的結果。為了方便解釋,可以將整個面板分成6個部分,分別是左上角的面板(有兩個tab)叫做 1號面板,左邊中間的property面板,叫做2號面板,左下角的monitor面板,叫做3號面板,右上角的Profile Results Canvas 面板(有10個tab),叫4號面板,右邊中間的Data Grid Panal ,叫5號面板,右下角的Data Rule Panal ,叫6號面板。
          1號面板顯示已歸檔的表、視圖、物化視圖(oracle 10g新加的特性)、外部表、維度和事實等對象以及已經創建的任何更正模塊的詳細信息。
          2號面板顯示與數據歸檔關聯的屬性的列表。使用該屬性列表,您可以優化數據歸檔的參數;啟用或禁用某些數據歸檔組件并啟用選定表的數據規則歸檔。
          3號面板是監視器面板。該面板顯示已提交的所有歸檔作業的進度。數據歸檔需要時間,所以可以在后臺完成的作業,同時執行其他 Oracle Warehouse Builder 任務;當作業完成時,Oracle Warehouse Builder 會發出通知,kettle 在執行監控上提供的信息比oracle warehouse builder 多一些,包括速度和時間,還可以看到你啟動多少線程組和線程,線程進行到那一步都顯示的出來。
          4號面板提供最多的信息,所以分成了10格tab,包含大量歸檔結果匯總的tab,
          5號面板顯示數據的統計信息,某一個column出現的值,出現的次數,占的百分比,有了這個功能,如果出現了錯誤的數據,將可以更容易的看到和清除.
          6號面板顯示數據規則.










          其中4號面板有10個tab,其中有幾個tab非常有用.(看上面的圖)
          Data Type tab詳細說明表中每列的列名,數據格式,主要的數據類型,主要的數據類型所占的百分比,數據的長度,最大值和最小值,主要的長度,主要的長度所占的百分 比,類型的精度。其中所謂的主要長度類型在Date那一列為40%,可見有些值為空,它不光列出最小值和最大值,而且還有主要值的長度和它所占百分比,統 計方面功能比較強大,這種初步的數據統計不知道算不算接近于OLAP分析,功能上比kettle強大些.

          Unique Key tab顯示檢測到唯一鍵或主鍵的所有列。該選項卡還顯示唯一值的數量多得足以建議刪除或更正非唯一行時可以定義唯一鍵的列。你可以看到圖中有Six Sigma 列。這是一個 1 到 7 之間的數字,它指明“每千個的缺陷”數量,即對象中未能通過唯一約束的行。

          Profile Object tab 相當于kettle中的 sql 編輯器 ,顯示所有的數據并加上查詢條件。

          Domain tab 為歸檔對象的每列顯示建議的域,以及數據與該域的一致程度。域就是列的一組允許的值,Oracle Warehouse Builder 認為出現兩次或以上值的列就叫域。從圖上看到,PACK_COUNT , PROD_ID , PROD_NAME 都是唯一性比較高的列,所以沒有domain,這個面板同樣也有 Six Sigma 值。



          創建數據轉化規則
          在它給出的例子中,MANUF_COUNTRY的國家列包含Not Known , Canada ,USA , UK 和 Mexico ,它想把所有的England轉化為 UK , 在Product 表中,把所有REORDER_YN為 'N' 的記錄刪掉,并使MARKET_SEGMENT 表的所有值為 ' Economy ' 或 ' Executive ' .

          當你完成了數據規則的建立后,在實際轉換的過程中,有可能出現你沒有考慮到的情況,oracle warehouse builder 提出了三種操作,
          Igore 這個不用解釋吧.
          Report 在一個新建的ERR$$$表中記錄下這條記錄。數據繼續轉化。
          Cleanse 應用轉化規則來清理數據.


          如果沒有什么特殊的原因,一般最好不要使用第一種策略,你即不知道有沒有數據處錯了,也不知道有多少數據出錯了,這樣很容易讓你的數據誤差越來越大,第二 種Report策略能讓我們知道那些數據出錯了,并記錄下來,當我們需要找到數據誤差原因的時候,或者我們需要更正這些數據誤差的時候有依據。當然如果我 們真正的清楚數據轉換規則的話,第三種策略是最好的,把這種誤差消失在ETL的過程之中.

          其中對于應用了數據轉化規則的列,oracle warehouse builder 又提供四種策略來使數據達到我們想要的程度,

          1 . Remove ,把我們認為滿足特定數據條件的數據刪除,例子中就是要把REORDER_YN = Y 的數據刪掉。
          2 . Similarity Match 把不在我們規定的域內的數據自動更改為最接近的值,這個值是oracle 用特定算法算出來的,我不清楚到底是怎么樣的規則。不過我猜是不是按照字典的順序來排序,誰接近就轉化成誰,比如有applet,book ,orange ,如果要轉化book的話,就把book轉化為applet,因為b 開頭的單詞比o 開頭的單詞離的近一些,中文的話可能不會支持吧。當然,這只是我猜的.具體是怎么樣只有問那些高手了.
          3 . Soundex Match oracle有一個函數叫做SOUNDEX , 它是應用以下規則,保留首字母,把所有的元音 a , e , i , o , u 和 w , y 刪掉。把剩下的字符串按如下數字相加
          b , f , p ,v =1
          c, g, j, k, q, s, x, z = 2
          d, t = 3
          l = 4
          m, n = 5
          r = 6
          如果兩個或兩個以上有相同的數字接近原來的值(在第一步之前),或者接近除去h 和 w 的值 , 忽略掉除第一個字母以外的數字. 返回4個字節。格式大概如下:
          SELECT name, SOUNDEX(namecol) FROM test;
          SELECT * FROM test WHERE SOUNDEX(namecol) = SOUNDEX('SMITH');
          以上例子摘自http://www.psoug.org/reference/string_func.html,如果你對算法有疑問可以自己去看看。

          4 . Custom 使用自定義的轉化規則來清理數據,大多數時候都是使用這種方式。例子中的把MANUF_COUNTRY 的 England 轉化為 UK 就是這種情況。


          在你進行數據轉化之后,你對數據的質量滿意了,你可以設置Data Auditor 來監控以后傳入的數據的質量



          Data Auditor 使用定義的數據規則,生成關于數據的一致程度的統計報告,然后將其存儲在錯誤記錄表中。還可以對 Data Auditor 進行編程,指定 Data Auditor 在分數低于一定的閾值后向您發出通知,然后在特定情況運行清理映射來清理數據。運行該清理映射后,可以對 Data Auditor 進行編程,使其僅在設計分數高于特定級別或 Six Sigma 值時才繼續進行余下的 ETL 過程,避免將錯誤數據載入數據倉庫,使數據倉庫的質量能夠得到保證。

          ETL是非常重要的一步,往往一個項目的成敗就是看ETL過程的成功與否.選用一個好的ETL工具會讓項目更加的有信心.

          下一篇介紹ETL的各種工具.


          posted @ 2007-05-22 21:40 gemini 閱讀(627) | 評論 (0)編輯 收藏

          商業智能平臺研究(八) ETL 之metadata

          商業智能平臺研究(八)  ETL 之metadata
          metadata
          網上有很多寫metadata的文章,如果覺得我沒有寫清楚,也可以參考一下其他人的文章,
          元數據的定義就是:描述數據的數據,你非要問什么描述元數據,還是元數據本身,UML中也有這種概念,只不過是描述的對象不一樣罷了。

          讓我們解釋的更加通俗易懂一些吧,在javaSE中也有metadata的概念,最早的就算是JavaDoc了,在5.0之后,Annotation就是 大量的使用metadata了,這是關于源代碼的數據,具體來說就是關于Java的類、方法、字段等關聯的附加數據。這些數據可以被Java的編譯器或者 其它工具(比如Java IDE 象eclipse+junit一樣)來發現和使用。
          junit在4.0后也使用了Annotation也算是metadata的一種應用。
          可見metadata并不是什么高不可攀的技術,我們時刻都在使用。

          再來看看metadata在BI系統上的定義吧 , 如果你覺得下面這段話很無聊,請直接跳過下面這段 。
          元數據(Metadata)是關于數據、操縱數據的進程,以及應用程序的結構、意義的描述信息,其主要目標是提供數據資源的全面指南。元數據是描述數據倉 庫內數據結構和建立方法的數據,可將其按用途分為兩類:技術元數據(Technical Metadata)、業務元數據(Business Metadata)和內聯映射元數據(Inter-Mapping Metadata)。
          技術元數據是存儲關于數據倉庫系統技術細節的數據,是用于開發和管理數據倉庫的數據,主要包括數據倉庫結構的描述(各個主題的定義,星型模式或雪花型模式 的描述定義等)、ODS層(操作數據存儲ODS .Operation Data Storage)的企業數據模型描述(以描述關系表及其關聯關系為形式)、對數據稽核規則的定義、數據集市定義描述與裝載描述(包括Cube的維度、層 次、度量以及相應事實表、概要表的抽取規則)。另外,安全認證數據也作為元數據的一個重要部分進行管理。
          業務元數據從業務角度描述了數據倉庫中的數據,它提供了介于使用者和實際系統之間的語義層,使得不懂計算機技術的業務人員也能夠理解數據倉庫中的數據。業 務元數據包括以下信息:使用者的業務術語所表達的數據模型、對象名和屬性名;訪問數據的原則和數據來源;系統所提供的分析方法及公式、報表信息。
          內聯映射元數據(Inter-Mapping Metadata)實現技術元數據與業務元數據的層間映射,使得信息系統的概念模型與物理模型相互獨立,使企業的概念、業務模型重組,以及物理模型的變化相互透明。
          內聯映射元數據從技術上為業務需求驅動、企業數據驅動的雙驅動建設模型提供了重要保證,使信息系統的建設具有更高的靈活性與適應性


          元數據是跟特定的數據對象有關的,換句話說,talend和kettle的元數據就是不一樣的。ETL的元數據就和pentaho report 的元數據不一樣,因為他們要描述的東西不一樣。這些元數據的存儲格式可以有多種,可以儲存成XML格式的也可以是放在數據庫里面的。事實上這兩種最通用 的,也是可以互補的兩種,沒有誰比誰重要之說。
          metadata儲存在repository的地方,我不知道是不是所有的ETL工具都喜歡這么叫.每個repository都會選用數據庫來儲存,他們 都是按照一定的格式,這些格式最后也是可以變成XML形式的.這是看每個工具的支持程度,kettle 就支持導出到XML格式,其他的工具我就不知道了.

          具體解釋到kettle來說,metadata就是你定義的每一個動作.kettle的repository里面有如下一些表,我沒有列出全部,從表的結構看一下kettle的metadata有哪些
          1. R_DATABASE            R_DATABASE_ATIRIBUTE        R_DATABASE_CONTYPE        R_DATABASE_TYPE
          2. R_JOB            R_JOB_HOP            R_JOBENTRY            R_JOBENTRY_ATIRIBUTE            R_JOBENTRY_TYPE
          3. R_LOG            R_LOGLEVEL
          4. R_STEP            R_STEP_DATABASE
          5. R_TRANS_ATIRIBUTE        R_TRANS_HOP            R_TRANS_CONDITION
          6. R_USER            R_VALUE                R_PERMISSION
          7. R_CLUSTER            R_CLUSTER_SLAVE            R_SLAVE
          8. R_PARTITION            R_PARTITION_SCHEMA

          1 . database的鏈接信息.在R_DATABASE_TYPE 表里面包含了所有支持的數據庫鏈接信息,一共是25種,算是支持非常的多了.

          2. 任務設計部分的表,R_JOB_HOP 是指兩個數據之間的鏈接部分, R_JOBENTRY_TYPE 是目前支持的操作種類,一共有27種,包括Transformation , Job , Shell , Mail , SQL ,FTP ,Table exists ,File Exists , JavaScript , Secure FTP , HTTP , Create File , Delete File , Wait for File , Put a file with SFTP , File Compare , BulkLoad into Mysql , Display Msgbox Info , Wait for , Zip file , XSL Transformatio, BulkLoad from Mysql into File , Abort Job , Get mails from POP , Ping a host , Dummy Job Entry .
          其中BulkLoad 只跟Mysql有關,我感覺很奇怪,BulkLoad 是數據庫批量處理的方式,大型數據庫都是支持的,比如oracle就有sqlloader來支持批量處理,其他的大型數據庫應該也有吧,而且在 transform里面kettle也有oracle的支持,在任務設計的時候就只有mysql的支持,不知道什么原因.
          最后一個Dummy Job Entry 就是什么都不做.

          3. Log記錄,loglevel 一共有6種,Nothing at all , Minimal loggin , Basic loggin , Detailed loggin , Debugging , RowLevel(very detailed).根據你自己的需要來選擇log的級別.

          4. 每一步操作的表格與你使用的數據庫

          5. 轉換的定義.一共有70種不同的轉化,你不會想看到全部列出來的,其中有幾種很有用的,比如DimensionLookup , 它的解釋就是"在一個數據倉庫里更新一個漸變維,或者在這個維里查詢信息.
            還有基于關鍵字刪除記錄,
            cuebOutput, 把數據寫入一個cube,
            從一個excel文件讀數據,執行一個sql腳本,調用數據庫的儲存過程,
            OraBulkLoader ,調用oracle 的bulk loader to load data ,(應該是指Oracle的SQLLOADER吧).
            ProSAPCONN, 從一個SAP系統取數據.
            MergeRows,合并兩個數據流, 并根據某個關鍵字排序.  這兩個數據流被比較,以標識相等的、變更的、刪除的和新建的記錄.

          插一句關于merge的概念,從網上copy下來的:
          MERGE語句是Oracle9i新增的語法,用來合并UPDATE和INSERT語句。通過MERGE語句,根據一張表或子查詢的連接條件對另外一張表 進行查詢,連接條件匹配上的進行UPDATE,無法匹配的執行INSERT。這個語法僅需要一次全表掃描就完成了全部工作,執行效率要高于INSERT+ UPDATE。
           
          6. 用戶與權限.一開始建立的用戶有兩種,admin和guest ,權限有5種,Read only access , Administrator , Use transformations , Use Jobs , Use schemas .

          7. pentaho官方網站上面有一個新聞是關于在mysql的
          Kettle集群新記錄:
          最近Kettle集群基于 Amazon Elastic Computing Cloud做了一次測試,單臺服務器輸出4000 rows/sec ,數據庫為MySQL. 如果你發送數據通過sockets從一個master到5個slave servers, 你將獲得 5x4000 row inserts/sec。集群的效果非常好.

          我個人也做過測試。數據庫是oracle 10.2.0.1,內網連接,從一臺機器的oracle到本地機器,沒有集群,速度也大概是4000 多一點 ,數據量大概是16萬。

          8 . 數據庫分區是數據庫的高級特性之一,oracle的XE版和Enterprise版本的有一個差別就是XE版不支持分區。


          kettle還支持metadata搜索,可搜索的選項包括步驟,數據庫連接和注釋 ,可見metadata對于ETL的重要性就是它能夠更好的管理你的數據,而不只是讓你的數據呆在數據庫里面。kettle對與數據庫的元數據管理并不是 很好,所謂數據庫的元數據就比如數據庫中表的名字,每一個column的信息,column的長度,每一個表的constrain,index等,而只有 提供這些信息的管理才能夠將ETL過程做的更好。下一篇介紹ETL質量控制的時候會看到oracle warehouse builder 對于這些數據管理是多么的強大,目前kettle的能力還不能算是非常的強大的。

          pentaho平臺本身還有一種metadata , 在官方主頁上是這么寫的:
                 pentaho metadata的能力是讓管理員定義一個抽象層來顯示數據庫信息和商業流程,管理員用關系型數據庫的表來表現相互之間的關系,為了復雜和含義模糊的數據 庫表和列而創建商用術語,為特性用戶而設定權限參數,指定默認的數據格式,為多種語言部署提供翻譯,商業用戶可以使用pentaho新的ad hoc query能力查詢他們想要的報表,比如訂單的數量和按地區排序的客戶開銷,SQL可以自動取得這些信息。

          數據倉庫的建模也需要用到metadata, oracle的數據倉庫建模就是用的一種叫 Common Warehouse Metamodel 的metadata , CWM提供一個數據倉庫的標準讓不同的廠商集成和管理他們的數據,CWM建立在開發的標準XMI(XML for Metadata interchange)  XML 和 UML2 作為建模語言。CWM 用UML2 定義一組核心類,這些類分作package(或者叫做子模型submodels),每一個提供一個特定的數據倉庫的domain , 比如 Relational , OLAP ,Transformation , CWM 提供一個強大的數據模型來實現數據倉庫的Extraction , transformation , loading , integration and analysis   ,沒有一個單獨的模型能夠滿足各種應用程序和開發工具的需求,但是CWM 為這些工具提供特定的擴展,它被設計用來支持關于metadata的快速開發,使用戶能夠通過擴展來滿足他們的需求。(上面這段話翻譯自http: //www.corba.org/vendors/pages/oracleCWM.html , 翻譯的不是很好,如果各位有興趣可以自己去看看)

          下一篇介紹ETL的數據質量控制。


          posted @ 2007-05-22 21:39 gemini 閱讀(600) | 評論 (0)編輯 收藏

          商業智能平臺研究(七) ETL 的選型

          商業智能平臺研究(七)   ETL 的選型
          看了一段關于魔獸世界的視頻,講的是4個小孩子被一個人PK,那四個小孩子拼命練級最后打敗那個人的故事,其中有一句話翻譯的很好,
          gentleman ,we are dealing with the guy have absolutely no life .
          先生們,我們正在對付一個徹頭徹尾的宅男。

          總是有很多事情覺得應該去做,總是說等有了時間去做??烧娴挠辛藭r間又沒有去做。想到了eygle (oracle一個很厲害的DBA) 的一篇文章,天道酬勤。
          http://www.eygle.com/archives/2006/02/the_sun_repays_industriously.html
          一年有四個計劃,然后又加了一個計劃,如以上目標不能實現,則順延至下一年.
          希望自己的計劃列表上也不要有這一條吧,加油加油。
          引用steve jobs 在stanford上的最后一句話
          Stay Hungry. Stay Foolish
          求知若飢,虛心若愚。

          openI : openI 并沒有指定的ETL 工具
          spagoBI : spagoBI 官方是支持多種ETL工具的,但他們的合作伙伴是 talend . talend 最近剛剛發布了2.0版本 , 自己聲稱是業績第一個開源的ETL工具.基于eclipse平臺。1.1版最后處理數據的方式是用perl,2.0版剛剛加了用java處理的方式,不過 支持的數據源比較少.
          jaspersoft : jasperETL ,一個基于talend的工具,不知道有什么不一樣,大概是購買了talend的二次開發許可證。
          pentaho : kettle ,現在已經改名叫pentaho data integration 了,不過一樣可以叫kettle ,是pentaho獨立的一個子項目,最近剛剛發布了2.5版本,非常容易安裝和使用,跟pentaho一樣,人氣很旺。


          讓我們先看看ETL過程的設計是如何的定義的:
          1 .數據抽取、   轉換和加載,是數據倉庫實現過程中,數據由數據源系統向數據倉庫加載的主要方法,整個數據處理過程如下:
          2 .數據抽取  : 從數據源系統抽取數據倉庫系統所需的數據,數據抽取采用統一的接口,可以從數據庫抽取數據,也可以從文件抽取。對于不同數據平臺、源數據形式、性能要求的 業務系統,以及不同數據量的源數據,可能采用的接口方式不同,為保證抽取效率,減少對生產運營的影響,對于大數據量的抽取,采取“數據分割、縮短抽取周 期”的原則,對于直接的數據庫抽取,采取協商接口表的方式,保障生產系統數據庫的安全。
          3 . 數據轉換  :  數據轉換是指對抽取的源數據根據數據倉庫系統模型的要求,進行數據的轉換、清洗、拆分、匯總等,保證來自不同系統、不同格式的數據和信息模型具有一致性和完整性,并按要求裝入數據倉庫。
          4 . 數據加載  :  數據加載是將轉換后的數據加載到數據倉庫中,可以采用數據加載工具,也可以采用API編程進行數據加載。數據加載策略包括加載周期和數據追加策略,對于電 信企業級應用,采用對ETL工具進行功能封裝,向上提供監控與調度接口的方式。數據加載周期要綜合考慮經營分析需求和系統加載的代價,對不同業務系統的數 據采用不同的加載周期,但必須保持同一時間業務數據的完整性和一致性。


          ETL的功能。

          ETL 功能的強弱很難用一個指標來評價,大概從以下幾個方面可以粗略的考慮

          支持的平臺,支持數據源,流程設計,Metadata管理,可擴展性 , API , 數據驗證,數據質量管理 ,

          *支持的平臺
          很多的服務器不是運行在Windows系統上,所以平臺的支持非常的重要,Windows,Linux, Solaris,HP-UX , IBM AIX ,都是服務器常用的操作系統,至于Applet OSX我就不敢說了,如果哪個ETL工具只綁定在Windows平臺上,恐怕支持的程度會很低,所以用java做的東西會占一點點的上風,企業用的東西還 是要有一點跨平臺的能力滴。

          *支持的數據源
          這里把數據源分為三種,數據庫,文件,第三方應用程序
          主流的數據庫如 Mysql , Oracle , MS SQL Server , IBM DB2 , Sybase 還包括各種各樣的數據庫比如MS Access , PostgreSQL , Informix , Firebird SQL , Hypersonic , SAP DB , CA Ingres , SAP R/3 System 和任何支持ODBC的數據庫,有人會對MS Access 和 Hypersonic 數據庫上榜有疑問,我承認他們不是商業型數據庫,可是我們不能否認他們的存在。這里要提一下JDBC 的好處了,JDBC的標準使數據庫的通用性提高了很多。
          支持的文件格式也算是ETL數據源一種很重要的輸入,其中有兩種是必須支持的,普通文本格式文件和CSV文件,另外還包括zip文件,XML文件,當然是 按照一定格式輸出的,有的是數據庫本身輸出的比如oracle的,有的是第三方工具輸出的,也有是自身的ETL工具輸出的格式,對文件格式支持又分為 Read和Write,Read就是輸入,要求支持的格式盡可能的多,而Write則因工具而不同,可能有的特性包括:按照field分隔數據,多種文件 格式輸出,追加的方式輸出,按照文件大小或指定的行數自動分割文件等等。
          支持的第三方應用程序也是ETL的附加特性,比如支持SAP 或者一些流行的ERP 數據格式的處理,但是并不是每個ETL工具都會有的特性,這個因工具而異。


          *流程設計
          ETL數據處理是非常復雜的,一個好的ETL流程設計工具不是憑一兩個功能就算是成功的工具,流程設計也不可能因為一兩個步驟就完成,我只是盡量挑些我知道的說吧,如果大家有補充的話,也歡迎留言或給我發email:  jj12tt@yahoo.com.cn
          由于ETL過程的復雜性,為了方便的管理,高性能,可擴展性,大多采用象多線程,分布式架構,來提高管理和性能,所以GUI設計工具也要有相應的支持才能更好的完成工作.

          輸入和輸出的時候要能夠備份和恢復,你也可以認為這是數據流向臨時表.
          要能夠方便的更改數據的結構,最好還有版本控制支持,不一定要非常的強大,至少要記錄下每次更改的過程.
          字段的轉化功能要盡可能的強大,talend的轉化設置還可以支持正則表達式.最好很多轉換都有默認值,能夠支持公式.
          可以自定義函數,當然函數本身不能大復雜,跟公式轉化能夠搭配.
          支持復雜的過濾,分組,查詢.能夠按照行或列進行聚合.
          能夠有基于時間的調度方式,事實上這也是必須的.
          要有好的性能,能夠批量的處理請求,并且這些性能是可視化的,也就是要有一個度量.每次轉化多少數據用了多少秒或分鐘,kettle官方上寫的性能指標是 4000/s,如果一條數據算1k 的話,一秒鐘就是4M 的數據量,1GB就是256秒,大約4分鐘多,應該算是非??梢越邮艿闹盗?不然別人也不會寫在官方網站上了.
          所有的任務都是能夠集中管理的.也就是說,多個不同的客戶端ETL工具有一個共用的服務器來設計任務,每個人可以設計自己的部分,但是執行的時候是一個整體在執行.
          要有好的異常處理方式.出錯是在所難免的,問題是出錯了之后你怎么處理的問題.
          是否支持集群,大型的數據庫可能都會避免不了使用集群,如果轉化的時候支持集群速度可能會提高非常之多,而且集群的特點就是只讀服務器比較多,而ETL本身就是只讀的,所以和集群也是非常和的來的.



          流程是分步驟的,一個步驟又有可能是由多個任務來組成的,所以一個好的GUI是必不可少的,所以我們也說說GUI的特性:
          1 . drag and drop 特性是必不可少的。而且有的時候需要一些對話框和向導來收集用戶的行為。
          2 . 任務是可以復制和剪切的。
          3 . 每一個動作都是可以描述的。也是可以取消和重做的。取消和重做的次數不說是無限次數,也要盡可能的大。
          4 . 每一個任務都是必須要有起點和終點的,起點只有一個,但是終點就不一定了。
          5 . 要有圖形化建立數據庫鏈接的方式。能用圖形化建立每一步,每個任務的方式。
          6 . 界面的可定制性要好,顏色要選鮮艷一點的,字體可以調的,圖形化界面要可以放大和縮小的,(不是吧,這也算)。當你要面對數十個任務的時候,數據錯綜復雜,顏色鮮艷一點不至于讓你睡著了,你就知道為什么需要了。
          7 . 支持多條路線,也就是一個數據點可以把數據分散到多個不同的下一級數據點,多個下一級數據點又可以把數據匯集到同一個數據點。
          8 . 可以預覽,所謂的預覽就是把指定數量的數據而不是全部數據進行處理,查看結果是否滿意。
          9 . 可以在數據運行的時候動態的pause , cancel , redo .尤其是在進行耗時很長的動作的時候,或者你發現前一個步驟出錯的時候。
          10 . 顯示數據處理時的狀態要清楚。你正在鏈接到一個database ,你正在讀8000條記錄,你正在更新這些記錄而不是新建記錄,每一步操作所處的狀態要明確。
          11 . 要支持緩存 .這應該算是提高性能的好方法,但是緩存不能丟失。
          12 . 所有的操作可以存儲。不論你是存儲成XML格式的,還是用元數據儲存在database里面。
          13 . 存儲的操作可以讀取。并且是不丟失任何數據的讀取。
          14 . 識別不同的數據庫數據類型。long , String , data , text ,還包括table , index, sequence 等等。
          15 . 對數據庫要有編輯器的支持。要有可視化圖形的建立 query 的方式。旁邊應該有group , order by , sum , avg 等標準函數的支持。


          下一篇介紹ETL 的metadata .


          posted @ 2007-05-22 21:39 gemini 閱讀(695) | 評論 (0)編輯 收藏

          四個開源商業智能平臺比較(六)

          四個開源商業智能平臺比較(六)
          roadmap是一個項目的計劃表,個人認為任何一個項目都應該有的,這樣你的developer能夠知道自己工作的項目處在什么狀態,也不至于每天都在沒日沒夜的忙,卻不知道自己在忙什么,這樣更能夠提高團隊的士氣。


          openI的roadmap我好像是看到過了的,但是等我去找的時候卻沒有了,所以直接跳過,如果有哪位朋友看到了,也請麻煩告訴我一聲。


          JasperSoft

          我找到的這一篇是November 2006的,找了半天也沒找到最新的,它是分各個不同組件的,我挑一些說一下:
          1 。 Many components of JasperIntelligence are localizable. We are doing a pass through to make sure localization works at all levels.
          2 。 Dashboards Multiple reports and OLAP components displayed in a single screen
          3 .  Portal (JSR168) integration: portlets, security
          4 . Report data sources in all JR query languages, including Mondrian and XML/A
          5 . Scheduling Enhanced UI for scheduling management
          6 . JasperAnalysis   Filtering views according to user profile, not just role
          7.  
          JasperAnalysis   Visual Schema Builder
                                          Visual MDX builder
          JasperETL是基于talend的,所以不在我討論之列。

          1 可以看出jaspersoft的全球化的意圖,實際這也是每一個成熟項目都需要面對的。
          2  DashBoard是BI展現層技術比較集中的一個地方。我本身沒有看過jaspersoft的DashBoard。
          3 . portal是BI展現層不可避免要用到的技術,后面我也會就portal專門有一個篇比較的
          4. data warehouse 也是支持越來越廣泛。
          5. 任務調度必不可少
          6. 基于profile的參數控制也算是基于權限控制的另一種途徑。因為普通的權限控制不可能滿足BI的要求,太多的參數要管理了
          7. Visual , Visual , Visual 不知道它的MDX怎么做的,如果跟JPivot一樣就..................

          pentaho的roadmap,官方甚至說沒有commitment(許諾),仍然挑幾條:
          1. Accelerate dashboard creation by delivering a dashboard design tool.
          2. Business users will be able to select from subject areas predefined by administrator and apply filters (for example, certain time periods or product lines) to select the subset of information they need.
          3. Wizard-driven interfaces to streamline the deployment and optimization of OLAP cubes .
          4. Easily incorporate data from multiple sources into Pentaho Data Mining solutions via Pentaho Data Integration.
          5. Offer integration with Content Management Systems (CMS) to store and manage access to generated reports.

          這是一個總的它的roadmap,它的各個組件還有各自自己的roadmap.
          1. 用DashBoard Design tool來做Dashboard,易用性又提高不少,pentaho喜歡把tool做成基于eclipse的tools,spagoBI則是喜歡模塊化的設計,都基于web + plugin模式.
          2. 預定義的filter,最后大家都可以共享和分發filter,有點像社交社區的功能
          3. 用wizard-driven的方式來建cube,OLAP的功能會越來越厲害的,JPivot的不爽的另一種表現(挑撥離間我最在行,開玩笑的,大家別當真)
          4. 我也不懂什么意思,pentaho論壇上也有人問了,沒有回答
          怎么集成的,怎樣data mining , 集成到哪了,kettle嗎?只有等release才知道
          5. 終于還是要動用CMS來解決問題了,spagoBI在這點上領先一點.


          spagoBI
          spagoBI的roadmap看了會讓你非常的驚訝,為了表示我對spagoBI這個雄心勃勃的項目的尊敬,貼出全部roadmap(加了數字)
          First half 2007

          Analytical engines and end-user functions

              1 ETL: integration of Talend OS tool
              2 OLAP: new OLAP engine for web based analysis or local spreadsheet elaboration - Integration of Palo/JPalo OS tool
              3 OLAP: new XMLA engine, to integrate MS Analysis Services
              4 QbE: profiling and filtering over data according to the behavioural model
              5 Dashboard: enrichment and new components
              6 Personal folders to storage private documents and the possibility of sharing them
              7 Personal menus of quick access to all kind of documents

          Developer/administrator functions

              8 Scheduler: production, distribution and storage of off-line reporting, deferred execution of documentary Dossiers, Mining or ETL processes
              9 Search engine
              10 Predefined set of metadata to implement frequently used time parameters (ex. current month, current year, current date)
              11 Self-analysis: analytical model developed with the SpagoBI platform on its own metadata. This model offers the developer/administrator the full visibility on the behavioural model and on the analytical metamodel managed by the platform.
              12 Rich client (Ajax) for the developer and administrator functions
              13 Designers: enrichment and simplification of the interactions with the platform for the development of the analytical documents
              14 Evolution of the platform towards SOA architecture
              15 Metamodel

          Second half 2007

          Analytical engines and end-user functions

              16 Dashboard: new engine
              17 Subscription: capability for the end-user to enter himself to the periodic delivery of predefined reporting.
              18 Alerts and notifications
              19 Geo-referenced analysis: improvement of the current engine and integration of GIS solutions
              20 Navigation profile, to inherit settings during the vertical and cross navigation between the analytical areas and documents

          Developer/administrator functions

              21 Installer and end-user interface for the configuration of the environment
              22 Rich client (Ajax) for the developer and administrator functions
              23 Designers: enrichment and simplification of the interactions with the platform for the development of the analytical documents
              24 Evolution of the platform towards SOA architecture
              25 Metamodel

          Applicatory development areas

              * What-if
              * BPM


          有很多人認為 pentaho有多么多么厲害,證據呢?能告訴我厲害在哪些方面嗎?這個roadmap也許會給你一個不一樣的答案pentaho宣傳做的很好,有microsoft的風格,有什么都展現出來
          spagoBI更像是一個默默努力的developer,技術一流,不懂的展現自己。

          2和3是支持新的OLAP Server的,Mondrian可不是唯一的選擇。
          4. 跟pentaho一樣基于profiling,只不過spagoBI有自己的
          behavioural model(行為模式) ,比pentaho厲害一點
          5 . pentaho的DashBoard注重在易用性方面,spagoBI 則是強調在功能上
          6 和 7.pentaho的cms只是一個plan,spagoBI已經在做private folder和共享文檔了,還有導航,技術又高一點.
          8. mining ETLprocess ,后面我會在ETL的部分提到的
          9 . Search Engine 基于lucene的search,cms一部分
          10 .跟pentaho一樣,常用的查詢預先定義
          18. 用戶通知方式的加強.不知道會不會有 RSS的方式
          19 . GEO 的查詢快要和GIS集成了,十分期待,不知道會不會一樣引用Google的API或是仍然基于原先的SVG.
          21 - 25都是為用戶易用性和更好的用戶體驗做的增強.


          這篇文檔有很多的英文,英文不好的朋友可以下載一個星際譯王,emule上面有個綠色版,如果你不想麻煩的話,這也是個不錯的選擇.還是建議大家學好英文 呀,看英文文檔很方便的,最近跟美國那邊的客戶交流要搞死我了,長期不知道是他們的口音重還是我的詞匯不夠,同事也跟我一樣一頭的包,努力努力再努力,睡 覺是為了努力工作,努力工作是為了安心的睡覺.
          睡覺去了,ZZZZZzzzzzzzzzz..............

          下一篇介紹ETL的選型,敬請期待.

           

          posted @ 2007-04-23 12:33 gemini 閱讀(1812) | 評論 (0)編輯 收藏

          四個開源商業智能平臺比較(五)

          四個開源商業智能平臺比較(五)
          lumi問JPivot能否單獨使用,不能,根據其主頁上的描述, JPivot is a JSP custom tag library that renders an OLAP table and let users perform typical OLAP navigations like slice and dice, drill down and roll up. It uses Mondrian as its OLAP Server. JPivot also supports XMLA datasource access.
          換句話說,它必須使用一個OLAP的服務器做后臺,大多數選擇Mondrian,當然,JPivot也支持XMLA的數據源,我不太清楚除了SQLServer外還有誰是的。
          要使用JPivot就必須使用多維數據表,我想你們公司應該是普通OLTP的數據表,那么就需要ETL工具了,工作量恐怕也非常之大。

          JPivot在展示向上鉆取和向下鉆取的功能需求時是否比較方便?
          是的,非常的方便,JPivot是一個JSP custom tag,你要需要指定數據源和寫一個xml的描述文件就可以了,它本身是很簡單,問題是前面的步驟。

          你說你們的SQL有40M我一點也不驚訝,我們公司小的也差不多有10多M,從20多個表取數據,如果什么都選的話,會有50多M,順便問一句,你計算出有40多M是用的P6SPY嗎?我是用這計算的,用TOAD格式化的時候沒有死機,其實這個大小很平常的,不過速度倒是差到了不行,最近我當了回DBA把oracle優化了一下,硬盤空間只給我30G,沒空間你叫我怎么做優化,我們公司developer用的機器是512M內存跑oracle,eclipse ,tomcat,toad,這種配置的確讓我很無奈。不過報表最后速度還算可以接受,大概1分鐘不到可以Run出一個Excel的報表6 worksheet,每個worksheet數據大概在6K到2W左右,哦,對了,我們還使用了線程,run  excel的時候,是彈出一個單獨的窗口來run的。
          普通的報表跟BI的報表是完全不一樣的,所以不知道還有什么能幫你的,希望你早日脫離苦海,也祝我自己早日脫離苦海。阿彌陀佛

          這次要比較的是四個平臺的體系結構,
          首先看openI的體系結構:



          RDL是Report Define Language
          openI具有一個BI應有的大部分特性了,
          report :  jasperreport ,JFreeChart
          olap :   mondrian +  JPivot
          data mining:   weka
          它的各層銜接的非常的緊,好像用了eigenbase做數據管理,不是很清楚這部分,openI在做數據挖掘的時候它沒有調度器,它的Portlet Interface 主要是指在用JPivot的時候JPivot可以到處使用
          openI沒有自己的開發專屬工具,入門門檻也相對較低。

          JasperSoft



          JasperSoft最重要的就是它的報表,但是它支持輸出的格式很多,管理的方式也很多,也用了eigenbase做數據管理。
          有比較完善的權限控制,用的acegi,
          支持多種數據源,只要有JDBC驅動。
          它的產品已經形成了一個產品線,最著名當然還是它的JasperReport。
          你可以看到它為了更好的管理各種報表和數據,有自己專屬的展現平臺JasperServer,這個平臺是 06/26/2006才創建的,完全是JasperSoft為了實現BI而邁出的重要一步。jasper沒有數據挖掘。
          有任務調度器,用了quartz。
          有自己專屬的ETL: JasperETL
          它有自己的OLAP SERVER : jasperAnalysis
          展示層用到了AJAX和applet, 也有DashBoard。
          查詢語句支持SQL, Hibernate (HQL), XPath (XML), EJBQL, MDX(多維查詢語言,OLAP專用,SQLSERVER用的是XMLA)

          SpagoBI



          spagoBI平臺厲害很多,也復雜了很多。
          它的各個組件之間模塊化很好,Plugin加載,來看一下它的各個組件:
          report : BirtReportDriver ,  BirtReportEngine , JasperReportDriver ,JasperReportEngine
          GEO :  GeoDriver , GeoEngine(用地圖顯示數據和查詢的)
          OLAP : JPivotDriver , JPivotEngine
          QBE  :  QbeDriver, QbeEngine   (以前學Hibernat的時候記得總是說QBE功能很弱,不知道這個這么說 )
          Data Mining : WekaDriver  ,  WekaEngine
          Security :  ExoPortalSecurityProvider
          Booklet (小冊子) : BookletsComponent: it is a component for booklets generation.主要包括文件上傳,工作流,OpenOffice支持。

          它還有文檔管理,用的是apache的JackRabbit,有搜索功能,用的lucene.不愧是做cms,portlet,workflow出身的,技術就是牛。

          spagoBI的使用的工具也比較多:
          Report :  Bird  ,   JasperReport
          ETL :   Octupus  和  talend   (talend是官方合作伙伴,順便說一句,官方主頁好像打不開,www.talend.com ,我是直接在sf.net上搜索然后下載下來的)
          OLAP :  Mondrian  和  JPivot
          Data Mining   : Weka
          Portal   : eXoPortal

          它的展現層也使用了AJAX特性,另外它在DashBoard也使用了openlaszlo,(一個用Java code 生成Flash的框架,主頁是http://www.openlaszlo.org/。新版的4.0好像也要支持生成DHTML) 所以spagoBI的DashBoard看上去很爽.
          spagoBI的ETL是非常之牛的。你可以看到它下面的數據處理層是單獨分出來的,至于為什么牛,我在后面ETL部分會專門提到的。
          還有一些很細節的東西,想BIPortlet,BIMessage , Notify ,Schedule , Workflow ,Rule Engine ,Profiling ,Analytical Document 我會在后面盡量把我知道的說一下。


          pentaho



          pentaho的體系結構跟spagoBI非常相像,我甚至都沒看出來有上面很大的區別,
          不過pentaho喜歡把自己的東西稱作solution,以下引用自pentaho的whitepaper:
          pentaho BI 平臺不同于傳統的BI產品。它是一個以流程為中心的,面向解決方案的(Solution)的框架,具有商業智能(BI)組件,使得公司可以開發商業智能問題的完整解決方案
          pentaho一樣把數據處理層看的很重要,多種數據顯示方式,甚至有RSS輸出。
          pentaho是有各種開源組件組成的。
          ETL :  Kettle  (界面上顯示的是pentaho Data Integration ,previously Kettle)
          Report : Pentaho Report (它也支持Birt 和  JasperReport 的集成 ,還有專門的文檔)
          OLAP  : Mondrian 和  JPivot  (Mondrian已經加入了pentaho , 估計pentaho跟JPivot有仇,雙方互看對方不爽,所以JPivot沒有加入pentaho,呵呵,看玩笑)
          Platform : Pentaho Planform
          Data Mining: Weka  (Weka也加入了pentaho)


          下一篇介紹他們的roadmap ,你一定會發現驚奇的事情的。


          posted @ 2007-04-22 14:22 gemini 閱讀(3119) | 評論 (1)編輯 收藏

          四個開源商業智能平臺比較(四)

          四個開源商業智能平臺比較(四)
          昨天晚上回家就收到了javaeye的管理員發給我的開專欄的郵件,效率之高令人佩服,前幾天發錯了東西要管理員刪除也很快就刪了,再次謝過了。專欄地址http://www.javaeye.com/subject/Business-AI
          謝謝大家關注。如果有比較相關的文章也請大家推薦一下。還不是很會用專欄。也希望能和大家一起成長進步。
          eyejava朋友(主頁http://eyejava.javaeye.com/)有個評論:
          更關心的這些項目能幫助我們做什么,而不是他們的文檔、demo、網站做得多好。

          那我想問,如果貴公司是一家汽車公司(包括汽車研發,制造,銷售,售后等),最近準備部署一個BI系統,而公司又沒有人對這一塊有了解,大家應該怎么辦。你如果從搜索引擎或者新聞網站上了解到有這么四個開源的BI系統,還包括一些其他的商業BI公司,包括國內的和國外的,你應該這么評估的呢?
          如果是我,我會先到一個網站上瀏覽一下,看一下人家主頁是什么樣子,有什么成功的產品,有哪些客戶,大客戶總是讓人放心一點點,mysql好像都是他們的合作伙伴,這個項目有沒有體系結構圖,screenshot,roadmap,我最喜歡看圖了,一開始我就說了我只是一個粗人。網站上面有沒有技術白皮書,如果有文檔,我會挑一些文檔下下來看一下,screenshot總能給人一個直觀的映像。 eXoPortal給我的映像就很深,因為他們網站上有一個51.5M的Flash演示篇,我心目中的最佳開源Portal平臺就從Liferay變成了 eXoPortal了.文檔的質量好壞標準由是不是能讓人看懂為標準。我們沒有時間把所有東西都試到,所以這些東西是客戶了解產品的最初途徑,最原始的客戶宣傳了??赡苣愕募夹g很好,但是客戶看不到,你要人家這么選擇你的產品呢?人家客戶不懂什么Spring,Hibernate,EJB,SOA的,我管你春天冬不冬眠的。看你的screenshot上界面漂亮一點就選漂亮的了。
          我個人更喜歡站在不同的角度看問題,從測試者的角度我喜歡用firefox的Selenium來錄制腳本回放,雖然我們公司自己的項目是不會用到的,但這也是一種用戶體驗,喜歡用eclipse的TPTP來做JUnit的test和性能test。(不知道TPTP的Block問題解決了沒有,不然總是讓我卡機),也喜歡站在一個客戶的角度來看一個系統,為什么JasperSoft的網站導航沒有pentaho的做的方便和漂亮,而不僅僅是技術的角度,developer的角度。當然后面也會講到很多細節上面的東西。

          lumi說到報表的問題,我們公司做交叉報表是先定好每一欄,然后統計,用sql湊起來的,生成excel的文件,模板也是excel的,沒有任何圖形化的界面,改一點東西痛苦的要死,沒有人知道sql湊的對不對,出錯了就是該你加班的時候了。BI的報表之所以不一樣是因為它本身是不知道你的數據庫是什么樣子的,所有的東西都是動態生成的,所以跟我們的普通設計的報表不一樣,這也是為什么需要報表設計器。而且BI做的報表是先把數據導進OLAP服務器,所以查詢的時候會比普通的報表強大很多,這就是普通的數據庫和專業的數據倉庫的區別,它們有自己的多維查詢語言。pentaho的交叉報表后面也會提到的,其他的自己不了解,不敢亂講話。

          sonic_yj覺得我的評分比較籠統一點,的確是,所以我說了是個人評分,主要考慮到的是功能的強弱,文檔的清晰程度,沒有考慮到性能的問題,主要是我沒有辦法用大數據來測。而我最怕的是我因為自己的不了解而給一個系統妄下結論,所以不敢亂寫(實際上我已經妄下了結論)。



          jaspersoft的VMware的Demo 讓我很奇怪,848M的東西,里面的只有一個SugarCRM的Report的Demo,跟我看他們宣傳的Flash那個版本不一樣。
          相信JasperSoft本身的能力絕對不是這個Demo里面的這樣,





          pentaho的Demo:
          主頁


          點左邊餅狀圖,右邊的數據會跟著變,pentaho認為這個就是它們的DashBoard了,跟SpagoBI的比差了一些。


          本次的主角登場了。pentaho里面的JPivot,一樣的灰色,一樣的菜單。


          不得不把技術最牛獎頒發給JPivot了,連pentaho這么愛美的項目都拿它沒轍,當當當當(如果你不能用有旋律的聲音念出這四個當,證明你很久沒看電視了)
          JPivot聲淚俱下的說:感謝pentaho給與我這個機會,感謝開源社區給于我一貫的支持,感謝CCTV,MTV,還有千千萬萬的關注朋友,沒有你們的支持就沒有我今天的JPivot了.............

          JFreeReport



          pentaho認為的DashBoard



          GEO的搜索,spagoBI也有,不過好像沒有這么強大。還跟google map的API 結合了,易用性又高了一點,



          各種不同的報表,畢竟報表是BI的最初也是最重要的一環。



          pentaho的殺手應用,Mondrian + JFreeReport  .數字沒對好。要扣分的。



          Demo的BI Platform是在JBoss Portal上的。不過要說明的是pentaho本身是平臺無關的,無論你是在tomcat,jboss,weblogic,你選用哪種portal都一樣,數據庫支持的很多,Hibernate做的,只要你有JDBC驅動。
          中間空的會不會太大了一點,下面倒是中規中矩的portal




          換了個theme后的portal,漂亮多了,平臺的顏色是一致的。




          后臺管理界面,跟SpagoBI一樣,有耗時比較長的任務都是放在后臺運行,運行完了才有提示,都是用quartz做的。



          運行報表時的sql,Demo是在HSQL平臺。SQL也是中規中矩的SQL




          如果你想更快與我交流的話,可以發郵件到我郵箱,jj12tt@yahoo.com.cn 。
          不過有三點要說的:
           1 . 我不是專家  (絕對不是)
           2 . 我不是水王  (希望不是)
           3 . 我是個粗人  (絕對就是)
          所以有什么寫錯了的地方還請大家指正。


          posted @ 2007-04-18 23:48 gemini 閱讀(2064) | 評論 (1)編輯 收藏

          四個開源商業智能平臺比較(三)

          四個開源商業智能平臺比較()

          先回答一下各位的評論,blogjava上的江南白衣  朋友(主頁: http://www.aygfsteel.com/calvin/)有個評論,說openI項目不怎么更新了。我查了一下sf.net上的消息,

          2月份倒到現在也沒過多長時間,算是正常更新速度。
          另外他說Jaspersoft還是偏重報表而不是BI,個人覺得BI是由很多步驟組成的,后面的文章會提到的,報表是一種初級的BI,也是最重要的一環。另外jaspersoft也有自己的JasperAnalysis還有自己的ETL工具,(說實話,看Demo的時候,硬是沒看出來和talend有什么區別,自己沒有用過)產品線也算是比較廣了。
          javaeye
          sonic_yj朋友(主頁http://sonicyj.javaeye.com/)想我給出一個個人評分。如下
          openI          65
          分, openI項目本身很小,是適合小規模快速部署的。
          JasperSoft   75
          分, JasperSoft的報表本身沒什么好說的。產品線也的確算是正規的商業公司
          spagoBI       80
          分  spagoBI平臺比JasperSoft的大,它自己也不是什么都自己做,和pentaho一樣,應用了一些其他開源平臺的東西。
          pentaho       89
          分  pentaho的名氣很大。野心也不小,之所以這么高分,我很多都是給在了它的文檔。文檔質量非常之高,而且還有幾份是中文的,可見其全球化的野心呀。國 內的廠商要小心了。為什么是89分,而沒有9090以上呢,就是覺得pentaho現在的差別并沒有把spagoBI或著JasperSoft耍到哪 去?;具€算同等級的。
          不過,我們做軟件的都是很聰明的,看一個人要看他的志向,看一個項目的前途要看它的趨勢,pentaho的野心已經有了,氣勢也有了,相信在2,3年之后才可能真正的看出差別來。自己也非常的期待這個項目的發展。

          剛才用openoffice的時候copy/paste上面標題的時候,竟然掉了 “開”字,上一次是掉了 “平” 字,退出然后重copy/paste就好了.打引號的時候,老是出現右引號,非要空一格才能出現左引號,不知道是bug還是自己不會用.郁悶


          好了,開始介紹它們各自的Demo

          這一次是要比較它們各自的demo:

          OpenI提供下載的demo只有一個,在線演示的有兩個,下載的一個是叫foodmart

          需要mysql.部署起來相對比較麻煩.至少花了我十分鐘.然而在實際的生產環境中.部署openI是最快的,因為它的組件相對較少,貼兩張在線演示的圖片.



          下面的灰色比較難看的表格就是JPivot,的確是很牛的一個項目,不光是技術,關鍵是界面的顏色,后面介紹pentaho的時候也會提到的.呵呵

           

          JasperSoftDemo要先注冊才能下載

          Welcome to the JasperReports demo. JasperSoft and VMware have partnered together to create a virtual application showcasing JasperReports, the world's most popular open source reporting engine. The VMWare image contains a sample web application showing how JasperReports can be used to add reporting to any application. This sample is using SugarCRM as a data source, but can be used with other applications data as well.

          To get started, please fill out the brief form below and you will be taken to the download area.

          做成VMware,Demo部署起來就不用一分鐘了,只要你裝好了VMware.放就是了

          它自己本身還有一個宣傳片.是做成Flash.貼幾張圖 順便查了一下Ad Hoc是點對點的意思



          本來想多帖幾張的,但上傳空間只有10M,后面還要用的。所以只貼兩張

          VMware的Demo會放在后面一篇。

          spagoBIDemo部署起來也非常之快.下載spagoBI demoeXoPortal-tomcat-1.1.3.別先啟動tomcat.把一個往另一個覆蓋.啟動sbidata里面的HSQL,啟動eXoPortal,按照Readme里面的網址打開瀏覽器就夠了,我個人部署的時候是沒問題.可是OLAP進去就報錯,其他的都沒問題,幸好它還有一個在線的Demo.

          而且難能可貴的是它還有十個tutorials,Flash,而且還是分階段介紹的,

          不得不說這給我留下了太深的印象了,一千個字也許沒有一個圖片更能介紹清楚的,一百個圖片也許沒有一個Flash更能介紹清楚的了,也許SpagoBI的平臺知名度比JasperSoft的和Pentaho的要少的多.但是這十個Flash的確證明了他們團隊對于平臺的推廣下了很多的功夫的.


          技術再好,也要讓別人知道才有用.


          如果你用firefox瀏覽器的話,觀看完Flash之后,flash會在

          C:\Documents and Settings\<>\Local Settings\Application Data\Mozilla\Firefox\Profiles\<<隨即號>>\Cache里面,查看文件大小,大概在597KB3502KB之間,把文件名改為以.rmvb為后綴的就可以保存下來看了

          還是貼幾張圖

          JPivot的多維查詢,SpagoBI也拿界面沒辦法.呵呵


          jfreereportjaspersoft報表,也有BIRT

          DashBoard

          Data Mining

          多維查詢條件選擇

           

          下一篇是pentaho的demo和JasperSoft的

          posted @ 2007-04-16 22:25 gemini 閱讀(1892) | 評論 (1)編輯 收藏

          四個開源商業智能平臺比較 (二)

          四個開源商業智能平臺比較()

          一個好的項目總是有很多的文檔,一個失敗的項目總是有各種理由沒有文檔或很少的文檔。所有我們有理由來比較一下四個平臺的文檔。



          openI的項目相對來說比較的小,文檔可能也少一些,

          Installation Document

          As Mick Jagger would say -- "Start me up"

          User Guide

          Instructions on creating/modifying analysis

          Architecture Overview

          Oh yeah, there was some design work

          Java Doc

          Oh yeah, there is internal documentation


          文檔雖少,主要的都有了,

          實際上,這也是每個項目都應該有的文檔了,java doc文檔實際還是很必要的,方便查詢API



          jaspersoft的文檔

          分類

          描述

          數目

          Books
          Books on JasperSoft solutions for sale.
          7
          Report Samples
          Sample reports typically include the jrxml, html, images, and/or pdf showing result.
          11
          Articles
          Technical articles from around the globe on JasperSoft products
          21
          JasperServer
          Documentation for JasperServer
          10
          iReport
          Documentation for iReport
          14
          JasperReports
          Documentation for JasperReports
          8
          JasperETL
          Documentation for JasperETL
          2
          JasperSource Tips and Tricks


          8

          Jaspersoft的文檔不可謂不多,而且集中在report上,大家也都知道,JasperSoftjasperreport是業界領先的一種報表方式。而iReport則是jasperReport的設計器,好的report都是 有自己的設計器的,因為報表的種類很多,不可能把所有的情況都考慮到,所以想要需要自己的設計器。相對于國內的智能平臺,光報表這方面來說的話,就沒有自己的設計器,所以要想開發一些新的報表樣式就得定做,而且不容易管理,修改。所以設計器還是很必要的,無論是做成RCP還是web形式。



          SpagoBI的文檔

          How_To—1.6.doc.zip

          How_To—1.6.pdf.zip

          QuickStart—0.9.2.doc.zip

          QuickStart—0.9.2.pdf.zip

          SpagoBI_JBoss_Installation_Manual-1.4.3.doc.zip

          SpagoBI_JBoss_Installation_Manual-1.4.3.pdf.zip

          SpagoBI_JOnAS_Installation_Manual-1.4.3.doc.zip

          SpagoBI_JOnAS_Installation_Manual-1.4.3.pdf.zip

          SpagoBI_eXoTomcat_Installation_Manual_1.4.3.doc.zip

          SpagoBI_eXoTomcat_Installation_Manual_1.4.3.pdf.zip

          spagoBI的文檔只有怎么安裝的,關于它的組件的文檔相對就少了,可能是開發著文檔只有在進入他們的社區或者是在社區開發者內部才有的吧。順便說一下,spago本身還有自己的cms , portlet , workflow.實力絕對不容小看



          pentaho的文檔也非常的豐富


          Pentaho Getting Started Guide

          Pentaho AJAX Guide

          Pentaho Security Guide

          Pentaho Subscriptions

          Software Quality Reports for Bugzilla Getting Started Guide

          Software Quality Reports for Bugzilla Solution Documentation

          Pentaho Cube Designer User Guide

          Pentaho Creating Solutions

          Pentaho Data Mining Experimenter Tutorial

          Pentaho Data Mining Explorer Guide

          Pentaho SDK

          Pentaho Advanced Installation Guide

          Pentaho Customizing Deployments

          Pentaho Advanced Reporting Guide

          Pentaho Component Builder's Guide

          Pentaho Dashboard Builder's Guide

          Pentaho Internationalization Guide

          Pentaho BI Design Studio User Guide

          Pentaho Report Design Wizard User Guide

          Pentaho Report Designer User Guide

          Pentaho Report Bursting Guide

          Pentaho Jasper Report and BIRT Integration

          Pentaho Using System Actions to Control Data Access

          Session and Global Filter Guide

          從文檔的豐富程度也看出pentaho的體系相對較大,不過文檔倒是覆蓋的面比較廣。其中的Pentaho Report Design Wizard User Guide

          Pentaho Report Designer User Guide 是針對Pentaho Report Design的,一個基于eclipse平臺的報表設計器。和jaspersoft一樣,它把報表跟報表設計器飛開了,spagoBI好像是沒有單獨的報表設計器。它都是集成在一個WEB平臺里面的。


          Pentaho AJAX Guide 是它自己的一個AJAX工具包的開發文檔,從pentaho網站的漂亮程度看的出來。Pentaho對于美觀還是非常的注重的。


          Pentaho Cube Designer ,Pentaho Data Mining , Pentaho Dashboard Builder's ,Pentaho Internationalization , Pentaho BI Design Studio 則是它的各個組件的開發文檔。對于國際話還有專門的文檔,看來pentaho 在開發的一開始就沒打算之針對英語市場,spagoBI也有國際話,

          cmsportlet都應該有吧,jaspersoft有沒有我就不知道了,


          pentaho也和另外的報表有集成,Jasper Report and BIRT Integration ,也算是業界主流的報表吧,spagoBI也跟其他有集成,后面會介紹的。



          下一篇將會介紹各自的Demo

          posted @ 2007-04-15 18:22 gemini 閱讀(2526) | 評論 (1)編輯 收藏

          四個開源商業智能平臺比較 (一)

               摘要: 四個開源商業智能平臺比較
          本人最近花了一些時間研究了一下開源的商業智能平臺,想和大家交流一下。
          在開始本blog之前,我想先說一句話:其實,我只是一個粗人
          所以如果有什么寫的不好,還請見量。  閱讀全文

          posted @ 2007-04-14 16:52 gemini 閱讀(1992) | 評論 (0)編輯 收藏

          僅列出標題
          共2頁: 上一頁 1 2 

          導航

          統計

          常用鏈接

          留言簿(3)

          隨筆檔案

          相冊

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 玛纳斯县| 赤水市| 四川省| 闸北区| 上林县| 庆元县| 广河县| 定安县| 通化市| 南城县| 保亭| 讷河市| 呼玛县| 闽侯县| 布拖县| 岫岩| 屯留县| 旌德县| 镇远县| 玉林市| 鲁甸县| 大埔区| 温泉县| 扶风县| 陇西县| 邢台市| 鲜城| 佛坪县| 阳信县| 双鸭山市| 阿勒泰市| 桂阳县| 进贤县| 金秀| 阳新县| 南投市| 文成县| 通城县| 丰台区| 五寨县| 岳西县|