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)。


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。