如何輕松掌握數據庫和聯機處理
導讀:Microsoft SQL Server 2000提供可用于生成數據倉庫或數據集市的組件。數據倉庫或數據集市可用于先進的企業智能系統,以處理發現趨勢和分析關鍵因素所需的查詢。這些系統稱為聯機分析處理 (OLAP) 系統。數據倉庫和數據集市中的數據組織方式與傳統的事務處理數據庫不同。
企業級關系數據庫管理軟件(如 SQL Server 2000)最初旨在集中存儲由大公司或政府機構中的日常事務所產生的數據。在過去的幾十年中,這些數據庫已發展成為記錄執行企業日常操作所需數據的高效系統。由于這些系統基于計算機并記錄企業的業務事務,因此被稱為聯機事務處理 (OLTP) 系統。
OLTP 系統
OLTP 系統中的數據主要被組織為支持如下事務:
- 記錄來自銷售點終端或通過 Web 站點輸入的定單。
- 當庫存水平降到定義的水平時,訂購更多的貨物。
- 跟蹤在制造廠被組裝為成品的組件。
- 記錄職員數據。
- 記錄執照的持有者,如餐館營業執照或駕駛執照。
個別事務能夠很快地完成,并且只需訪問相對較少的數據。OLTP 系統旨在處理同時輸入的成百上千的事務。
盡管 OLTP 系統擅長記錄支持日常操作所需的數據,但是 OLTP 數據的組織方式不能很容易地為管理人員提供計劃單位工作所需的信息。管理人員需要對信息進行匯總,以獲取分析影響單位或小組的趨勢所需的信息。他們需要找出影響單位成功的關鍵因素,以及如何最好地調整那些提高企業成功的因素。他們需要找出企業的工作負荷如何受季節和年度趨勢的影響,以便可以預測完成將來的工作所需的職員和資源數量。
OLAP 系統
旨在處理發現趨勢和關鍵因素所需的查詢的系統稱為聯機分析處理 (OLAP) 系統。OLAP 查詢通常需要大量的數據。例如,政府機動車輛執照部的領導可能需要一份報告,顯示過去二十年中每年由該部門注冊的車輛的牌號和型號。對 OLTP 系統中的原始詳細數據運行這類查詢有兩個結果:
- 查詢需要花很長時間聚合 (sum) 過去二十年的全部詳細記錄,所以報告不能及時準備好。
- 查詢產成很大的工作負荷,至少會減慢系統的普通用戶以正常水平記錄事務的速度。
另一個問題是許多大企業并不是只使用一個 OLTP 系統記錄所有的事務數據。多數大企業有多個 OLTP 系統,在這些系統中,有許多是在不同的時間使用不同的軟件和硬件開發出來的。在許多情況下,一個系統中用于標識項目的代碼和名稱與另一個系統中所使用的代碼和名稱是不同的。管理人員在運行 OLAP 查詢時,通常需要能從其中的幾個 OLTP 系統中引用數據。
OLAP 數據被組織到多維數據集中。與組織到關系表中的數據相比,多維數據集中的數據結構為 OLAP 查詢提供了更好的性能。多維數據集的基本單元稱為度量值。度量值是所分析數據的組成單元。例如,一家經營硬件商店的公司想分析出售的不同產品的收入和折扣。度量值就是售出的部件數、收入以及折扣總和。度量值是按維度組織的。在這個例子中,一個三維數據集可以有三個維度:時間、商店和產品。設想這三個維度形成三維虛擬數據集的邏輯 x、y 和 z 軸。
每個維度被劃分為稱為成員的單元。維度的成員通常被組織到層次結構中。相似的成員組合在一起,構成層次結構的層次。例如,時間維度層次結構的頂層可以是年,下一層是月,然后是周、日,最后位于層次結構底層的是小時。在這三個維度的交叉點,記錄與這三個維度值相匹配的度量值。例如,假設開始于 2000 年 2 月 19 日、星期六下午一點的小時是時間維度成員,New York 州 Albany 市的 Store #2 店是商店維度成員,Easy-Clean Mops 是產品維度成員。在這三個維度的交叉點,單元中記錄著售出了 10 個拖把,收入為 $90,00,平均折扣為 $1,00。
在任何一個 OLAP 系統中,為多維數據集定義的特定維度和度量值都取決于各種分析,而這些分析對企業很重要。將關系表中的 OLTP 數據轉換為 OLAP 多維數據集,以及多維數據集的設計,這些都是非常復雜的領域,許多第三方書籍對此有專門論述。
OLAP 系統在數據倉庫或數據集市中的 OLAP 數據上操作。數據倉庫存儲企業級 OLAP 數據,而數據集市較小,通常只適用于組織內的一項功能。
關于輕松掌握數據庫和聯機處理就為大家介紹到這,以后如果有更新的這方面內容,我會繼續及時為大家更新,希望文中講到的內容都能對大家有所幫助。
【編輯推薦】