通常我們為應用程序建立數據庫就好了,為什么還要建立數據倉庫呢?它比我們通常建立的數據庫好在哪里呢?
首先看一下什么是商務智能BI?
商務智能(Business Intelligence)指的是用於支持制定業務決策的技能、流程、技術、應用和實踐。核心是通過數據提取、整理、分析,最終通過分析結果制定有關策略、規划,幫助企業了解新的趨勢、抓住新的市場機會、發現潛在的威脅,達到資源的合理配置,節約成本提高效益。
那么商務智能和數據倉庫有什么關系呢?
數據倉庫是指整個商務智能環境中數據存儲的核心基礎設置。
也就是說數據倉庫是商業智能的基礎,它為OLAP、數據挖掘提供分析和決策支持。
為什么不直接訪問源業務系統,而要創建一個新的數據倉庫系統呢?
通常情況下,業務系統不會保留所有的歷史數據。因此,必須創建一個新的商務智能環境,確保能捕獲歷史上所有版本的數據。
現在的系統已經捕獲並存儲了所有的歷史數據,那為何還要創建數據倉庫呢?
1.源系統中的數據一般是為具體應用而做了優化處理,其數據結構是為某個目的專門設計的,而且沒有出於分析需要把系統中的各個組件關聯在一起。為了分析,必須拉數據,即把數據結構化,然后合並導入到數據倉庫系統中,這樣就可以分析和使用數據了。
2.此外,很多源系統已經關閉。預購的軟件包通常不包含關於基礎表、列以及他們之間如何相關聯的文檔。這使得對於數據上下文的理解變得幾乎不可能。有了數據倉庫,可以很容易地理解數據及其之間的關系。
現有的數據源是開源的,包含所有的文檔,而且一直保存所有的數據,那為何還要創建數據倉庫?
如果是這樣,那么目前可能不需要創建數據倉庫系統。檢查是否有數據質量問題;如果有,必要的話對數據進行清洗,然后像以前那樣查詢數據。
如果系統響應時間很慢,那么最好的方式是創建一個新的系統,根據需求從源系統中拷貝數據。
通常來說,在商務智能系統中使用了多個數據源,數據倉庫環境是合並這些不同系統以及匯總全部數據的最佳環境,允許查詢在一個共同的企業環境中運行。
當前,以上問題聽起來很不錯,為什么不用數據倉庫取代當前的業務系統?
針對業務系統設計的數據庫響應時間快,一般是秒級或秒級以下;而數據倉庫在多年間積累和收集的數據有數百萬甚至數十億的記錄,因此響應時間可能變成數分鍾或更長。