數據倉庫
數據倉庫是面向主題的、集成的、穩定的和時變的數據集合。它是一個綜合性的解決方案,主要用于幫助相關部門和業務人員做出更符合業務發展規律的決策。它具有分析歷史數據、集成多個來源的數據以及一致和準確的數據質量的優勢。
數據倉庫的最早概念可以追溯到20世紀70年代,其最初目標是實現企業范圍的集成。比爾。學者Inmon最早將數據倉庫上升到理論層面進行分析,并提出了數據倉庫的概念。數據倉庫在20世紀90年代開始流行。1994年,Ralph Kimball提出了數據集市的概念,允許構建更小、更專用的數據倉庫來解決企業級數據倉庫的實施困難。隨著數據集市的增加,企業面臨著數據一致性的問題。最后,比爾·恩門提出的CIF(企業信息工廠)體系結構將數據集市集成到一個統一的企業信息框架中。
其基本架構包括數據源、數據存儲和計算、OLAP服務器以及前端工具和應用程序。該系統分為邏輯結構、客戶機/服務器(C/S)結構和不同的體系結構模式。它包括五個層次:數據源、數據提取、元數據、數據倉庫管理和數據集市,并涵蓋索引和分區等技術。因為它為最終用戶提供了處理所需決策信息的有效方法,所以它被廣泛應用于銀行、金融服務、消費品和零售及批發部門,以及許多基于需求的產品的生產部門。
發展歷史
萌芽階段
數據倉庫的最早概念可以追溯到麻省理工學院在20世紀70年代進行的一項研究,該研究致力于開發一個技術框架。麻省理工學院的研究人員曾經提出一個指導意見,建議將業務系統和分析系統分開,將業務處理和分析處理分為不同的級別,并采用單獨的數據存儲和完全不同的設計標準。
20世紀80年代初,數據庫、模型庫和方法庫的概念和方法被初步提出,這與麻省理工學院的研究成果不謀而合,并描述了一個具有決策系統的理想框架。然而,當時數據庫技術還沒有廣泛應用,理論研究多于系統建設,以至于決策支持系統的開發缺乏可操作、可實施的技術、方法和工具。于是在20世紀80年代中后期,DEC作為當時技術最先進的公司,集結眾人研究新的分析系統框架,并結合麻省理工學院的研究,創建了TA2(Technical Architecture 2)規范,推動了數據倉庫的發展。后來在1988年,IBM愛爾蘭公司的巴里·德夫林和保羅·墨菲提出了“信息倉庫”的概念。雖然IBM僅用于市場營銷,尚未在實踐中應用,但數據倉庫的基本原理和體系結構已初步形成,相關技術如關系數據訪問、網絡、客戶機-服務器體系結構和圖形界面也已基本具備。。
發展階段
1991年,比爾·恩門發表了關于數據倉庫的開創性著作,解釋了數據倉庫的必要性和好處,并提供了構建指南。這本書奠定了他在該領域的權威地位,為數據倉庫的基本理論、體系結構和分析原理奠定了基石。
1994年,企業級數據倉庫的設計和實施變得越來越困難,第一家實施數據倉庫的公司遭遇了大規模失敗。因此,數據倉庫的構建者和分析者開始考慮只構建企業級數據倉庫的一部分,然后逐步增加它,但這種想法與比爾·恩門相反。此時,Ralph Kimball提出了數據集市和詳細指導的概念,在傳統關系數據模型和多維OLTP之間建立了良好的橋梁,解決了當前的企業級問題。從那以后,數據集市取代數據倉庫變得流行起來。
1996年,關于“企業級數據倉庫和部門級數據集市”和“關系和多維”出現了“Inmon”和“Kimball”兩個對立的流派。最初,數據集市的成功實施占了上風,但隨著數據集市的增加,企業面臨數據一致性的問題,因此數據集市被視為OLTP系統之一。由于數據集市經常出錯,因此出現了一些新的應用,如數據倉庫、數據集市和ODS。由于概念模糊,數據倉庫被理解為OLTP。直到2001年,比爾·恩門提出的CIF(Corporation Information Factory)體系結構終于將數據集市集成到一個統一的企業信息框架中。
快速發展
21世紀初,隨著互聯網技術的飛速發展,大數據時代即將到來。數據倉庫與大數據的融合也成為當前的發展趨勢。例如,在傳統數據源的基礎上,引入來自傳感器、地理信息、社交網絡等方面的非關系數據,通過Hadoop進行數據處理,利用數據虛擬化技術可以整合不同的數據源,然后利用壓縮技術管理更大規模的數據,從而進一步提供數據分析。隨著數據倉庫技術在大數據場景中的廣泛應用,傳統的數據倉庫工具逐漸被大數據工具取代,如OLAP(在線分析處理)。它是一種呈現綜合決策信息的方法,常用于決策支持系統、商業智能或數據倉庫。其主要功能是便于大規模數據分析和統計并為決策提供參考和支持。
基本架構
數據倉庫的基本架構包括數據源、數據存儲和計算、OLAP服務器以及前端工具和應用程序。數據源主要由來自多個業務系統的數據組成。數據存儲和計算主要負責對數據進行清洗和處理,構建數據倉庫的基礎元數據系統。OLAP服務器主要重組多維數據模型分析所需的數據,支持用戶多角度、多層次的分析。前端工具和應用主要包括數據倉庫的查詢、分析和報表工具以及基于數據倉庫開發的各種應用。
核心成分:數據倉庫的組成主要包括五層:數據源、數據抽取、元數據、數據倉庫管理和數據集市。
數據源:數據倉庫中的數據來自多種數據源,主要來自大中型關系數據庫(如Oracle、SQL Server等。)、桌面數據庫(如Access、FoxBase等。)、文件和其他(如Excel、Word、圖像文件、圖形文件等。)和互聯網上的數據(如網頁和電子郵件數據)。從地理上看,數據源可以分布在不同的區域。在數據結構和數據模式方面,它具有不同的結構形式,在數據內涵方面,它具有不同的語義理解。它們構成了數據倉庫的原始信息源,并為數據倉庫處理數據提供了基本材料。
數據析取:數據提取層是數據源和數據倉庫之間的數據接口層。它的任務是將分散在網絡節點中的數據源經過該層處理后,構建一個統一平臺、統一結構和統一語法(語義)的數據實體——數據倉庫。因此,這一層的功能極其重要。它的主要任務是為數據倉庫提供統一的數據并及時更新這些數據。一個完整的數據提取功能包括數據提取、數據轉換和清理、數據加載和刷新,它們構成了數據提取過程的四個連續階段。因為數據抽取由三部分組成:抽取、轉換和加載,所以通常也稱為ETL。
元數據:元數據是指從數據源中的數據到數據倉庫中的數據的轉換過程需要按照一定的規則進行,這些規則往往由一定的規則表示。元數據通常存儲在元數據管理系統中并由其管理。元數據類似于數據庫管理系統中的數據字典,主要用于抽取和刷新,是抽取和刷新的基本依據。
數據倉庫管理:數據倉庫管理一般由數據倉庫管理系統完成,其管理方法類似于傳統的關系數據庫管理系統。因此,傳統的數據庫管理系統一般經過適當的更改后用于數據倉庫管理,例如racle、DB2和SQL Server,它們可以用作數據倉庫管理系統,有時它也可以用于特殊系統管理。
數據集市:數據倉庫是反映主題的全局數據組織,但全局數據組織往往過于龐大。在實際應用中,它們被設置為根據部門或特定任務反映子主題的本地數據組織,這被稱為數據集市。數據集市和數據倉庫的關系相當于傳統數據庫中視圖和數據庫的關系。數據集市的數據來自數據倉庫,數據倉庫是數據倉庫中數據的一部分,通常是直接面向應用的層。
邏輯結構
數據倉庫的邏輯結構包括三個部分:后期數據源、中間數據存儲管理和前期數據分析。
后數據源:主要指操作系統數據存儲,數據倉庫中的數據信息來源廣泛,包括企業的內部數據和外部數據,通過相應的數據存儲進行存儲。
中間數據存儲管理:主要是在定義決策主題需求后,進行數據建模,然后對存儲的數據信息進行清洗和轉換,放入數據倉庫,劃分維度,確定數據倉庫的物理存儲結構。
前置數據分析:是指數據倉庫中的數據經過部門數據中心或多維數據中心,形成對用戶查詢和應用有用的信息。在這個過程中,需要多維分析工具、數據挖掘工具、報表和查詢工具來實現自己的決策支持功能。
C/S結構:通用的C/S結構不僅可以簡化整個工作流程,還可以減少系統的數據傳輸。數據倉庫具有這樣的典型特征,提高了整個數據倉庫的效率。客戶端的主要功能需求包括客戶交互、格式化查詢、報表生成等。服務器上的主要功能包括輔助決策查詢、復雜計算等綜合支持功能。
架構模式
星形模式:星型模式是最常見的數據倉庫結構模式,它由一個數據量大且無冗余的大型事實表和一組小型維度表組成。每個維度表都通過主鍵連接到事實表。這個模式圖就像一個恒星爆發,維度表顯示在中心表周圍的射線上。
雪花圖案:雪花圖案是星形圖案的延伸,與雪花的形狀相似。該模型進一步規范了一些維度表,將數據進一步分解為多個詳細的類別表,并減少了事實表。
主要特征
面向主題的:數據倉庫中的數據是按照某個主題領域組織的。主題是一個抽象的概念,是指僅使用數據倉庫進行決策時用戶關心的關鍵領域。面向主題的數據組織方法是在更高層次上對分析對象的數據進行完整、一致的描述,可以完整、統一地刻畫每個分析對象所涉及企業的數據以及數據之間的關系。
完整的:數據倉庫中的數據主要是對不同來源的數據進行整合,這些數據是在對原始分散的數據庫數據進行提取和清洗的基礎上,經過系統的加工、匯總和整理而得到的。數據倉庫決策支持系統需要集成的數據,而全面正確的數據是有效分析和決策的首要前提。相關數據越完整,結果就越可靠。因此,源數據的集成是數據倉庫建設中最關鍵也是最復雜的一步。
穩定的:數據倉庫中的數據主要用于決策分析,它存儲相對穩定的歷史數據。涉及的數據操作主要是數據查詢和定期更新。一旦某個數據被加載到數據倉庫中,它一般會作為數據文件保存很長時間,并且幾乎不會進行任何修改或刪除。
時變:數據倉庫中的數據通常包含長期歷史數據,因此它總是包含一個時間維度,以便可以研究趨勢和變化。數據倉庫系統通常記錄一個單位從過去某個時期到現在的信息。通常,這些信息可以對該股的發展歷史和未來趨勢做出定量分析和預測。
關鍵環節
數據析取:數據提取是數據進入倉庫的入口。由于數據倉庫是一個獨立的數據環境,它需要通過抽取過程從聯機事務處理、外部數據源和脫機數據存儲介質中導入數據。數據抽取主要涉及互聯、復制、增量、轉換、調度和監控。
數據清理:數據清洗是數據倉庫構建的關鍵步驟,主要是消除錯誤和不一致數據以及解決記錄重復問題的過程。因此它也被稱為數據清理和數據擦洗。數據清洗主要應用于數據倉庫、數據挖掘和綜合數據質量管理。
數據變換:數據轉換是將數據源中的數據按照轉換規則轉換為數據倉庫中的數據,轉換規則一般包括數據類型轉換、數據表示方法、命名轉換、數據合成和數據篩選。一般情況下,數據轉換的實現只能通過相應的軟件工具來實現。
數據挖掘技術:數據挖掘是一種從超大型數據庫或數據倉庫中發現和提取隱藏信息的新技術。其目的是幫助決策者發現JUs之間的潛在關系,并找到經營者忽略的因素,這些因素可能是對預測趨勢和決策行為非常有用的信息。
系統設計
數據倉庫系統的設計分為五個步驟,即需求分析、概念模型設計、邏輯模型設計、物理模型設計和數據倉庫生成。
需求分析:它是數據倉庫設計的基礎。在數據倉庫設計之初,我們應該詳細了解需求。
概念模型:它是從現實世界到計算機世界的中間層次。通過概念模型,客觀世界中的具體問題可以用適合計算機世界的語言和模型來描述。
邏輯模型設計:目的是定義每個加載主題的邏輯實現,并將相關內容記錄在數據倉庫的元數據中。
物理模型設計:主要目的是確定數據和其他物理相關內容的存儲結構、索引策略和存儲策略。
數據倉庫的生成:它是構建數據倉庫的重要環節。所需的數據將從數據源中提取出來,并在數據轉換后根據預定義的數據倉庫模型最終加載到數據倉庫中。
相關技術
指數:索引技術的作用是提高數據倉庫的訪問效率。有三種重要的數據倉庫索引技術:位索引技術、廣義索引技術和標識技術。
比特索引技術:位索引是數據倉庫存儲結構中非常重要的索引技術。它在存儲數據的方式上不同于傳統的關系數據庫。它以“示例”而不是“行記錄”為單位存儲數據,也就是說,它垂直劃分數據。對于每條記錄,滿足查詢條件的真值和假值以“1”或“0”的形式表示,或者以該字段中不能取的值(即多位二進制)表示。
廣義指數:在從操作數據環境中提取數據并將其加載到數據倉庫中的同時,可以根據用戶的需求建立各種“廣義索引”。對于一些頻繁的查詢,建立“廣義索引”比查詢事實表快得多。廣義索引一般以元數據的形式存儲,但其建立的目的與普通索引一樣,都是為了幫助用戶快速完成信息查詢。
識別技術:使用標準數據庫技術來存儲數據倉庫是非常昂貴的,而更好的替代方案是使用基于身份的技術來存儲數據倉庫。它的優點是可以壓縮大量數據,索引所有行和列,并且數據越多,識別數據就比基于標準記錄的數據更有優勢。標識技術是為數據庫中的每個實體創建一個標識,原始數據庫可以簡化為一系列標識。識別記錄后,存儲這些記錄的空間將大大減少。此外,數據量越大,標準數據庫和標識數據庫之間的存儲需求差異就越大,基于標識的數據庫的優勢就越明顯。
劃分:數據分區在數據倉庫中非常重要,通常在應用層。它將數據分解成小的物理單元,以便可以在小的離散單元中管理數據。這將使數據倉庫中的數據加載更加容易,索引建立更加順利,數據歸檔更加容易。
應用領域
銀行業務:銀行部門使用數據倉庫進行市場研究、單個產品的性能評估、匯率和匯率研究以及制定營銷計劃。通過分析持卡人的交易、消費習慣和商戶分類,提供利潤豐厚的議價和特殊優惠。銀行家可以通過數據倉庫解決方案有效地處理可用資源。幫助他們做出更好的決策可以更好地檢查消費者數據、政府要求和市場趨勢。甚至一些銀行使用數據倉庫來有效管理其可支配資源。
政府:政府公共部門可以使用數據倉庫進行與會計相關的服務,如薪酬管理、人力資源、招聘等。除了將完整的刑法數據庫連接到下屬的數據倉庫外,政府還可以使用數據倉庫來維護和分析稅務記錄和醫療保險信息。這有助于根據模式和趨勢預測犯罪活動,查找恐怖分子檔案,評估威脅并發現欺詐。從前罪犯的歷史信息的數據分析中獲得的模式和趨勢可用于預測犯罪活動。
制造業生產和流通:制造和分銷供應商可以使用數據倉庫將所有數據集成在一起。這有助于預測市場變化,檢查當前模式,確定潛在的增長領域,并最終做出積極的決策。
零售數據管理:零售商使用數據倉庫來組織數據存儲。這可以密切關注產品、廣告活動和消費者購買模式。此外,您還可以使用預測消除過程通過分析銷售額來確定快銷和滯銷產品線,并計算每個產品線的貨架空間。
保險承保:數據倉庫對于保險業非常重要。它可以保存當前客戶的記錄,并對其進行分析以發現模式。除了跟蹤記錄之外,它主要用于評估數據模式和未來的客戶趨勢。保險促銷和優惠可以為每個客戶量身定制。最后,它最突出的用途是評估承保過程中的客戶風險并設定最佳保險費。