公司內部的數據自下而上流動,同時完成數據到信息、知識、洞察的轉化過程。
而企業內部數據,從日常OLTP流程中產生,實時存儲進不同的數據庫中。同時定期被提取、經格式轉化、清洗和加載(ETL),以統一的格式存儲進數據倉庫,以供決策者進行OLAP處理,並將處理結果可視化。
OLTP & OLAP
企業的數據處理可以分成兩大類:聯機事務處理OLTP、聯機分析處理OLAP。
OLTP(On-Line Transaction Processing,聯機事務處理)——數據庫的增刪查改。是面向“事務”類型的操作。有幾個顯著的特點:要求速度快/操作涉及的數據量不大/要求精准操作。事物型數據大多都具有高度規范化。因此OLTP系統是結構化數據的主要數據源。
OLAP(On-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 人員使用,它描述了與數據倉庫開發、管理和維護相關的數據,包括數據源信息、數據轉換描述、數據倉庫模型、數據清洗與更新規則、數據映射和訪問權限等。
- 業務元數據——為管理層和業務分析人員服務,從業務角度描述數據,包括商務術語、數據倉庫中有什么數據、數據的位置和數據的可用性等,幫助業務人員更好地理解數據倉庫中哪些數據是可用的以及如何使用。
元數據有兩種常見存儲方式:
- 以數據集為基礎——每一個數據集有對應的元數據文件;
- 以數據庫為基礎——元數據庫。