T-SQL基礎教程:數據生命週期



作者:Itzik Ben-Gan

圖書:http://item.jd.com/11362891.html


輸入到數據庫的中數據以及後期查詢出的數據,通常被認爲是靜態的東西,但在許多環境中,數據其實更類似於在流水線上的產品,另一個環境移動到一個環境,並在線上進行轉換。本節介紹數據可以駐留的不同環境,以及數據生命週期各個階段的數據和環境特徵。圖1-4舉例說明了數據生命週期。


1-4 數據生命週期


這是每個縮略詞所代表的簡要說明。


  • OLTP聯機事務處理

  • DSA:數據準備區。


  • DW數據倉庫

  • BISM商業智能語義模型

  • DM:數據挖掘。

  • ETL提取、轉換和加載

  • MDX多維表達式

  • DAX數據分析表達式

  • DMX:數據挖掘擴展插件


1.聯機事務處理


數據開始輸入到聯機事務處理(OLTP)系統,OLTP系統的重點是數據輸入,而不是數據報告──事務主要是插入、更新和刪除數據。關係模型主要是針對OLTP系統,規範化的模型爲數據輸入和數據一致性提供了良好的性能。在規範化環境中,每個表代表一個實體並保持最小冗餘。當需要修改一個細節時,你僅需在一個位置修改,這樣對於數據修改可以獲得最優性能,並減少出錯機率。


不過,OLTP環境並不適合報告,因爲規範化的模型通常涉及多個表(用於對應每個實體)以及複雜的關聯。即使是簡單的報表也需要聯接許多表,結果是造成查詢複雜和表現欠佳。


你可以在SQL Server中實現一個OLTP數據庫,並使用T-SQL進行管理和查詢。


2.數據倉庫


數據倉庫(DW)是一個以檢索數據和報告爲目的設計的環境。當它服務於整個組織時,這樣的環境叫做數據倉庫;當它僅服務於組織的一部分(如特定部門)或是組織的一個主題區域時,叫做數據集市。數據倉庫主要是爲了支持數據檢索需求進行的數據模型設計和優化,模型故意進行了冗餘、減少表和簡化關係,最終結果是與OLTP環境相比更加簡單、查詢更高效。


最簡單的數據倉庫設計稱爲星型架構。星型架構包括多個維度表和一個事實表,每個維度表表示要分析的數據主題。例如,在訂單和銷售處理系統中,你可能要分析客戶、產品、僱員、時間以及類似主題數據。星型架構中,每個維度以冗餘數據方式填充成一個單個表。例如,產品維度會被填充成一個單個表ProductDim,替代3個規範化表:ProductsProductSubCategoriesProductCategories。如果要規範化一個維度表,會產生多個表來表示該維度,得到一個所謂的雪花維度。包含雪花維度的架構稱爲雪花架構(而不是星型架構)。


事實表包含事實和度量,如數量和每個相關組合維度鍵的值。例如,對於客戶、產品、僱員和天數的每個相關組合,事實表會有一個行包含數量和值。請注意,數據倉庫中的數據通常是預先聚合到一定的粒度級別(例如天),不像OLTP環境中的數據,它通常是在事務級別記錄。


過去,SQL Server的早期版本主要針對OLTP環境,但最終SQLServer也開始面對數據倉庫系統和數據分析需求。你可以用SQL Server數據庫來實現數據倉庫,並使用T-SQL進行管理和查詢。


從源系統(OLTP及其他)提取數據、處理數據並將其加載到數據倉庫的過程,稱爲提取、轉換和加載,或是ETLSQL Server提供了一個稱爲Microsoft SQL ServerIntegration ServicesSSIS)的工具來處理ETL的需求。


ETL過程往往會涉及OLTPDW之間數據準備區(DSA)的使用,DSA通常駐留在像SQL Server數據庫這樣的關係數據庫中,並作爲數據清洗區域使用。DSA沒有對最終用戶開放。


3.商業智能語義模型


商業智能語義模型(BISM)是微軟支持完整BI堆棧應用的最新模型,目的是提供豐富、靈活、高效、可擴展的分析和報告功能。其體系結構包括三層:數據模型、業務邏輯與查詢、數據訪問。


模型可以部署在Analysis Services服務器或PowerPivot上。Analysis Services是針對BI專業人員和IT人員,而PowerPivot是針對企業用戶。對於Analysis Services,你可以使用多維數據模型或表格(關係)。對於PowerPivot,你可以使用表格數據模型。


業務邏輯和查詢使用兩種語言:多維表達式(MDX)基於多維概念;數據分析表達式(DAX)基於表格的概念。


數據訪問層可以從不同來源獲取數據:像DW這樣的關係型數據庫、文件、雲服務、行業(line of businessLOB)應用程序、Odata訂閱等。數據訪問層既可以在本地緩存數據,也可以僅作爲連接數據源的直通層。緩存模式下可以有兩種存儲引擎方式選擇,一種是稱爲MOLAP的預先聚合方式,當初設計它是爲了支持多維模型稱;另一種是稱爲VertiPaq的新引擎,它實現了列存儲概念,具有很高的壓縮級別和非常快速的處理引擎,不再需要預先聚合、索引等。


參閱:本節BISM有很多概念要消化——對於一本T-SQL基礎知識的圖書或許有點太多了。如果你想了解BISM和更多詳細介紹,你可以在下面來自Analysis Services團隊的博客中找到答案,http://blogs.msdn.com/b/analysisservices/archive/2011/05/16/analysis-services-vision-amp-roadmap-update.aspx


4.數據挖掘


BISM爲用戶提供所有可能問題的答案,但用戶的任務是提出正確的問題──篩選差異、趨勢和其他來自海洋數據的有用信息。動態分析過程中,用戶從一個集合視圖導航到另一個集合視圖,以此類推,交叉分析數據,從而最終找到有用的信息。


數據挖掘(DM)是第二步,數據挖掘模型可以替代用戶在數據海洋中查找有用的信息。也就是說,是由數據挖掘算法梳理數據,並從中篩選有用信息。對於組織機構,數據挖掘具有巨大的商業價值,幫助查明趨勢,找出客戶一起購買的產品,預測基於特定參數的客戶選擇等。


AnalysisServices支持的數據挖掘算法包括:聚類分析、決策樹和其他類似需求。用於管理和查詢數據挖掘模型的語言是數據挖掘擴展插件(Data Mining ExtensionsDMX)。


發佈了92 篇原創文章 · 獲贊 107 · 訪問量 116萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章