資料倉儲的深入理解

逸卿發表於2014-05-08
用我自己通俗的語言和你說的簡單些其實它們都是具體的某種資料庫(比如說oracle,informix它們的例項)
--資料庫用來儲存業務資料
--而資料倉儲用來儲存資料庫的匯出資料(通過ETL自動抽取、定時排程)
它們的最終目的是:企業管理者的決策支援與分析。

往高了談,現在時興的BI正包括資料庫、資料倉儲、ETL所有的知識,但它其實並不是一門新的知識。
  

  以下是學術界對DW和BI的研究與定義:
-----------------------------------------------------------
什麼是資料倉儲?
  
  資料倉儲,英文名稱為Data Warehouse,可簡寫為DW。資料倉儲是一個面向主題的、整合的、隨時間不斷變化的資料集合,它用於支援企業或組織的決策分析處理。

資料倉儲之父Bill Inmon在1991年出版的“Building the Data Warehouse”一書中所提出的定義被廣泛接受——資料倉儲(Data Warehouse)是一個面向主題的(Subject Oriented)、整合的(Integrated)、相對穩定的(Non-Volatile)、反映歷史變化(Time Variant)的資料集合,用於支援管理決策(Decision Making Support)。
◆面向主題:操作型資料庫的資料組織面向事務處理任務,各個業務系統之間各自分離,而資料倉儲中的資料是按照一定的主題域進行組織的。

◆整合的:資料倉儲中的資料是在對原有分散的資料庫資料抽取、清理的基礎上經過系統加工、彙總和整理得到的,必須消除源資料中的不一致性,以保證資料倉儲內的資訊是關於整個企業的一致的全域性資訊。

◆相對穩定的:資料倉儲的資料主要供企業決策分析之用,所涉及的資料操作主要是資料查詢,一旦某個資料進入資料倉儲以後,一般情況下將被長期保留,也就是資料倉儲中一般有大量的查詢操作,但修改和刪除操作很少,通常只需要定期的載入、重新整理。

◆反映歷史變化:資料倉儲中的資料通常包含歷史資訊,系統記錄了企業從過去某一時點(如開始應用資料倉儲的時點)到目前的各個階段的資訊,通過這些資訊,可以對企業的發展歷程和未來趨勢做出定量分析和預測。

資料倉儲是一個過程而不是一個專案。
------------------------------------------------
資料倉儲的組成

      資料倉儲資料庫 

      是整個資料倉儲環境的核心,是資料存放的地方和提供對資料檢索的支援。相對於操縱型資料庫來說其突出的特點是對海量資料的支援和快速的檢索技術。 

      資料抽取工具 

      把資料從各種各樣的儲存方式中拿出來,進行必要的轉化、整理,再存放到資料倉儲內。對各種不同資料儲存方式的訪問能力是資料抽取工具的關鍵,應能生成COBOL程式、MVS作業控制語言(JCL)、UNIX指令碼、和SQL語句等,以訪問不同的資料。資料轉換都包括,刪除對決策應用沒有意義的資料段;轉換到統一的資料名稱和定義;計算統計和衍生資料;給缺值資料賦給預設值;把不同的資料定義方式統一。 

      後設資料 

      後設資料是描述資料倉儲內資料的結構和建立方法的資料。可將其按用途的不同分為兩類,技術後設資料和商業後設資料。 

      技術後設資料是資料倉儲的設計和管理人員用於開發和日常管理資料倉儲是用的資料。包括:資料來源資訊;資料轉換的描述;資料倉儲內物件和資料結構的定義;資料清理和資料更新時用的規則;源資料到目的資料的對映;使用者訪問許可權,資料備份歷史記錄,資料匯入歷史記錄,資訊釋出歷史記錄等。 

      商業後設資料從商業業務的角度描述了資料倉儲中的資料。包括:業務主題的描述,包含的資料、查詢、報表; 

      後設資料為訪問資料倉儲提供了一個資訊目錄(informationdirectory),這個目錄全面描述了資料倉儲中都有什麼資料、這些資料怎麼得到的、和怎麼訪問這些資料。是資料倉儲執行和維護的中心,資料倉儲伺服器利用他來存貯和更新資料,使用者通過他來了解和訪問資料。 

      訪問工具 

      為使用者訪問資料倉儲提供手段。有資料查詢和報表工具;應用開發工具;管理資訊系統(EIS)工具;線上分析(OLAP)工具;資料探勘工具。 

      資料集市(DataMarts) 

      為了特定的應用目的或應用範圍,而從資料倉儲中獨立出來的一部分資料,也可稱為部門資料或主題資料(subjectarea)。在資料倉儲的實施過程中往往可以從一個部門的資料集市著手,以後再用幾個資料集市組成一個完整的資料倉儲。需要注意的就是再實施不同的資料集市時,同一含義的欄位定義一定要相容,這樣再以後實施資料倉儲時才不會造成大麻煩。 

      資料倉儲管理:安全和特權管理;跟蹤資料的更新;資料質量檢查;管理和更新後設資料;審計和報告資料倉儲的使用和狀態;刪除資料;複製、分割和分發資料;備份和恢復;儲存管理。 

      資訊釋出系統:把資料倉儲中的資料或其他相關的資料傳送給不同的地點或使用者。基於Web的資訊釋出系統是對付多使用者訪問的最有效方法。

設計資料倉儲的九個步驟

      1)選擇合適的主題(所要解決問題的領域) 

      2)明確定義fact表 

      3)確定和確認維 

      4)choosingthefacts 

      5)計算並儲存fact表中的衍生資料段 

      6)roundingoutthedimensiontables 

      7)choosingthedurationofthedatabase 

      8)theneedtotrackslowlychangingdimensions 

      9)確定查詢優先順序和查詢模式。 

      技術上 

      硬體平臺:資料倉儲的硬碟容量通常要是運算元據庫硬碟容量的2-3倍。通常大型機具有更可靠的效能和和穩定性,也容易與歷史遺留的系統結合在一起;而PC伺服器或UNIX伺服器更加靈活,容易操作和提供動態生成查詢請求進行查詢的能力。選擇硬體平臺時要考慮的問題:是否提供並行的I/O吞吐?對多CPU的支援能力如何? 

      資料倉儲DBMS:他的儲存大資料量的能力、查詢的效能、和對並行處理的支援如何。 

      網路結構:資料倉儲的實施在那部分網路段上會產生大量的資料通訊,需不需要對網路結構進行改進。 

實現上

建立資料倉儲的步驟

1)收集和分析業務需求 

2)建立資料模型和資料倉儲的物理設計 

3)定義資料來源 

4)選擇資料倉儲技術和平臺 

5)從操作型資料庫中抽取、淨化、和轉換資料到資料倉儲 

6)選擇訪問和報表工具 

7)選擇資料庫連線軟體 

8)選擇資料分析和資料展示軟體 

9)更新資料倉儲 

      資料抽取、清理、轉換、和移植 

1)資料轉換工具要能從各種不同的資料來源中讀取資料。 

2)支援平面檔案、索引檔案、和legacyDBMS。 

3)能以不同型別資料來源為輸入整合資料。 

4)具有規範的資料訪問介面 

5)最好具有從資料字典中讀取資料的能力 

6)工具生成的程式碼必須是在開發環境中可維護的 

7)能只抽取滿足指定條件的資料,和源資料的指定部分 

8)能在抽取中進行資料型別轉換和字符集轉換 

9)能在抽取的過程中計算生成衍生欄位 

10)能讓資料倉儲管理系統自動呼叫以定期進行資料抽取工作,或能將結果生成平面檔案 

11)必須對軟體供應商的生命力和產品支援能力進行仔細評估 

      主要資料抽取工具供應商:Prismsolutions.Carleton'sPASSPORT.InformationBuildersInc.'s 

EDA/SQL.SASInstituteInc.

資料倉儲帶來了什麼

      每一家公司都有自己的資料。並且,許多公司在計算機系統中儲存有大量的資料,記錄著企業購買、銷售、生產過程中的大量資訊和客戶的資訊。通常這些資料都儲存在許多不同的地方。

      使用資料倉儲之後,企業將所有收集來的資訊存放在一個唯一的地方——資料倉儲。倉庫中的資料按照一定的方式組織,從而使得資訊容易存取並且有使用價值。

      目前,已經開發出一些專門的軟體工具,使資料倉儲的過程實現可以半自動化,幫助企業將資料倒入資料倉儲,並使用那些已經存入倉庫的資料。

      資料倉儲給組織帶來了巨大的變化。資料倉儲的建立給企業帶來了一些新的工作流程,其他的流程也因此而改變。

      資料倉儲為企業帶來了一些“以資料為基礎的知識”,它們主要應用於對市場戰略的評價,和為企業發現新的市場商機,同時,也用來控制庫存、檢查生產方法和定義客戶群。

      每一家公司都有自己的資料。資料倉儲將企業的資料按照特定的方式組織,從而產生新的商業知識,併為企業的運作帶來新的視角。

為何要建立資料倉儲

      計算機發展的早期,人們已經提出了建立資料倉儲的構想。“資料倉儲”一詞最早是在1900年,由Bill Inmon先生提出的,其描述如下:資料倉儲是為支援企業決策而特別設計和建立的資料集合。

      企業建立資料倉儲是為了填補現有資料儲存形式已經不能滿足資訊分析的需要。資料倉儲理論中的一個核心理念就是:事務型資料和決策支援型資料的處理效能不同。

      企業在它們的事務操作收集資料。在企業運作過程中:隨著定貨、銷售記錄的進行,這些事務型資料也連續的產生。為了引入資料,我們必須優化事務型資料庫。

      處理決策支援型資料時,一些問題經常會被提出:哪類客戶會購買哪類產品?促銷後銷售額會變化多少?價格變化後或者商店地址變化後銷售額又會變化多少呢?在某一段時間內,相對其他產品來說哪類產品特別容易賣呢?哪些客戶增加了他們的購買額?哪些客戶又削減了他們的購買額呢?

      事務型資料庫可以為這些問題作出解答,但是它所給出的答案往往並不能讓人十分滿意。在運用有限的計算機資源時常常存在著競爭。在增加新資訊的時候我們需要事務型資料庫是空閒的。而在解答一系列具體的有關資訊分析的問題的時候,系統處理新資料的有效性又會被大大降低。另一個問題就在於事務型資料總是在動態的變化之中的。決策支援型處理需要相對穩定的資料,從而問題都能得到一致連續的解答。

      資料倉儲的解決方法包括:將決策支援型資料處理從事務型資料處理中分離出來。資料按照一定的週期(通常在每晚或者每週末),從事務型資料庫中匯入決策支援型資料庫——既“資料倉儲”。資料倉儲是按回答企業某方面的問題來分“主題”組織資料的,這是最有效的資料組織方式。

資料倉儲和資料集市

      有關決策支援型資料庫的資料集市是面向企業中的某個部門或是專案小組的。一些專家顧問將資料集市的建造描述為建立資料倉儲全過程中的一步。首先,一個儲存企業全部資訊的資料倉儲被建立,其中,資料均具備有組織的、一致的、不變的格式。資料集市隨後被創立,其目的是為不同部門提供他們所需要的那部分資訊。資料倉儲聚集了所有詳細的資訊,而資料集市中的資料則是針對使用者們的特定需求總結而出的。

      而另外一些專家則認為資料集市的建立並不需要首先建立一個資料倉儲。在這個模型中,資料直接由事務型資料庫轉入資料集市中。一個公司可能建立有多個資料集市,而彼此之間毫無聯絡。

      這種不在建立資料倉儲的基礎上建立資料集市的方式會更便宜、更快速,因為它的規模更加易於管理。

      第二種觀點的缺陷在於無法實現最初建立資料倉儲的最主要的目的——將企業所有的資料統一為一致的格式。現有的事務處理系統的資料往往是不一致、冗餘的。如果首先建立起一個全公司範圍的資料倉儲,組織就能夠獲得一個統一關於企業的活動和客戶的知識庫。如果先建立起一個個獨立的資料集市,那麼資料倉儲的諸多優勢都能夠得以實現,但是企業遠遠無法做到對資料的一致的儲存
----------------------------------------------------------
商業智慧BI

    商業智慧,又稱商務智慧,英文為Business Intelligence,簡寫為BI。

商業智慧通常被理解為將企業中現有的資料轉化為知識,幫助企業做出明智的業務經營決策的工具。這裡所談的資料包括來自企業業務系統的訂單、庫存、交易賬目、客戶和供應商等來自企業所處行業和競爭對手的資料以及來自企業所處的其他外部環境中的各種資料。而商業智慧能夠輔助的業務經營決策,既可以是操作層的,也可以是戰術層和戰略層的決策。為了將資料轉化為知識,需要利用資料倉儲、聯機分析處理(OLAP)工具和資料探勘等技術。因此,從技術層面上講,商業智慧不是什麼新技術,它只是資料倉儲、OLAP和資料探勘等技術的綜合運用。

商業智慧的概念於1996年最早由加特納集團(Gartner Group)提出,加特納集團將商業智慧定義為:商業智慧描述了一系列的概念和方法,通過應用基於事實的支援系統來輔助商業決策的制定。商業智慧技術提供使企業迅速分析資料的技術和方法,包括收集、管理和分析資料,將這些資料轉化為有用的資訊,然後分發到企業各處。

目前,學術界對商業智慧的定義並不統一。商業智慧通常被理解為將企業中現有的資料轉化為知識,幫助企業做出明智的業務經營決策的工具。

可以認為,商業智慧是對商業資訊的蒐集、管理和分析過程,目的是使企業的各級決策者獲得知識或洞察力(insight),促使他們做出對企業更有利的決策。商業智慧一般由資料倉儲、聯機分析處理、資料探勘、資料備份和恢復等部分組成。商業智慧的實現涉及到軟體、硬體、諮詢服務及應用,其基本體系結構包括資料倉儲、聯機分析處理和資料探勘三個部分。
因此,把商業智慧看成是一種解決方案應該比較恰當。商業智慧的關鍵是從許多來自不同的企業運作系統的資料中提取出有用的資料並進行清理,以保證資料的正確性,然後經過抽取(Extraction)、轉換(Transformation)和裝載(Load),即ETL過程,合併到一個企業級的資料倉儲裡,從而得到企業資料的一個全域性檢視,在此基礎上利用合適的查詢和分析工具、資料探勘工具、OLAP工具等對其進行分析和處理(這時資訊變為輔助決策的知識),最後將知識呈現給管理者,為管理者的決策過程提供支援。

提供商業智慧解決方案的著名IT廠商包括微軟、IBM、Oracle、Microstrategy、Business Objects、Cognos、SAS等。

相關文章