数据仓库-数据仓库的简介(由来、与关系数据库的区别、数据仓库模型)
數(shù)據(jù)倉庫的基本概念
數(shù)據(jù)倉庫泛化、合并多維空間的數(shù)據(jù)。構(gòu)造數(shù)據(jù)倉庫涉及數(shù)據(jù)清理、數(shù)據(jù)集成和數(shù)據(jù)變換,可以看做數(shù)據(jù)挖掘的一個重要預(yù)處理步驟。此外,數(shù)據(jù)倉庫提供聯(lián)機分析處理(OLAP)工具,用于各種粒度的多維數(shù)據(jù)的交互分析,有利于有效的數(shù)據(jù)泛化和數(shù)據(jù)挖掘。
1.什么是數(shù)據(jù)倉庫
數(shù)據(jù)倉庫的建立為工商企業(yè)主管提供了體系結(jié)構(gòu)和工具,以便他們系統(tǒng)地組織、理解和使用數(shù)據(jù)進行決策。
寬泛的講,數(shù)據(jù)倉庫是一種數(shù)據(jù)庫,它與單位的操作數(shù)據(jù)庫分別維護。數(shù)據(jù)倉庫系統(tǒng)允許將各種應(yīng)用系統(tǒng)集成在一起,為統(tǒng)一的歷史數(shù)據(jù)分析提供堅實的平臺,對信息處理提供支持。
數(shù)據(jù)倉庫的關(guān)鍵特征:
面向主題的(subject-oriented):數(shù)據(jù)倉庫圍繞一些重要主體,如顧客、供應(yīng)商、產(chǎn)品和銷售組織。數(shù)據(jù)倉庫關(guān)注決策者的數(shù)據(jù)建模與分析,而不是單位的日常操作和事務(wù)處理。因此,數(shù)據(jù)倉庫通常排除對于決策無用的數(shù)據(jù),提供特定主題的簡明視圖。
集成的(integrated):通常,構(gòu)造數(shù)據(jù)倉庫是將多個異構(gòu)數(shù)據(jù)源,如關(guān)系數(shù)據(jù)庫、一般文件和聯(lián)機事務(wù)處理記錄集成在一起。使用數(shù)據(jù)清理和數(shù)據(jù)集成技術(shù),確保命名約定、編碼結(jié)構(gòu)、屬性度量等的一致性。
時變的(time-variant):數(shù)據(jù)存儲從歷史的角度提供信息。數(shù)據(jù)倉庫中的關(guān)鍵結(jié)果都隱式或顯式地包含時間元素。
非易失的(nonvolatile):數(shù)據(jù)倉庫總是物理的分離存放數(shù)據(jù),這些數(shù)據(jù)源于操作環(huán)境下的應(yīng)用數(shù)據(jù)。由于這種分離,數(shù)據(jù)倉庫不需要事務(wù)處理、恢復和并發(fā)控制機制。通常,它只需要兩種數(shù)據(jù)訪問操作:數(shù)據(jù)的初始化裝入和數(shù)據(jù)訪問。
概言之,數(shù)據(jù)倉庫是一種語義上一致的數(shù)據(jù)存儲,它充當決策支持數(shù)據(jù)模型的物理實現(xiàn),并存放企業(yè)戰(zhàn)略決策所需要的信息。數(shù)據(jù)倉庫也常常被看做是一種體系結(jié)構(gòu),通過將異構(gòu)數(shù)據(jù)源中的數(shù)據(jù)集成在一起而構(gòu)建,支持結(jié)構(gòu)化和專門的查詢、分析報告和決策制定。
數(shù)據(jù)倉庫(data warehouse)的構(gòu)建需要數(shù)據(jù)集成、數(shù)據(jù)清理和數(shù)據(jù)統(tǒng)一。數(shù)據(jù)倉庫的應(yīng)用常常需要一些決策支持技術(shù)。
“單位如何使用數(shù)據(jù)倉庫中的信息?“許多單位都是用這些信息支持商務(wù)決策活動,包括
(1) 提高顧客關(guān)注度,這包括分析顧客購買模式(喜歡買什么、購買時間、預(yù)算周期、消費習慣)
(2) 根據(jù)按季度、按年和按地區(qū)的營銷情況比較,重新配置產(chǎn)品和管理產(chǎn)品的投資,調(diào)整生產(chǎn)策略
(3) 分析運作情況并找出利潤源
(4) 管理客戶聯(lián)系,進行環(huán)境調(diào)整,管理公司的資產(chǎn)開銷。
對于異構(gòu)數(shù)據(jù)庫的集成,傳統(tǒng)數(shù)據(jù)庫做法是:在多個異構(gòu)數(shù)據(jù)庫上,建立一個包裝程序和一個集成程序(或中介程序)。當客戶站點提交查詢時,首先使用元數(shù)據(jù)字典對查詢進行轉(zhuǎn)換,將它轉(zhuǎn)換成相應(yīng)異構(gòu)站點上的查詢。然后,將這些查詢映射并發(fā)送到局部查詢處理器。由不同站點返回的結(jié)果被集成為全局回答。這種查詢驅(qū)動的(query-driven)方法需要復雜的信息過濾和集成處理,并且與局部數(shù)據(jù)源上的處理競爭資源。這種方法是低效的,并且對于頻繁的查詢,特別是需要聚集操作的查詢,開銷會很大。
對于異構(gòu)數(shù)據(jù)庫集成的傳統(tǒng)方法,數(shù)據(jù)倉庫提供了一種有趣的替代方案。數(shù)據(jù)倉庫使用更新驅(qū)動的(update-driven)方法,而不是查詢驅(qū)動的方法。這種方法將來自多個異構(gòu)源的信息預(yù)先集成,并存儲在數(shù)據(jù)倉庫中,供直接查詢和分析。與聯(lián)機事務(wù)處理數(shù)據(jù)庫不同,數(shù)據(jù)倉庫不包含最近的信息。然而,數(shù)據(jù)倉庫為集成的易購數(shù)據(jù)庫系統(tǒng)帶來了高性能,因為數(shù)據(jù)被復制、預(yù)處理、集成、注釋、匯總,并重新組織到一個語義一致的數(shù)據(jù)存儲中。數(shù)據(jù)倉庫的查詢處理并不影響在局部數(shù)據(jù)源上進行的處理。此外,數(shù)據(jù)倉庫可以存儲并集成歷史信息,支持復雜的多維查詢。
2.操作數(shù)據(jù)庫系統(tǒng)與數(shù)據(jù)倉庫的區(qū)別
聯(lián)機操作數(shù)據(jù)庫系統(tǒng)的主要任務(wù)是執(zhí)行聯(lián)機事務(wù)和查詢處理。這種系統(tǒng)稱作聯(lián)機事務(wù)處理(Online Transaction Processing , OLTP)系統(tǒng)。
數(shù)據(jù)倉庫系統(tǒng)在數(shù)據(jù)分析和決策方面為用戶或“知識工人“提供服務(wù)。這種系統(tǒng)可以用不同的格式組織和提供數(shù)據(jù),以便滿足不同用戶的需求。這種系統(tǒng)成為聯(lián)機分析處理(Online Analytical Processing, OLAP)。
OLTP和OLAP的主要區(qū)別如下:
(1) 用戶和系統(tǒng)的面向性
a) OLTP是面向顧客的,用于辦事員、客戶和信息技術(shù)專業(yè)人員的事務(wù)和查詢處理。
b) OLAP是面向市場的,用于知識工人(包括經(jīng)理、主管和分析人員)的數(shù)據(jù)分析
(2) 數(shù)據(jù)內(nèi)容
a) OLTP系統(tǒng)管理當前數(shù)據(jù)。通常,這種數(shù)據(jù)太瑣碎,很難用于決策。
b) OLAP系統(tǒng)管理大量歷史數(shù)據(jù),提供匯總和聚集機制,并在不同的粒度層上存儲和管理信息。這些特點使得數(shù)據(jù)更容易用于有根據(jù)的決策。
(3) 數(shù)據(jù)庫設(shè)計
a) 通常,OLTP系統(tǒng)采用實體-聯(lián)系(ER)數(shù)據(jù)模型和面向應(yīng)用的數(shù)據(jù)庫設(shè)計。
b) 而OLAP系統(tǒng)通常采用星形或雪花模型和面向主題的數(shù)據(jù)庫設(shè)計。
(4) 視圖
a) OLTP系統(tǒng)主要關(guān)注一個企業(yè)或部門內(nèi)部的當前數(shù)據(jù),而不涉及歷史數(shù)據(jù)或不同單位的數(shù)據(jù)。
b) OLAP系統(tǒng)常常跨越數(shù)據(jù)庫模式的多個版本。OLAP系統(tǒng)還處理來自不同單位的信息,以及由多個數(shù)據(jù)庫集成的信息。
(5) 訪問模式
a) OLTP系統(tǒng)的訪問主要由短的原子事務(wù)組成。這種系統(tǒng)需要并發(fā)控制和恢復機制。
b) OLAP系統(tǒng)的訪問大部分是只讀操作(由于大部分數(shù)據(jù)倉庫存放歷史數(shù)據(jù),而不是最新數(shù)據(jù)),盡管許多可能是復雜的查詢。
?
3.為什么需要分離的數(shù)據(jù)倉庫
操作數(shù)據(jù)庫存放了大量數(shù)據(jù),為什么不能直接在這種數(shù)據(jù)庫上進行聯(lián)機分析處理,而是另外花費時間和資源去構(gòu)造分離的數(shù)據(jù)倉庫?
分離的主要原因是有助于提高兩個系統(tǒng)的性能。操作數(shù)據(jù)庫是為已知的任務(wù)和負載設(shè)計的,如使用主鍵索引和散列,檢索特定的記錄,優(yōu)化定制的查詢。另一方面,數(shù)據(jù)倉庫的查詢通常是復雜的,涉及大量數(shù)據(jù)在匯總級的計算,可能需要特殊的基于多維視圖的數(shù)據(jù)組織、存取方法和實現(xiàn)方法。在操作數(shù)據(jù)庫上處理OLAP查詢,可能會大大降低操作任務(wù)的性能。
此外,操作數(shù)據(jù)庫支持多事務(wù)的并發(fā)處理,需要并發(fā)控制和恢復機制(如,加鎖和記錄日志),以確保一致性和事務(wù)的魯棒性(Robust:健壯)。通常,OLAP查詢只需要對匯總和聚集數(shù)據(jù)記錄進行只讀訪問。如果并發(fā)控制和恢復機制用于這種OLAP操作,就會危害并行事務(wù)的運行,從而大大降低OLTP系統(tǒng)的吞吐量。
最后,數(shù)據(jù)倉庫與操作數(shù)據(jù)庫分離是由于這兩種系統(tǒng)中數(shù)據(jù)的結(jié)構(gòu)、內(nèi)容和用法都不相同。決策支持需要歷史數(shù)據(jù),而操作數(shù)據(jù)庫一般不維護歷史數(shù)據(jù)。操作數(shù)據(jù)庫中的數(shù)據(jù)盡管很豐富,但對于決策,常常還是遠非完整的。決策支持需要整合來自異構(gòu)源的數(shù)據(jù),產(chǎn)生高質(zhì)量的、純凈的和集成的數(shù)據(jù)。相比之下,操作數(shù)據(jù)庫只維護詳細的原始數(shù)據(jù)(如事務(wù)),這些數(shù)據(jù)在進行分析之前需要整理。由于兩種系統(tǒng)提供大不相同的功能,需要不同類型的數(shù)據(jù),因此需要維護分離的數(shù)據(jù)庫。
?
4.數(shù)據(jù)倉庫;一種多層體系結(jié)構(gòu)
?
(1) 底層是倉庫數(shù)據(jù)庫服務(wù)器,它幾乎總是一個關(guān)系數(shù)據(jù)庫系統(tǒng)。使用后端工具和實用程序,由操作數(shù)據(jù)庫或其他外部數(shù)據(jù)源提取數(shù)據(jù),放入底層。這些工具和實用程序進行數(shù)據(jù)提取、清理和變換,以及裝入和刷新,以更新數(shù)據(jù)倉庫。
(2) 中間層是OLAP服務(wù)器,其典型的實現(xiàn)使用關(guān)系OLAP(ROLAP)模型(即擴充的關(guān)系DBMS,它將多維數(shù)據(jù)上的操作映射為標準的關(guān)系操作),或者使用多維OLAP(MOLAP)模型(即專門的服務(wù)器,它直接實現(xiàn)多維數(shù)據(jù)和操作)
(3) 頂層是前端客戶層,它包括查詢和報告工具、分析工具和數(shù)據(jù)挖掘工具。
5.數(shù)據(jù)倉庫模型:企業(yè)倉庫、數(shù)據(jù)集市和虛擬倉庫
從結(jié)構(gòu)的角度看,有三種數(shù)據(jù)倉庫模型:企業(yè)倉庫、數(shù)據(jù)集市和虛擬倉庫
(1) 企業(yè)倉庫(enterprise warehouse):企業(yè)倉庫搜集了關(guān)于主題的所有信息,跨越整個企業(yè)。它提供企業(yè)范圍內(nèi)的數(shù)據(jù)集成,通常來自一個或多個操作數(shù)據(jù)庫系統(tǒng)或外部信息提供者,并且是多功能的。通常,它包含細節(jié)數(shù)據(jù)和匯總數(shù)據(jù),其規(guī)模由數(shù)兆兆字節(jié),到數(shù)百兆兆字節(jié)甚至更多。企業(yè)數(shù)據(jù)倉庫可以在傳統(tǒng)的大型機、超級計算機服務(wù)器或并行結(jié)構(gòu)平臺上實現(xiàn)。
(2) 數(shù)據(jù)集市(data mart):數(shù)據(jù)集市包含企業(yè)范圍數(shù)據(jù)的一個子集,對于特定的用戶群是有用的。其范圍限于選定的主題。包括在數(shù)據(jù)集市中的數(shù)據(jù)通常是匯總的。
通常,數(shù)據(jù)集市可以在低價格的部門服務(wù)器上實現(xiàn),基于UNIX/Linux或Windows。數(shù)據(jù)集市的實現(xiàn)周期一般是數(shù)以周計,而不是月計或年計。
根據(jù)數(shù)據(jù)的來源不同,數(shù)據(jù)集市分為獨立的和依賴的兩類。在獨立的數(shù)據(jù)集市中,數(shù)據(jù)來自一個或多個操作數(shù)據(jù)庫系統(tǒng)或外部信息提供者,或者來自在一個特定的部門或地區(qū)局部產(chǎn)生的數(shù)據(jù)。依賴的數(shù)據(jù)集市的數(shù)據(jù)直接來自企業(yè)數(shù)據(jù)倉庫。
(3) 虛擬倉庫(virtual warehouse):虛擬倉庫是操作數(shù)據(jù)庫上視圖的集合。為了有效的處理查詢,只有一些可能的匯總視圖被物化。
數(shù)據(jù)倉庫開發(fā)的自頂向下和自底向上方法的優(yōu)缺點:
自頂向下:是一種系統(tǒng)的解決方案,并能最大限度地減少集成問題。然而,它費用高、開發(fā)周期長,并且缺乏靈活性,因為整個組織就共同數(shù)據(jù)模型達成一致是比較困難的。
自底向上:設(shè)計、開發(fā)、配置獨立的數(shù)據(jù)集市的自底向上的方法提供了靈活性、低花費,并能快速回報投資。然而,將分散的數(shù)據(jù)集市集成,形成一個一致的企業(yè)數(shù)據(jù)倉庫時,可能導致問題。
6.數(shù)據(jù)提取、變換和裝入
數(shù)據(jù)提取:通常,由多個異構(gòu)的外部數(shù)據(jù)源收集數(shù)據(jù)。
數(shù)據(jù)清理:檢測數(shù)據(jù)中的錯誤,可能時修正它們。
數(shù)據(jù)變換:將數(shù)據(jù)由遺產(chǎn)或宿主格式轉(zhuǎn)換成數(shù)據(jù)倉庫格式。
裝入:排序、匯總、合并、計算視圖、檢查完整性,并建立索引和劃分。
刷新:傳播由數(shù)據(jù)源到數(shù)據(jù)倉庫的更新。
數(shù)據(jù)清理和變換是提高數(shù)據(jù)質(zhì)量,從而提高其后的數(shù)據(jù)挖掘結(jié)果質(zhì)量的重要步驟,
轉(zhuǎn)載于:https://www.cnblogs.com/EnzoDin/p/10822686.html
總結(jié)
以上是生活随笔為你收集整理的数据仓库-数据仓库的简介(由来、与关系数据库的区别、数据仓库模型)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 希特勒为什么在自杀前才跟爱娃结婚?
- 下一篇: 军婚得在部队办吗