在學校的時候從asp轉到ASP.net從而接觸了c#和.Net,期間為學校和社會做過很多的門面網站和一個BS的政務系統。畢業後從事BI的開發工作,主要關注SSAS往上的部分,包括復雜的動態報表的開發,後期發現Silverlight的優勢所以研究RIA在BI中的應用,並把地圖數據也應用進項目。第一個項目就取得了意想不到的效果,也成為了在BI圈裡應用RIA方案裡比較早的一批吃螃蟹的人。先後經歷過公安,保險,廣告以及電信行業的BI。
題外話:為什麼博客園id是ASPnetx而從事的確實BI以及silverlight相關的工作,大致的原因就是如此吧。
正題:
為什麼BI,海量數據的統計和分析通過BI的方案,相比於純TSQL的統計,可以提高查詢和分析的性能,另外通過多維分析的方式可以幫助客戶更好的去理解數據。
最近總被問到相關的類似問題,所以平時就總結了一些,逐漸有了不成形的積累,大致記錄如下。
微軟可能受到些制約,所以很多產品在國內的支持力度並不是很給力,從事相關開發的人也相對少一些。本文主要根據我這些年的經驗總結,給各位做評估的項目一些參考。
根據情況的不同,文中提及的產品名稱沒有標注版本,但通常都指其最新版本。後續版本可能會略有變化,但根據筆者的經驗不會出現在未來三年中。
微軟的BI產品體系:
SQL Server
BI的核心,其中從下到上包括三個部分,SSIS,SSAS,SSRS
SSIS負責ETL以及整體BI的調度。圖形話界面比較直觀。
SSAS,分析服務,包括Cube和數據挖掘。它也是跟我們通常所見的表和庫相同的另外一種獨立的庫。
SSRS,報表,包括訂閱和發布等功能,最新的版本集成了dundas的一些東西,比之前效果好那麼一點。
以上三個模塊的開發都是通過visual studio shell。
附屬產品體系
Office
體現在Excel中,Visio也有一些,但未見過應用。
MOSS
Sharepoint的收費版本,微軟的門戶解決方案。
PPS被集成到了新版中,就是以前的普科。
按照微軟的產品架構的解決方案:
Windows Server
IIS
SQLServer->SSIS-SSAS-SSRA
MOSS->PPS
Office
優點,全套微軟的解決方案,各部分無縫集成。前端客戶培訓成本低,都是其比較熟悉的Office工具。
缺點,完全依賴於微軟的體系方案。比如要用PPS的一個功能,那麼就被迫要部署MOSS以及購買MOSS整個的授權,對MOSS的維護又是一定的成本。
建議,除非你已經決定了采購微軟的這些產品,否則還是建議你閱讀完本文。
比較常見的方案:
Windows Server
IIS
SQLServer->SSAS
ETL層自定義框架
前端利用第三方組件自行開發
優點,ETL和UI自己開發,可以解決比較復雜的需求。相對來說對於UI層差別很大,比如據說微軟內部很多部門就是自己用Excel去連數據。
缺點,開發維護的成本高。
值得提一句的是,我所最近經歷的項目ETL都是由團隊自己封裝的框架,完全不用SSIS。這個方案微軟美國總部的某些專家也有提到。而我之前團隊的兄弟們,除非數據量在1000萬以內,否則都是寧可自己去實現ETL。
關於為什麼捨棄SSIS,先前團隊的兄弟們曾反映過一個細節,就是在抽取Oracle數據的時候經常半路死掉,一直找不到問題。後來咨詢過一些DBA,他們說是由於Oracle的驅動版本造成的問題。我相信這麼一個比較折騰人的細節,就足夠讓很多兄弟拋棄SSIS這個平台了。
我推薦的方案:
Windows Server
IIS
SQLServer->SSAS
ASP.Net->WebServices
Silverlight
GIS
這個是我一直推薦的BI+RIA+GIS的方案。也就是利用商業智能,加富客戶端比較強的展現能力,並通過地圖的輔組來為客戶更好的展現數據。