Microsoft 資料倉儲架構 !

來源:互聯網
上載者:User
架構|資料 Microsoft 資料倉儲架構

摘要:本文簡單介紹了使用 Microsoft 資料倉儲架構的資料倉儲,討論了資料倉儲能夠實現的功能,使用資料倉儲的恰當時機,以及如何將資料倉儲與系統體繫結構合成一體。
目錄
簡介
資料倉儲
作為資料倉儲模型的立方體
使用資料倉儲進行決策
查看立方體片段和編程介面
Microsoft 資料倉儲架構
資料倉儲的其他應用
實現資料倉儲易犯的錯誤
總結
簡介
1998 年發布的 7.0 版 Microsoft® SQL Server™ 中已經包含資料倉儲軟體。如果您對資料倉儲比較陌生,您可能會問:“它能夠幹什嗎?什麼時候使用資料倉儲比較合適?怎樣才能將資料倉儲與系統體繫結構合為一體?”本文將簡要介紹使用 Microsoft 資料倉儲架構的資料倉儲。
資料倉儲
在軟體行業相對短暫的曆史中,資料庫已經成為收集和分布資訊的系統的基礎。這些資料庫深層隱藏的是統計學或測量方法,戰略家們可以對其進行研究,以提高系統的整體效率。資料擷取是這類資訊的重要部分,目的在於根據資料庫內容進行正確決策。直到最近,這種努力還需要昂貴而笨重的資料擷取軟體包,或能夠將資訊請求精確翻譯成可使用的、更有效查詢的資料庫專家。除特大型的機構以外,對其他所有人來說,這兩種方案的成本都極為昂貴。

就資料擷取的目的而言,能夠有效用於產品分類、庫存控制和訂單條目系統的普通關聯式資料庫可能並不是最佳的設計。跨表和跨資料庫(有時甚至是跨伺服器)匯總輸出可能會非常複雜,而這種複雜是可以避免的。需要進行資料擷取時,建立一個可供資料分析查詢用的資訊中心儲備庫將更有意義。這就是資料倉儲的含義。來自系統不同部分的資訊被整合到資料倉儲中,以便於訪問。
作為資料倉儲模型的立方體
用立方體作為資料倉儲儲備庫的名稱雖然不完美,但比較令人滿意。如何區分資料倉儲立方體和幾何立方體呢?這兩種立方體之間存在幾個重要的不同之處。資料倉儲立方體由任意數量的維度定義(並不限於三維,有時資料倉儲立方體可能少於三維)。描述資料倉儲立方體的維度與描述幾何立方體的長、寬和高一樣。如果需要,可以將維度組合成任意數量的層級。

兩維間的關係可以用網格定型。維度類似於網格座標軸上的標記。儲存格才是內容。內容對應於立方體每個維度交叉結果。儲存格中的資料是一個計量單位。計量單位是判斷立方體的全部依據。如果立方體是關於售出項目的數目,則計量單位就是已出售項目數量的計數。要重複網格樣本,計量單位便是您在網格儲存格中找到的數目。



圖 1:上圖顯示的是兩維立方體的組織圖。在該樣本中,“產品”和“地區”是維度;“椰菜”、“肥皂”、“俄勒岡”、“華盛頓”、“西雅圖”和“斯波坎”是各個維度層級。包含不同圖表的儲存格就是內容。內容儲存格中的單個資料就是計量值。在該樣本中,立方體中共使用了三種計量單位。
維度和層級
對於為雜貨店設計的資料倉儲立方體,其維度可能包括產品、優惠、時間(營業天數)和地區等內容。可能還包括僱員維度和客戶維度(某些雜貨店可能有會員帳戶)。

層級用於將維度按需要組織為更小的單位。根據層級在立方體中的配置,它們還可能包含其他層級。例如,假設有一個地區維。也許這個雜貨店在三個州營業,並且使用州界作為分界線。假設地區維包含三個層級:加利福尼亞、俄勒岡和華盛頓。如果該店在華盛頓州還包括其他子領域(例如西雅圖、奧林匹亞、亞基馬和斯波坎),即使加利福尼亞和俄勒岡地區沒有這樣的情況,這些層級仍可以作為子層級添加到華盛頓地區。層級只是組織維度內容的一種便利方法。
內容和計量單位
內容是由各個維度組合而成的。定位內容類別似於使用座標系。就象數學立方體中的原點可以表示為 (x=0,y=0,z=0),內容將由特定的維度組合(例如 (Product=broccoli, Region=Seattle, Time=Wednesday))表示,產生一個有關星期三在西雅圖銷售椰菜的內容。根據立方體的使用方法,內容可能顯示一個類似於“售出 580 單位物品”或“銷售額為 $860.00”的計量單位。計量單位的含義取決於立方體的定義方式。在本例中,可能有多種椰菜或在西雅圖地區有多個商店。該值將表示定義組的匯總。立方體內的計量單位可能是數字。對於一個雜貨店,計量單位可能會是產品價格、淨銷售額、銷售數量、商品成本等。
匯總
計數和總計的數學運算是資料倉儲之所以有用的重要原因之一,屬於匯總功能。維度組織完畢並已對立方體進行處理後,將開始計算匯總。通常,在立方體初始填充後或對立方體的內容變更後,將立刻進行匯總。
使用資料倉儲進行決策
假設一個雜貨店的情形。假定某種促銷已經進行了好幾天,店主需要決定是否要再次進行促銷。店主可能會產生如下疑問:“促銷期間賣出的產品比促銷前賣出的產品多嗎?”

在使用普通結構的交易資料庫中,雜貨店庫存系統可以記錄價格、產品、銷售和促銷等情況。庫存系統在插入和更新記錄方面進行了最佳化,並且在簡單的程式化選擇(如檢索項目成本)方面可能也進行了最佳化。這種情況是不太可能的:系統的組織方式使得所產生的報告可以按天或按產品詳細描述某種銷售的有效性。事實上,為事務有效性而設計的系統和為查詢有效性而設計的系統間總是存在矛盾。這種情況下,就應該使用資料倉儲。資料倉儲是一個獨立的存放庫,它使用已進行最佳化的結構中現有資源的相關資料。

在此例中,使用資料倉儲將很容易回答店主的問題。通過使用產品、促銷和時間立方體維度,計量項目銷售量的內容記錄總和便可以產生所需的結果。

與此技術相比,其他系統中的資訊甚至可能不在同一資料庫中。庫存資料來源可能和客戶資料來源或僱員資料來源不一樣。即使該系統位於同一資料庫中,建立一個查詢系統(該系統以一種可以產生正確答案的方式合并和匯總結果)也是非常繁瑣的。事實上,合并資料來源和匯總結果正是資料倉儲軟體最擅長的。

FoodMart 樣本立方體包含在 Microsoft SQL Server Analysis Services 軟體,即 Microsoft 的資料倉儲軟體中。對於瞭解使用資料倉儲時可以使用什麼樣的資訊,這是一個非常好的資源。FoodMart 樣本使用雜貨店作為模型。
查看立方體片段和編程介面
雖然將資料倉儲構建成多維可能是簡單的設計選擇,並且對於處理器來說,執行跨越多個維度產生結果的查詢也不是特別的複雜,但是多維輸出的結構顯示起來卻非常困難。圖表、圖形和表格通常都是使用兩維顯示的。雖然有一些好的三維圖表工具,但圖表會變得難以看懂。查看多維輸出的常用技術是一次查看立方體的一個兩維輸出“片段”。這也是 Microsoft SQL Server Analysis Tool 顯示輸出的方式。
使用 DSO
幸運的是,輸出並不局限於兩維。Microsoft SQL Server Analysis Services 為多維資料倉儲輸出提供了編程介面:DSO,決策支援對象 (Decision Support Object)。DSO 能夠用於編程訪問多個維度。

有關包含物件模型和程式員參考的 DSO 的詳細資料,請閱讀 MSDN Online 上的“決策支援對象 (Decision Support Object)”。該連結位於 http://msdn.microsoft.com/library/psdk/sql/prabout_84a4.htm(英文)。
使用 MDX
MDX(多維擴充)是為查詢多維對象和資料而設計的文法。對這樣的系統來說,使用 MDX 要比使用 SQL(為完全不同的對象集而設計)更有效也更有意義。MDX 查詢的文法與 SQL 查詢的文法類似。請注意觀察下面的 MDX 查詢,它將選用前面樣本中的銷售數字(星期三在西雅圖銷售的椰菜):

SELECT [Measures].[Sales] ON COLUMNS [Time].[Wednesday] ON ROWS FROM MySalesCube WHERE [Region].[Washington].[Seattle] AND [Product].[Vegetable].[Broccholi]

本查詢的輸出為一個標記有“銷售額”的列,標記有“星期三”的行和交叉處包含銷售數字“$860.00”的網格儲存格。

SQL Server Analysis Server Manager 包含一個接收 MDX 查詢的介面。此外,MDX 查詢也可以被整合到使用 DSO 的程式中。有關 MDX(包括簡單 MDX 查詢的基本結構和 SQL 與 MDX 之間的主要區別)的詳細資料,請參閱 MSDN Online 上的“MDX”。該連結位於 http://msdn.microsoft.com/library/psdk/sql/agmdxbasics_04qg.htm(英文)。
Microsoft 資料倉儲架構
Microsoft 資料倉儲架構是一個易於整合到當前系統的開放式體繫結構。Microsoft SQL Server DTS 工具用於匯入、匯出以及修複或轉換資料(如果需要)。該架構包含一個用於自訂資料倉儲實現的、以對象為中心的編程介面。還有一個使用者介面,即 Microsoft SQL Server Analysis Services Manager,可用於配置資料倉儲並填寫或更新立方體中的內容。它可用於安排任務、監視效能以及對資料倉儲執行查詢。

您可以從 MSDN Online 瞭解有關如何使用 Microsoft SQL Server Analysis Services Manager 建立立方體的詳細資料,還可以瞭解設計和配置資料倉儲時要注意的原則。請查看位於 http://msdn.microsoft.com/library/psdk/sql/aghtintro_2vov.htm(英文)的“使用方法”一文。
資料倉儲的其他應用
對於決策支援,資料倉儲是一個了不起的工具,但該軟體還具有其他實際用途。

資料歸檔便是其中一種用法。某些系統的儲存能力可能有限。因此需要經常從這些系統中刪除舊資料,以便容納新資料。如果需要歸檔資訊以便儲存長期的曆史報表,請考慮將部分舊資料存入資料倉儲。

資料倉儲將報告資料從運行系統中隔離出來。通過將查詢工作移動到更有效率的系統,這種隔離能夠提高運行系統的效能。可以提高安全性。敏感資訊將儲存在不會暴露給查詢的運行資料庫中。由資料倉儲提供的提取層級簡化了對決策支援應用程式產生的統計表的訪問。
實現資料倉儲易犯的錯誤
資料倉儲可能在幾個方面使商業進程明顯複雜化。

它們倚賴於其他系統。如果資料倉儲所倚賴的資料來源有所更改(例如,該資料來源不再可用或已被新系統代替),那麼也需要對向資料倉儲傳送資料的進程進行修改。設計一個向資料倉儲傳送資料的進程是建立資料倉儲過程中最費時間的任務。

有用資料的可用性非常關鍵。有時資料來源內容對於決策支援沒有什麼用處。如果資料來源是臨時性的,或者帶有未定義結構,或者內容變化得太快,這些都將降低資料倉儲所需的穩定性。建立資料倉儲並不能解決有用資料收集過程中的問題。
總結
Microsoft 資料倉儲架構提供了構造、填充、查看和訪問資料倉儲的工具。資料倉儲軟體的基本單位是立方體,它是來自現有資料來源的整合資訊儲備庫。


相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。