1. 程式人生 > >大資料導論(4)——OLTP與OLAP、資料庫與資料倉庫

大資料導論(4)——OLTP與OLAP、資料庫與資料倉庫

公司內部的資料自下而上流動,同時完成資料到資訊、知識、洞察的轉化過程。

而企業內部資料,從日常OLTP流程中產生,實時儲存進不同的資料庫中。同時定期被提取、經格式轉化、清洗和載入(ETL),以統一的格式儲存進資料倉庫,以供決策者進行OLAP處理,並將處理結果視覺化。

OLTP & OLAP

企業的資料處理可以分成兩大類:聯機事務處理OLTP、聯機分析處理OLAP。

OLTPOn-Line Transaction Processing,聯機事務處理)——資料庫的增刪查改。是面向“事務”型別的操作。有幾個顯著的特點:要求速度快/操作涉及的資料量不大/要求精準操作。事物型資料大多都具有高度規範化。因此OLTP系統是結構化資料的主要資料來源。

OLAPOn-Line Analytical Processing,聯機分析處理)——支援複雜的分析、查詢操作,側重決策支援,並且提供直觀易懂的查詢結果。解決了涉及多維度資料的問題(傳統資料庫無法滿足OLAP所需要的資料資訊)。

 

資料庫 & 資料倉庫

資料庫的主要應用場景為聯機事務處理(OLTP),資料倉庫的主要應用場景為聯機分析處理(OLAP)。

資料庫(Database)——用於儲存電子檔案,使用者可以對檔案中的資料執行新增、擷取、更新、刪除等操作。為對資料庫進行管理,開發設計出資料庫管理系統(Database Management System)。

資料倉庫(DataWarehouse)——用於儲存資料的中央、企業級系統,儲存的資料多為歷史資料。

  • 特點:資料倉庫中的資料圍繞企業主題(Subject-Oriented )、經過整合(Integrated)、定期更新(Time-Variant)、具有非易失性(Non-Volatile,不可修改,多以只讀格式返回給使用者);
  • 結構:暫存層、整合層、訪問層
  • 與OLAP的關係:資料倉庫為OLAP解決了資料來源問題,並與OLAP互相促進發展,進一步驅動了商務智慧的成熟。

 

【補充】設計資料倉庫的初衷:

是為以關係型資料庫為基礎的運營式系統,向決策支援系統過渡提供一種工具/整個企業範圍內的資料整合環境,並嘗試解決資料流相關的各種問題(包括:如何從多個不同資料庫中調取所需資料、資料共享、資料庫之間的整合)。這個決策支援系統,即商務智慧(Business Intelligence)。

資料倉庫不是可以買到的產品,而是一種面向分析的資料儲存方案。

對於資料倉庫的概念可以從兩個層次理解:首先,資料倉庫用於支援決策,面向分析型資料處理,不同於提高業務效率的操作型資料庫;其次,資料倉庫對分佈在企業中的多個異構資料來源整合,按照決策主題選擇資料並以新的資料模型儲存。

 

資料集市

為方便不同業務部門更高效的獲取資料,可經資料倉庫針對不同業務資料生成子集,形成資料集市。

資料集市面向部門、業務單元或特定應用,因而規模較小,便於快速實現,且成本較低,短期內即可獲得明顯效果。

資料集市的應用不僅滿足了部門的資料處理需求,而且作為資料倉庫的子集,有助於構建完整的企業級資料倉庫。

【補充】來源:      

人們在早期開發企業級資料倉庫時,一般是先建立一個全域性的資料倉庫,然後在此基礎上建立各種應用,即“自頂向下”的方法。但在開發的過程中會出現以下問題。

(1) 如果按“自頂向下”的方法建立企業級資料倉庫,建設規模較大,建設週期長,投資大。

(2) 在資料倉庫建好後,隨著使用資料倉庫的部門增多,對資料倉庫資源的競爭將成為企業面臨的一個難題。

(3) 各個部門希望能定製資料倉庫中的資料,但資料倉庫是面向企業的。

為解決上述問題,人們提出了資料集市的概念。

資料集市可以在資料倉庫的基礎上進行設計,也可像資料倉庫一樣直接設計。資料集市中的資料具有資料倉庫中資料的特點。

 

ETL

資料倉庫並不只是資料的簡單累積,而是經過一系列的抽取、轉換和裝載的過程,簡稱ETL。ETL的主要功能:

1.資料抽取

資料倉庫是面向主題的,並非源資料庫的所有資料都是有用的。因此在把源資料庫中的相關資料匯入資料倉庫之前,需要先確定該資料庫中哪些資料是與決策相關的,資料抽取的流程如下:

(1)確認資料來源的資料、含義;

(2)抽取:確定訪問源資料庫中檔案或表,以及其中的欄位;

(3)確定抽取頻率,以定期更新資料倉庫;

(4)確定資料輸出的格式、儲存位置。

(5)當部分資料無法抽取時,進行異常處理。

2.資料轉換

將來自不同源資料庫中的資料進行格式轉換,轉換內容主要包括:不一致的資料、資料粒度。

  • 值、編碼、單位等不一致的轉換——包括同一資料來源內部的不一致、多個數據源之間的資料不一致等類別。(例:在一個應用系統中,BJ 表示北京,SH 表示上海,GZ 表示廣州。而另一個應用系統中,對應的程式碼分別為1、2 和3)
  • 資料粒度的轉換——粒度反應了資料倉庫儲存的資料的細節程度(粒度越小,資料越細,查詢範圍就越廣泛。)。業務系統一般儲存細粒度的事務型資料,而資料倉庫中的資料是用於查詢、分析的,因此需要多種不同粒度的資料。

3.資料清洗(又稱為“資料的標準化”)

為提高資料質量,需要對資料來源的資料全面校驗,處理資料來源中的各種噪音資料,儘量減少差錯。主要的資料質量問題有以下幾種:

  • 缺失(Missing )資料;
  • 錯誤資料。包括欄位的虛假值、異常取值等;
  • 資料重複;
  • 資料衝突。源資料中一些相關欄位的值必須是相容的。(例如顧客記錄中省份欄位使用SH(上海),而郵政編碼欄位使用100000(北京地區的郵政編碼))。

目前一些商務智慧企業提供資料質量防火牆,例如Business Objects(SAP)的Firstlogic,它能夠解決資料的噪聲。清洗後的資料經過業務主管確認並修正後再進行抽取。

4.資料裝載

資料轉換、清洗結束後需要把資料裝載到資料倉庫中,資料裝載通常分為以下兩種方式:

(1)初始裝載:一次對整個資料倉庫進行裝載。

(2)增量裝載:在資料倉庫中,增量裝載可以保證資料倉庫與源資料變化的同期性。

 

目前市場上主流的ETL工具有:Informatica公司的Power Center、IBM 公司的Data Stage、Oracle公司的Warehouse Builder以及Microsoft 公司的SQL Server IS等。

 

商務智慧

又稱商業智慧或商務智慧(Business Intelligence,簡稱:BI),指用現代資料倉庫技術、線上分析處理技術、資料探勘和資料展現技術進行資料分析以認識到企業績效情況(得到KPI),並指導業務過程。

把商業智慧看成一種解決方案應該比較恰當。商業智慧的關鍵是從許多來自不同的企業運作系統的資料中提取出有用的資料並進行清理,以保證資料的正確性,然後經過ETL過程,合併到一個企業級的資料倉庫裡,從而得到企業資料的全域性檢視,在此基礎上利用合適的查詢和分析工具、資料探勘工具、OLAP工具等對其進行分析和處理(這時資訊變為輔助決策的知識),最後將知識呈現給管理者,為管理者的決策過程提供資料支援。

大資料商務智慧,同時將資料倉庫中的資料與大量企業外部半結構化、非結構化資料結合共同進行分析(觸發了下一代資料倉庫的發展),而且可同時處理多個業務。

BI整體解決方案主要包括:資料清洗、資料脫敏、資料探勘、資料分析、資料展現、資料許可權。

商業智慧產品大致可分為:資料倉庫產品、資料抽取產品、OLAP產品、展示產品、和整合以上幾種產品的針對某個應用的整體解決方案等。

視覺化

商務智慧的輸出結果可通過視覺化技術顯示。主要形式有即席報表和儀表板。

  • 即席報表——用於生成可暫時將不同特性(例如資料類別、期間、合併型別、公司、貨幣型別以及擴充套件維度)合併在一起的報表。在即席報表中,只能使用基於資料輸入表單的報表。
  • 儀表板——是若干檢視的集合,便於同時比較各種資料。

大資料分析的視覺化要求聚合結構化、半結構化和非結構化資料來源,實時、可互動的將海量資料的處理結果展示。(例:天貓雙十一大屏)

 

補充:資料倉庫中的元資料

資料倉庫的元資料是關於資料倉庫中資料的資料。它的作用類似於資料庫管理系統的資料字典,儲存了邏輯資料結構、檔案、地址和索引等資訊。

元資料是資料倉庫管理系統的重要組成部分,貫穿資料倉庫構建的整個過程,直接影響著資料倉庫的構建、使用和維護。包括:

(1)ETL過程中,元資料即定義了源資料庫到資料倉庫的對映、資料轉換的規則、資料倉庫的邏輯結構、資料更新的規則、資料匯入歷史記錄以及裝載週期等相關內容。

(2)使用者在使用資料倉庫時,通過元資料訪問資料,明確欄位的含義以及定製報表。

(3)資料倉庫的規模及其複雜性離不開正確的元資料管理,包括增加或移除外部資料來源,改變資料清洗方法,控制出錯的查詢以及安排備份等。

元資料可分為技術元資料、業務元資料:

  • 技術元資料——為開發和管理資料倉庫的IT 人員使用,它描述了與資料倉庫開發、管理和維護相關的資料,包括資料來源資訊、資料轉換描述、資料倉庫模型、資料清洗與更新規則、資料對映和訪問許可權等。
  • 業務元資料——為管理層和業務分析人員服務,從業務角度描述資料,包括商務術語、資料倉庫中有什麼資料、資料的位置和資料的可用性等,幫助業務人員更好地理解資料倉庫中哪些資料是可用的以及如何使用。

 

元資料有兩種常見儲存方式:

  • 以資料集為基礎——每一個數據集有對應的元資料檔案;
  • 以資料庫為基礎——元資料庫。