數據庫與數據倉庫的區別是什麼

咱們知道,大部分公司都擁有了本身的財務,OA,CRM 等系統。這些系統都有本身的獨立數據庫,記錄着企業運行狀況某個方面的數據。可是單獨看這些系統的報表,並不必定能對企業運行狀況有全面客觀的瞭解。就像只憑身高不能判斷一我的是否健康,因此體檢的時候咱們須要化驗許多指標,作各類檢測,就是爲了對身體狀況有更全面的瞭解,做出更準確的判斷。 javascript

一樣對一個企業,不能僅根據出勤率就判斷一我的的績效高低,由於你不知道他的工做成果狀況。僅根據財務報表輸入支出也體現不了各部門的收益狀況,這個部門有多少工做人員,完成了哪些任務你也不知道。正式因爲這種需求,產生了OLAP(Online analytical processing )應用,在創建了聚集各系統數據的數據倉庫後,OLAP應用能夠快速解析多維的查詢分析,針對查詢出的數據,用戶也能夠方便的進行鑽取,如查詢出了年度數據,能夠很方便的查看月度數據;查詢好地區的數據,能夠再看相應城市的數據,還能夠顯示相應的趨勢圖,柱狀圖,餅圖等,從而給決策者的判斷提供有效的數據支持。 java

1、數據抽取(底層) 數據庫

咱們作飯以前,先要從菜場各個攤位去買咱們須要的原材料,如青菜,番茄,雞蛋,和魚,而後把菜上的老葉子去掉,魚鱗和內臟去掉,洗乾淨。創建OLAP應用以前,咱們要想辦法把各個獨立系統的數據抽取出來,通過必定的轉換和過濾,存放到一個集中的地方,成爲數據倉庫。這個抽取,轉換,加載的過程叫ETL(Extract, Transform,Load).相應的開發工具Oracle有DataStage,微軟有SQL Server Integration Services,Pentaho有Kettle。這些ETL工具通常都支持圖形化流程建模,文本文件映射導入,XML,XSLT,可執行SQL,javascript等。 工具

2、數據建模(中間層) 開發工具

材料準備好後,咱們要規劃他們能夠作出什麼樣的菜。首先咱們選擇主要材料:如魚,一樣是魚,能夠有多種燒法,紅燒,清蒸,油炸,水煮。不一樣的燒法還要搭配相應的輔助材料,如紅燒必定要醬油和蔥姜。想好了菜單,實際上就已經把這些原材料按不一樣的組合創建了必定的關係。對於OLAP應用,也要根據客戶需求,咱們對數據倉庫中這些物理存在的表要進行邏輯建模,以某些重要的事實數據(如銷售數據)爲核心,創建與其餘物理表(維度表)之間的業務關係。如銷售數據跟部門表,客戶表之間的關係。事實和維度之間的組合,就創建了未來作多維查詢的基礎。建模過程造成的結果在各中平臺上的叫法不同,如BO的叫Universe,Oracle中叫Cube,SqlServer2005的叫統一維度模型UDM,開源Pentaho中也叫Cube。相應的開發工具BO有Business Objects Crystal Decisions,Oracle有 Analytic WorkspaceManager ,SqlServer2005有BusinessIntelligence Development Studio,Pentaho有Schema Workbench。相對其餘商業產品,Schema Workbench比較簡單,也沒有和軟件開發平臺如Eclipse集成在一塊兒。 spa

3、多維查詢(服務層和應用層) 設計

準備好了原材料和相應的菜單,接下來就是根據要求燒菜了。這當中須要有一種表達需求的語言,例如一樣是這個紅燒魚,有的人但願甜一些,有些人不喜歡放蔥。若是有一個標準的語言描述這種執行要求,就能保證燒的菜符合你的口味了。一樣,有了表達邏輯關係的模型Cube,數據倉庫中也導入了業務數據,咱們還要告訴執行引擎如何取得咱們真正所要的數據。這個查詢語言就是MDX(Multidimensional Expression),它是微軟在1997年首次提出,併爲多家廠商採用。 orm

4、應用分析(應用層) ip

燒好了菜,還要決定如何上菜,是用碗,用盤子仍是砂鍋,這些都要根據所作的菜式和客戶要求。MDX查詢返回的是多維數據,普通的二維表很難表現超過2個維度的數據,若是要進行數據的鑽取等操做更是難上加難。各廠家的技術平臺都有想應的實現技術。比較底層的界面表現技術Oracle 有Business Intelligence Beans,開源的有JPivot,這些須要開發相應的展現頁面和維護界面,但能夠和已有的系統緊密結合。另外爲了方便用戶使用和維護,也有作成可運行程序的系統平臺。如Oracle有Oracle Business IntelligenceFoundation,開源的有SpagoBI,Pentaho BI Platform等。這些系統都有完整的DashBoard,多維查詢,報表等功能,使用維護都比較方便,缺點就是比較龐大笨重。 ci

用戶需求決定了如何設計模型和數據倉庫,數據模型又是描述數據倉庫的邏輯關係,而數據模型和數據倉庫的某些技術限制也可能影響用戶需求的實現。這三者之間是相互依存和影響着的。而MDX查詢,又是這三者之間的粘合劑,它表達了用戶的需求,通過OLAP引擎的解析,根據數據模型的描述,從數據倉庫找到所須要的數據。

相關文章
相關標籤/搜索