本文中包含的信息代表了微软公司在发布之日对所讨论的一些问题的当前观点。由于微软公司必须对变化的市场条件作出反应,所以不应将本文解释为微软公司的一个承诺,而且微软公司不能保证自发布之日后出现的任何信息的准确性。
本文档只用于资料用途。在本文档中,微软不做任何担保,无论明示还是暗示。
1998 微软公司。保留所有权利。
简介 以更快的速度做出更好的商业决策是在当今充满竞争的市场中取得成功的关键。组织机构寻求提高决策能力的努力被来自众多运营和生产系统的大量、复杂的数据所淹没。对于当今的信息技术专业人员来讲,确保数据的可访问性是最具挑战性的任务之一。
为应付这一挑战,许多组织机构选择建立数据仓库来挖掘隐藏于OLTP系统中的有用信息。数据仓库对那些来自作为决策支持和数据分析基础的各系统所拥有的信息进行集中存储。虽然基于不同的设计方法和学术理念,存在多种类型的数据仓库,但它们都有下列共同的特性:
· 围绕公司考虑的主要问题(如客户、产品、销售或供货商)来组织信息,这反映了数据驱动的设计思想。
· 从非集成运行的和传统的应用软件中收集原始数据,经过筛选、综合后以某种有意义的方式提交给最终用户。
· 基于最终用户的反馈意见和在数据仓库中的发现,数据仓库的体系结构将随时间而不断变化,这反映了该处理过程所具有的反复性。
因此数据仓库过程本质上来讲是复杂、昂贵且耗时的。在过去的几年中,微软公司一直致力于与其他软件公司一起以创建由组件技术和先进产品组成的数据仓库平台,这些技术和产品能用来降低费用、提高数据仓库创建、管理和使用的有效性。同时微软公司也一直致力于开发大量的产品和工具,如Microsoft? SQL Server? 7.0版,以很好地配合数据仓库过程(data warehousing process)。通过与那些能与微软数据仓库框架集成使用的第三方产品相结合,客户就能从大量的可互用的、最佳的产品中选择适应自己数据仓库所需的产品。
SQL Server 7.0提供了广泛的功能以支持数据仓库过程。微软公司并为数据仓库发行了一个平台与Data Warehousing Framework结合起来使用,以降低费用和复杂性,并提高数据仓库工作的效率。
数据仓库过程(Data Warehousing Process) 从信息技术的观点来看,数据仓库关心的是在一个组织机构中将适当的信息传送到适当的个人手中。这是一个正在进行的过程,而不是以前的解决方案,并且需要不同的方法以满足面向事务系统开发工作的需求。
数据仓库是数据的集合,以对那些面向主题的、集成的、时间不同的、非易失性的决策的管理工作给以支持。数据仓库关注的是概念(如销售),而不是过程(如提供发票)。它包括从多种处理系统收集到的有关某一概念的所有相关信息。信息进行定期收集和存储,并且是相对稳定的。
通过一致命名约定、测量、物理属性和语义,数据仓库对操作数据进行集成。在数据仓库物理设计的第一步是确定应包括哪些主题领域,并开发一套意见一致的定义集。这需要约见最终用户、分析员、高级管理人员,以了解所需信息的范围,并给出相应文档。在将逻辑处理转化成物理数据仓库之前,必须对相关问题有彻底的了解。
在物理设计之后,是在运作系统基础上产生数据仓库。因为运作系统和数据仓库包含不同的数据类型,所以将数据载入数据仓库需要进行数据的转换:汇总、转换、解码、去除非法数据等等。这些过程需能自动完成以便在变化的基础上也能完成:经常需要对源数据进行抽取、转换和移动以满足数据仓库的商业需求。
在运作系统中,当存取数据时,数据应有具有数值,并且数据是精确的。.例如,一个订单输入系统总是为手头存有的每一产品提供当前价格。这样仅仅是时间稍有差别的两个查询所获得的价格就有可能不同。在数据仓库中,数据表示在很长一段时期收集到的信息,作为某一特定时间点来讲是精确的。因此,数据仓库包含有关商业关键领域的一系列"快照" (snapshot)。
最后,信息用于浏览、分析和报告。有许多有助于分析的工具(从简单的用于写报表的程序到高级的用于数据挖掘的程序)。最后,分析程序使数据仓库过程的最终结果和数据仓库设计的修改都能适应新的要求,并提高系统性能或允许进行其它新类型的分析。由于这些变化,处理过程会重新开始,并延伸到数据仓库的整个生命周期。
数据仓库体系结构 目前已提出了许多方法,来简化在变化的基础上支持数据仓库过程所需的信息技术。这引发了哪一种体系结构是在组织机构中部署数据仓库的最佳体系结构的争论。
数据仓库有两种基本类型:企业级数据仓库和数据集市(data marts)。
企业数据仓库包括企业范围的信息,这些用于集中地进行数据分析的信息来自多个业务业务系统源数据。典型地,这些信息包括几个主题领域,如客户、产品和销售,并用于制定企业战术上和战略上的决策。 企业数据仓库包括详细的某一时间点数据和经过概括总结的信息,数据大小从50GB到超过1TB。企业数据仓库可能是非常昂贵的,并且在安装和管理方面是很耗时间的。通常由集中式信息服务组织自上而下地创建。
数据集市包含企业范围数据的一个子集,这个子集是为组织机构的个别部门或公司使用而创建的。 数据集市与企业数据仓库不同,它是由为特殊决策支持软件或用户组使用的部门资源自上而下建立的。数据集市包含经过汇总的和有关某一主题领域的详细数据。数据集市的信息可能是企业数据仓库的子集(依赖性的数据集市)或可能直接来自业务系统源数据(独立的数据集市)。
企业数据仓库和数据集市是结构化的,并在前面所述的处理过程中保持不变。并且,两种方法共享一套相似的技术组件。
数据仓库组件 数据仓库包括许多组件,如:
· 业务系统源数据
· 设计/开发工具
· 数据析取和转换工具
· 数据库管理系统(DBMS)
· 数据存取和分析工具
· 系统管理工具
几年前,微软公司认识到集成这些组件的一套技术的需求。这就导致了微软数据仓库框架的诞生,它不仅是诸如SQL Server 7.0等微软产品开发的路标,而且是与其他软件商的产品技术集成所需的路标。
微软数据仓库框架(MicrosoftData Warehousing Framework) 微软数据仓库框架的目标是简化数据仓库解决方案的设计、实现和管理。该框架用来提供::
· 易于与第三方供货商集成和易于由第三方供货商扩展的开放式体系结构。
· 异类数据导入、导出、确认和带可选数据类型的清理服务。
· 集成的元数据用于数据仓库的设计、数据析取/转换、服务器管理和最终用户分析工具。
· 用于日程安排、存储管理、性能监测、报警/事件和通知的核心管理服务。
Data Warehousing Framework (数据仓库框架)从底层向上设计,为微软产品用户和第三方企业提供行业标准技术,就能很容易扩展的开放式体系结构。这就使组织机构能选择同类中最好的组件并仍能确保集成。
易用性是客户和独立软件供货商(ISV)选择Data Warehousing Framework的主要原因。微软公司提供了一套面向对象的组件,这些组件用于管理分布式环境中的信息。微软公司还提供了同类中最好的产品和定制的产品,来用于数据仓库过程中的多个步骤。
Data Warehousing Framework (数据仓库框架)组件 创建数据仓库需要一套用于描述数据源的逻辑设计和物理设计的组件,以及在企业数据仓库或数据集市中的目的文件。
为了在设计阶段与设置的定义保持一致,操作数据在放置到企业数据仓库或数据集市之前,必须通过净化和转换阶段。该数据处理阶段可能包括很多级,特别是在企业数据仓库体系结构中,但在本图例中进行了必要的简化。
最终用户工具,包括桌面生产力工具、专用的分析产品和定制程序,用来获取对数据仓库中信息的访问。理想情况下,用户访问是通过目录工具实现的,该目录工具使最终用户能搜寻适当的有关的数据来解决问题,并且在最终用户和数据仓库系统之间设置安全层。
最后,很多种组件能用于管理数据仓库环境,如重复性日程安排工作和管理多服务器网络。
数据仓库框架描述了在组装、使用和管理数据仓库中用到的多种组件之间的关系。数据仓库框架的核心由两种技术构成: 集成的元数据库和数据传输层(OLE DB)。这些技术使得在数据仓库中涉及到的产品和组件的互用性成为可能。
OLE DB对多种数据提供了标准化的、高性能的访问,并允许集成多种数据类型。
Microsoft Repository提供了综合的元数据库,这些元数据库可以在数据仓库过程中,由多种组件共享。共享的元数据允许为多种供货商提供的多种产品进行透明的集成,而无需在产品之间设置特殊的接口。
OLE DB: 信息交换标准 访问多种可能的数据源需要异类数据库之间的连接性和互用性,这是实现数据仓库最困难的技术问题之一。微软 数据仓库框架依赖于微软公司已创建的数据传输标准、Universal Data Access (UDA:统一数据访问)体系结构和OLE DB接口。UDA 是平台、软件和工具,它定义、提供了标准和技术。UDA是微软公司软件开发基础中的关键要素:Microsoft Windows?分布式网际应用(DNA:Distributed interNet Applications)体系结构。
UDA提供了对多种平台上的大量数据和信息进行高性能存取的功能,并提供了能与许多工具和语言一起工作的易于使用的编程接口,这大大增加了开发人员已有的技术技能。支持UDA的技术,允许组织机构创建易于维护的解决方案,也允许使用选择的客户端、中间层和服务器上的最佳工具、应用软件和数据源。
利用COM对UDA建模 UDA体系结构的一大长处在于,它是通过一套公共的现代的、面向对象的接口实现的,这些接口是基于组件对象模型(COM)的。COM是开发人员的最佳选择,因为它能提供:
· 丰富的综合服务,包括事务、安全性、消息队列和数据存取,以支持最广泛的应用情况。
· 多家供货商使用多种开发语言开发的大量工具。
· 定制应用软件和可重用组件的广泛用户基础。
· 可靠的互用性,利用用户和开发人员的现有投资。
利用COM提供的一致性和互用性,使得UDA体系结构成为开放式结构,并能与任何工具和编程语言一起工作。同时,COM也允许UDA在现代软件体系结构的各层中提供一种一致性数据访问模型。
UDA使用基于COM的接口,针对低级和高级软件开发进行优化:
· OLE DB
· Microsoft ActiveX? Data Objects (ADO)
OLE DB的定义 OLE DB是微软公司的战略性系统级编程接口,它能管理整个组织机构的数据。OLE DB是一种建立在ODBC成功基础上的开放的规范,它为存取各种数据类型提供了一种开放的标准。ODBC是为访问关系数据库而创建的,而 OLE DB用来存取关系型和非关系型信息源,包括:
· 大型机索引顺序存取方法/虚拟存储存取方法(ISAM/VSAM)和层次数据库
· 电子邮件和文件系统仓库.
· 文本、图形和地理数据
· 定制的商业对象
OLE DB定义了一个COM接口的集合,它封装了各种数据库管理系统服务。这些接口允许创建实现这些服务的软件组件。OLE DB组件包括数据提供者(它们存储和发布数据)、数据用户(它们使用数据)和服务组件(它们处理和传输数据)。
OLE DB 接口用来平滑地集成组件,以便供货商能迅速地将高质量的OLE DB组件推向市场。另外, OLE DB包括连接ODBC的桥梁,这使得对现在大量的ODBC关系数据库提供持续支持成为可能。
定义ActiveX数据对象 Microsoft ADO 是战略性应用软件级数据和信息的编程接口。ADO 为数据提供一致的、高性能的存取,并支持开发工作的许多需求,包括创建前端数据库客户和中间层商业对象、使用应用软件、工具、语言或Internet 浏览器。ADO被设计成一对多、客户/服务器和基于Web解决方案开发的数据接口。
ADO为OLE DB提供了一个易于使用的应用级接口,它依次提供对数据的潜在存取。ADO的实现在关键场合中具有体积(footprint )小、网络通信量最少,并且在前端和数据源之间的层次最少的优点。结果是获得一个轻型的、高性能的接口。通过COM自动接口调用ADO,为先进的快速应用开发(RAD)、数据库工具和语言提供了熟悉的环境。并且因为ADO被设计成远程数据对象(RDO)和数据访问对象(DAO)最佳特性的结合并最终取代它们.。ADO使用带简化语义的类似约定,这使得它成为今天开发人员自然的下一个步骤。
Microsoft Repository: 数据仓库的黏合剂 实现过程中最大的困难之一是集成设计、转换、存储和管理数据仓库所需的所有的工具。共享和重用元数据的能力减少了建立、使用和管理数据仓库的费用和复杂度。许多数据仓库产品包含一个私有的元数据库,这个库不能被数据仓库中的其它组件使用。每一种工具都必须能够访问、创建或提高由其它任何工具创建的元数据,同时也能扩展元数据模型以满足对工具的特殊需要。
考虑这样一个例子:具有共享元数据的数据仓库。来自运作系统的元数据被设计和数据转换工具存储在库中。转换产品使用物理和逻辑模型来抽象、确认和清空原来加载在数据库中的数据。数据库管理系统可以是关系型的、多维的或是两者结合的。数据存取和数据分析工具提供了访问数据仓库中信息的能力。信息目录集成了技术元数据和商业元数据,这就使查找和装入已有的查询、报告和数据仓库应用变得容易了。
微软数据仓库框架关注在Microsoft Repository中的共享的元数据,Microsoft Repository是Microsoft SQL Server 7.0的一个组件。Microsoft Repository是存储关于软件组件和组件间关系的描述信息的数据库。它由一个开放式信息模型(OIM)和一套已发布的COM接口组成。
OIM是信息特殊类型的对象模型,它具有足够的灵活性以支持新的数据类型,并且也具有足够的可扩展性以适应特殊用户或供货商的需要。微软公司与软件业合作开发了OIM,用于数据库设计、数据转换和联机分析处理(OLAP)。未来的模型可能会包括复制、任务安排、语义模型和结合商业元数据和技术元数据的信息目录。
Meta Data Coalition,致力于制定交换元数据标准的53家供货商所组成的行业协会,宣布支持Microsoft Repository,并且Microsoft Repository OIM已得到第三方的广泛支持。要了解更多信息,请在www.MDCinfo.com上查看Meta Data Coalition主页。
数据仓库的设计 数据仓库过程的开发阶段经常是从创建描述重要基准的空间模型,以及创建基于用户需求的选择的主题域范围开始的。与联机事务处理(OLTP)系统以高度规格化方式组织数据不同,数据仓库中的数据以高度规格化方式进行组织,这样当数据存储在关系数据库管理系统中,能提高查询性能。
关系数据库通常使用星型或雪片型模式来为复杂的查询提供最快的反应时间。星型模式包括主题域的非规格化中心事实表(fact table)和有关主题范围描述信息的多维属性表(dimension table)。事实表能包含上百万行。通用的可访问的信息是经过预聚集和概括总结以进一步提高性能。
星型模式通常被看作是数据库管理员用来提高性能、简化数据仓库设计的工具,而且它也以对最终用户更友好的方式展示数据仓库的信息。
数据仓库的数据库 数据仓库的关键是数据库。在能满足组织机构目前和将来需要的高性能数据库引擎上建立数据仓库是至关重要的。关系型数据库管理系统(RDBMS)为存储在数据仓库中的大量信息提供了最普通的存储系统。目前关系系统正受到能提供更高导航能力和对复杂查询有更佳性能的多维OLAP(MOLAP)的挑战。从中央数据仓库将数据可靠地复制到独立的数据集市中,并确保地理上分布的镜像数据集市的数据是一致的,这种能力也是相当重要的。
可扩缩的和健壮的RDBMS Microsoft SQL Server 7.0包含许多特性以确保它是企业数据仓库和数据集市优秀的RDBMS。这些特性包括:
· 支持容量达TB(terabyte)的数据库,以管理最大型的数据仓库
· 为大型数据库提供可扩缩性,并为部门服务器和膝上型电脑提供与台式机版本100%编码兼容的可扩缩性,同时提供访问中央数据源的能力和无与伦比的灵活性。
· . 先进的查询处理,支持在数据仓库应用(包括星型模式)中典型的复杂查询的优化和执行。
· 查询间并行性(Intraquery parallelism)通过将一个复杂的单一查询分解成组件部分,然后将工作量分布到多个处理器(包括远程联接的服务器中) 提供了更快的性能。
· 高性能的工具以提供性能调节、数据加载和索引构造。
· 异类连接能力可确保来自任何OLE DB源数据的检索和合作。
SQL Server 7.0可以适合几乎所有大小和复杂的数据仓库。但是,实现数据仓库通常需要一个以上的中央数据库。实际上,组织机构会用附加的分析工具和分布式信息体系结构来实现决策支持系统。SQL Server 7.0中有管理这些附加任务的基本工具。
综合的OLAP分析能力 OLAP是目前日益流行的技术,它能显著提高商业分析的能力。历史上,OLAP曾被描述成一种昂贵的工具、难以实现,并且也不能灵活部署。Microsoft SQL Server OLAP 服务(OLAP Services) 是一种新型的、具有OLAP全部特性的服务,将作为SQL Server 7.0的一个组件提供给用户。OLAP服务包括中间层服务,这使得用户能对具有异常结果的大量数据进行复杂的分析。OLAP服务还包括客户端高速缓存和被称为Microsoft PivotTable? Service (微软数据透视表服务)的计算引擎,这有助于提高性能、减少网络通信量。数据透视表服务使得最终用户在与网络断开时也能对分析工作进行管理。
OLAP 服务是OLAP服务器的中间层,可以简化用户导航,并有助于提高对数据仓库信息进行查询的性能。
OLAP是数据仓库的关键组件,并且OLAP Services为从生成报表到先进的决策支持等大量的应用提供了必要的功能。根据计划,SQL Server 7.0将包含OLAP功能,这将使多维分析更易承受,并使OLAP的好处为更多用户所使用(包括从小型组织到大型公司的小组和个人)。通过Microsoft OLE DB for OLAP与大量支持OLAP应用软件的工具和软件相结合,OLAP服务将有助于增加有权使用复杂分析工具的组织机构数目,并有助于减少数据仓库的费用。
如需了解有关Microsoft SQL Server OLAP 服务的更多信息,请参阅"Microsoft SQL Server 7.0 OLAP Services(Microsoft SQL Server 7.0 OLAP服务)"(产品编号 098-80705)。
复制 从中央数据仓库中创建分布式、依赖性的数据集市或复制一个独立数据集市的内容,都需要具有可靠的复制信息的能力。SQL Server 7.0具有从一个中央数据仓库可靠地将信息分布到多个部门的数据集市的能力。信息可能按时间、地理位置等进行划分以作为复制处理的一部分。
SQL Server 7.0将提供大量的复制技术以适应软件的特殊需要。每一复制技术在不同的方面产生不同的好处和约束:
· 事务一致性
· 站点自治
· 数据分割
从一个分布式应用到另一个分布式应用,这三方面的需求是不同的。
在大多数决策支持应用中,个别站点的数据将不能更新。信息在中心筹备域经过预先准备,然后送给分布式数据库服务器以供远程访问之用。因此,"快照"( snapshot)复制对于分布式数据经常使用。
就象名称一样,快照复制是对某一时刻数据库中的数据进行拍照或快照。不再复制INSERT,、UPDATE和 DELETE语句(事务复制的特征)或数据修改(合并复制的特征),而是用数据集的完全刷新来更新订户。因此,快照复制向订户发送所有数据而不是只发送那些修改过的数据。如果信息过于庞大,可能需要坚固的网络资源进行传送。在确定快照复制是否适合你时,你必须综合考虑全部数据集的大小和数据的易变性。
快照复制是复制中最简单的一种,它可以确保在发行商和订户之间潜在的一致性。如果订户没有更新数据,它也提供高度自治能力。快照复制对于那些不需要最新数据的只读订户来讲是一种良好的解决方案,它能在不进行更新时,与网络完全断开。但是,SQL Server提供了根据应用环境选择不同复制方法的能力。
如需有关SQL Server 7.0复制能力的更多信息,请参阅"Replication for Microsoft SQL Server 7.0"(产品号098-80829)。
导入、导出和转换数据 在数据被加载到数据仓库之前,必须被转换成一种集成的和一致的格式。转换是运行程序的结果,在存储于特定目的地之前,它用于表示数据源信息。Microsoft Data Transformation Services (DTS)是Microsoft SQL Server 7.0中的新工具,它可以支持多种类型的转换,例如,简单的列映射、计算一个以上源域的新值、将一个单一域分解成多个目标列等等。
DTS 的目标 DTS用来:
· 通过使用OLE DB,为异类数据提供更好的输入、输出和转换。
· 为ISV、客户和咨询者提供一个可扩展的体系结构。
· 通过与Microsoft Repository集成,共享丰富的有关源、目标、转换、和体系的元数据。
通过100%基于OLE DB的体系结构,DTS允许用户从多种数据源中导入、导出和转换数据,同样,也允许用户将数据导入、导出和转换到多种数据源中。OLE DB数据源不仅包括数据库系统,还包括桌面应用软件如Microsoft Excel等。微软公司为SQL Server 和Oracle 提供OLE DB接口。另外,微软公司已开发了能与已有ODBC驱动相结合的OLE DB包装程序(wrapper)以访问其它相关源。同时还支持分隔符和固定字段文本文件。
DTS 的体系结构 DTS转换定义被存储在Microsoft Repository 、SQL Server 或COM结构的存储文件中。通过OLE DB可访问相关的和无关的数据源。数据泵(data pump)从数据源中打开一个行集合并将每一行从数据源中抽取到数据泵中。数据泵运行Microsoft ActiveX 脚本编辑功能(Microsoft Visual Basic?、Scripting Edition、 JScript?开发软件和PerlScript)来拷贝、确认或将数据从数据源转换到目的地。对于先进的数据净化可创建定制转换对象。为目的单元格所赋的新值返回到泵中,并通过被称为高速数据传输器发送到目的地。.目的地可以是OLE DB、 ODBC、 ASCII 固定字段、 ASCII 分隔符文件和 HTML。
在DTS体系结构中,数据可以用OLE DB数据泵从数据源中抽取,并可在发送到OLE DB目的地之前选择是否转换格式。
复杂的转换和数据确认逻辑可由ActiveX脚本完成。这些脚本可以调用从任何OLE对象到修改或确认列值中的方法。高级开发人员可以创建可重用的COM转换对象以提供高级的净化功能。可以通过FTP或运行外部程序创建传输文件的定制任务。
通过OLE DB接口,ISV和咨询者可以创建新的数据源和目的文件。数据泵可以为任何供货商查询OLE DB接口以确定是否支持高速数据加载,如果不支持的话,可以使用标准的加载机制。
虽然象标准SQL-92已经提高了关系型数据库引擎之间的互用性,但在市场上,供货商还是通过为SQL-92添加有用的但专有的扩展以区分它们。SQL Server提供了名为Transact-SQL的简单的编程语言,该语言提供基本条件处理和简单的循环控制。Oracle公司、Informix Software公司和其它供货商提供类似的SQL扩展。
DTS事务引擎(DTS Transformation Engine)传递SQL体系结构(pass-through SQL architecture)能确保源与目标所具有的功能对用户来讲大部分是可用的。这就使用户能充分利用他们已经开发和测试过的脚本和程序-只需从DTS 事务引擎中调用即可。.因为DTS没有修改或解释执行的SQL语句,所以传递体系结构能显著地简化开发和测试工作。任何能通过DBMS接口工作的语句在转换期间也能同样准确地工作。
DTS将记录储存库中的转变过程进行并形成文档,于是用户就能知道数据来自何处。 数据的转变过程能在表级和行级进行跟踪。这就为数据仓库中的信息提供了完全的审计跟踪功能。在供货商产品间,可以共享数据的转换过程。DTS包和数据的转换过程可以集中存储在Microsoft Repository 中。这包括转换定义、Visual Basic 脚本、Java脚本和包的运行记录。与Microsoft Repository 的集成使第三方能在DTS 事务引擎提供的基础结构上建立DTS。DTS包可以通过综合的日历为运行做出安排,然后交互地执行或响应系统事件。
DTS 包 DTS包是对作为转换程序一部分所有工作的详细描述。每一个包定义了一个或多个将在并行队列中执行的任务。可以通过使用图形用户界面或支持OLE 自动化的任何语言交互地创建DTS包。DTS包可以存储在Microsoft Repository中、SQL Server中或作为COM结构的存储文件保存。一旦从储存库中或结构化存储文件中恢复,包可以以与交互式创建DTS包相同的方式运行。
DTS包可以包含多种任务,并且每一任务可以是表对表映射中没有涉及到的或象调用内部数据清空过程一样复杂。
任务定义了可以作为转换程序一部分运行的某一工作。通过DTS数据泵,任务可以将异类数据从OLE DB源移动或转换到OLE DB目的地,并且任务可以运行ActiveX 脚本或运行外部程序。Step对象可以运行任务。
Step对象调整控制流,并执行DTS包中的任务。某些任务必须按某一确定顺序执行。例如,创建数据库(任务A)必须在创建表(任务B)之前完成。这是在任务A和任务B之间"完成-开始"关系的一个例子;因此任务B对任务A有优先约束。
当满足所有优先约束后,就可以执行任务了。任务可以基于运行条件有条件地执行。可以并行执行多项任务以提高性能。例如,包可以同时从Oracle 和DB2中将数据加载到分离表中。Step对象也对任务的优先权进行控制。Step的优先权决定运行任务的Win32? API线程的优先权。
DTS 数据泵是OLE DB服务供货商提供的在异类数据存储间导入、导出和转换数据的基础结构。OLE DB的战略性数据访问接口提供了存取范围最广泛的相关和无关数据的能力。DTS 数据泵是高速的运行中的COM服务器,能转移和转换OLE DB行集合。
转换是一系列过程操作,在被存储在所希望的目的地之前,必须用在源行集合中。DTS 数据泵提供了一个可扩展的、基于COM的体系结构,该体系结构在数据从源转移到目的地时,可以进行复杂的数据确认和转换。 DTS 数据泵可以在DTS包中充分使用ActiveX脚本的功能,使得复杂过程逻辑可以用简单的、可重用的ActiveX脚本来表示。当列值通过DTS数据泵从源转移到目的地时,这些脚本可以通过所选择的脚本语言来确认、反转和转换列值。在源行集中的一列或多列的新值可以很容易地计算。源列可以把一个单一域分解成多个目的地列。ActiveX脚本可以调用和使用任何支持自动化COM对象的服务。
DTS包 可以用导入/导出向导、DTS Package Designer (包设计器)或COM接口来创建DTS包。导入/导出向导为将数据移到数据仓库中,或将数据从数据仓库移出提供了最简便的机制。但转换的复杂性受向导范围的限制。例如,在向导中只能有单一源和单一目的地。
DTS Package Designer通过易用、虚拟接口公布了DTS的所有功能。在DTS Package Designer中,用户能定义优先关系、复杂查询、控制流并访问多种异类源。
DTS Package Designer为描述数据流和包的执行提供了图形化环境。
最后,软件能通过COM接口定义和执行DTS包程序设计。这种方法首先由希望利用DTS特性的ISV使用,而无需用户分别对包进行定义。
分析、提交数据 微软公司提供了众多机制用于查询数据仓库中的信息。Microsoft Office 套装生产力工具,Microsoft Access 和 Microsoft Excel都为查询和分析数据仓库中的信息提供了必要的工具。在Microsoft SQL Server 7.0 中包括称为Microsoft English Query的组件,它允许用户使用自然的英语语句来查询数据库。另外,通过Data Warehousing Framework,许多兼容产品可用来进行复杂的观测和数据分析。
Microsoft Office
通常用来存取和控制决策支持数据的两种最常用的工具是Microsoft Access 和 Microsoft Excel。随着Microsoft Office 2000的发行,用户能使用多种工具来分析和提交数据仓库中的信息。
Excel 2000通过OLE DB的OLAP接口能用表格和图形方式来提交OLAP数据源。同时,已有的数据透视表(PivotTable)动态视图功能将被更高级的OLAP功能所取代,这种功能是基于Microsoft SQL Server、OLAP服务的数据透视表服务(PivotTable Service)组件的。
除已有的Access 数据库功能外,Access 2000将为SQL Server数据库提供透明的支持。对于用户来讲,这些新功能允许使用他们所拥有的类似桌面工具来进行日益复杂的数据分析。
Microsoft Office 2000包含许多组件,通过预先创建的控件来简化基于Web的应用的构造。这些将控件供访问关系数据库和OLAP数据库的能力,并能广泛查看数据仓库中的信息。
Microsoft English Query
English Query 是SQL Server 7.0的一个组件,它允许应用程序编译器创建数据仓库应用,它允许用户使用英语而不是使用象SQL那样的正式查询语言从SQL Server 数据库中检索信息。例如,你可以问:"How many widgets were sold in Washington last year?"而不是使用下列SQL语句:
SELECT sum(Orders.Quantity) from Orders, Parts
WHERE Orders.State='WA'
and Datepart(Orders.Purchase_Date,'Year')='1996'
and Parts.PartName='widget'
and Orders.Part_ID=Parts.Part_ID
English Query接受自然的英语命令、语句和提问作为输入,并确定它们的含义。然后它编写和执行SQL中的数据库查询并将答案格式化。如果不能解释某一问题时,English Query也需要从用户那里获得辅助信息。
English Query 包含对语言句法和使用的深刻了解,但软件开发人员必须创建用户所用数据的信息域。在English Query中,域是所有信息的集合,这里信息是指English Query应用中的对象。信息包括特殊的数据库对象(如表、域和连接)、语义对象(如实体、实体间的关系和附加的字典条目)和全局域的确省选项。
.建立English Query 软件的第一步是建立数据仓库语义模型。开发人员将英语实体(名词)和关联(动词、形容词、特点和子集)映射成数据库中的表、域和连接。通过权威工具在软件外进行域测试来完成这一切。
.一旦为用户测试和访问的域模型成功建立,开发人员通过基于Visual Basic的软件或基于Web的应用(通过使用Active Server Pages (ASP)实现)来访问English Query 应用。.随着传送到数据仓库的基于intranet的信息日益增加,English Query成为无需昂贵的查询工具和培训就能提供访问的优秀工具。
在运行时,English Query软件的最终用户能通过Microsoft Internet Explorer 软件(或其它Web浏览器)连接到Web网页并进入某一问题。然后Microsoft Internet Explorer将问题传递给Windows NT? Server的内置Web服务器、Internet Information Services (IIS),通过ASP的URL来执行Visual Basic脚本。
脚本将问题传递给English Query以将其翻译成SQL语句。English Query 使用有关目标数据库的域知识(以English Query 应用的形式)来解析问题,并将它翻译成SQL语句。然后脚本取回SQL语句,执行该语句(使用ASP数据库控件),将结果表示为HTML格式,并将结果返回给用户。
English Query包括ASP示例,这些示例可用于生成快速原型,或经定制后适应已有Web软件的外观和行为。
第三方产品 数据仓库框架的基本原则是向第三方组件开放解决方案。通过ODBC和OLE DB数据库接口标准,大量的产品能访问和控制存储在SQL Server 或其它关系数据库中的信息。同样,OLE DB for OLAP的多维数据库接口使OLAP Services和其它OLAP 数据存储的信息可用。由这两个访问标准,组织机构能选择最恰当的分析工具以满足他们的需求。ISV费用的减少应归于标准化,同时意味着获得同类中最佳产品的费用也将减少。
系统管理 实现数据仓库最具隐蔽性的费用之一是系统的维护和管理。传统技术中,需要特殊的技能来管理关系型数据库、OLAP 服务器、设计与转换技术。这就意味着需要许多经过特殊培训的人来完成全局性、相关性任务。Microsoft Data Warehousing Framework提供了综合的管理层,数据仓库过程中能通过组件共享该层。
微软公司为微软的系列产品提供了一个控制台,该控制台能简化任务之间甚至各产品之间的转换工作。Microsoft Management Console (MMC:微软管理控制台)可由客户、咨询者和ISV扩展功能,它为特殊环境提供了一个高度定制的接口。发行的软件要能与控制台相配合,可以是由ISV开发的封装好的用户接口或各自开发的定制接口,但应具有诸如SQL Server 基本产品的能力。象Microsoft BackOffice?家族的众多产品一样,SQL Server 7.0是作为到MMC的一个咬接交付的。
Microsoft Management Console(微软管理控制台) MMC 为获得微软服务器产品的功能提供了一个统一的常用的界面。MMC用户界面与Windows Explorer 环境类似,具有垂直切分工作窗口,该窗口包含目录的console tree (控制台目录)。窗口的左侧有与某一特定服务器相关的对象;窗口的右侧是所选定项目的details pane(细节窗格)。Details pane中的详细信息可以各种方式显示,包括HTML文档。
MMC为那些刚负责数据库管理工作不久的管理员提供了很多具有高级功能的工具。.添加的工具之一 是任务簿(taskspads),它将多方面的活动如建立数据库、建立用户安全性、监测SQL Server 数据库等分组管理。任务簿将指南信息、指导活动、向导结合在一起。
向导 SQL Server 7.0包含超过25个用于简化经常性任务的向导:
· 创建数据库、视图、索引和存储过程
· 备份或恢复数据库
· 为复制配置发布和分布服务器,并为数据广播复制创建一个发布者
· 管理SQL Server数据库的安全性
· 创建一个能定时运行的维护文件
· 在SQL Server基于字符的列中定义全文本索引
· .创建一个Web任务,该任务能创建HTML页、从HTML输入数据或运行一个已有的Web任务
向导有助于减少数据库管理员成为SQL Server专家所需的学习过程。在数据仓库环境中,数据库管理员经常要支持处理过程的多个步骤,在处理过程中会涉及到多种产品,减少学习过程也就意味着时间和费用的节省。
可视化的数据库图表结构 因为数据仓库应用比OLTP系统要更易反复,所以数据库结构和模式经常改变。可视化的数据库图表结构为SQL Server数据库管理员提供了一种物理数据模型工具,以简化定义和修改周期。
通过SQL Server 7.0 Enterprise Manager,可视化的数据库图表结构被存储在数据库服务器上。在数据库或图表上进行的修改都会反映在另一个数据库或图表中。
提供一个向导使得对已有数据库中表的选取和布局自动化。数据库中的实体(表和表之间的关系)可以在图表工具中完全定义。可视化的数据库图表结构显示了表及表之间的关系,并且允许修改个别表的结构和连接该表的约束条件。
SQL Server Profiler .对关系数据库的正确调节需要有关如何在常规基础上使用数据库的知识。Microsoft SQL Server 7.0 Profiler是一图形工具,它使得系统管理员通过实时捕捉有关服务器活动的连续记录来监测SQL Server 中的引擎事件。SQL Server Profiler 监测发生在SQL Server 上的事件,删除基于用户指定基准的事件,并指导是将跟踪结果输出到屏幕上、文件中,还是输出到表中。SQL Server Profiler允许数据库管理员重复先前捕捉到的跟踪结果,以测试数据库结构的变化、识别降低系统性能的查询、排除故障或恢复原有设置。
可被监测的引擎事件包括:
· 登录连接、登录失败和脱线
· SELECT、 INSERT、 UPDATE和 DELETE 语句.
· 将错误写入到SQL Server错误日志
· 锁定获得的或释放的数据库对象
每一事件获得的数据可以被捕捉到并被保存在文件中或SQL Server表中,以供日后分析。可以通过创建跟踪来收集有关引擎事件的数据,这些数据包括有关SQL语句和语句执行的结果、执行语句的用户和计算机、事件的起始时间和终结时间等各种信息。
可以过滤事件数据,只收集事件数据的某一部分。这样数据库管理员可以只收集他们感兴趣的事件数据。.例如,只收集影响某一特定数据库或用户的事件;而其它事件都将被忽略。类似地,可以只收集那些执行时间要比指定时间长的查询的数据。
SQL Server Profiler将为可直接使用的扩展了的存储程序提供一个图形化用户界面。所以你可以创建自己的应用来监测使用了SQL Server Profiler中扩展了的存储程序 的SQL Server。
SQL Server Query Analyzer Microsoft SQL Server 7.0 Query Analyzer 是特别地、交互执行Transact-SQL 语句和脚本的出色工具。因为用户必须了解Transact-SQL以使用Query Analyzer ,这主要适用于数据库管理员和权限用户。用户能在一纯文本窗口输入Transact-SQL 语句,运行这些语句并在文本窗口或表格式输出中查看运行结果。用户也能打开包含Transact-SQL语句的文本文件,执行这些语句并在结果窗口中查看运行结果。
Query Analyzer为确定SQL Server 如何解释并执行Transact-SQL 语句提供出色的工具。用户可以:
· 显示为语句生成的执行设计图的图形表示
· 运行Index Tuning Wizard确定哪些基本表格的索引能被定义,以对语句的性能进行优化。
· 显示有关语句性能的统计数据。
Query Analyzer 阐明了复杂查询是如何解决的。下面的示例中,查询的各部分并行执行以提高性能。
Index Tuning Wizard(索引调整向导) 在关系数据库的管理工作中,最耗时间且不精确的过程之一就是创建索引以优化用户查询的性能。SQL Server 7.0 Index Tuning Wizard是一新型工具,它使得数据库管理员在无需对数据库的结构、硬件平台、组件及最终用户的应用如何与关系引擎交互式作用等有太多的了解就能创建并实现索引。Index Tuning Wizard分析数据库的工作量并提出针对SQL Server数据库的优化索引配置建议。
Index Tuning Wizard 能:
· 使用Graphical Showplan代价公式比较、对比和选择索引的最佳混合。
· 为数据库的工作量(跟踪文件或SQL脚本)推荐索引的最佳混合。
· 提供索引、工作量、表格效用和查询代价分析。
· 允许数据库管理员针对小型问题查询集合调整数据库而无需修改索引配置。
· 允许数据库管理员针对不同的磁盘空间限制建立索引配置建议原型。
Index Tuning Wizard 能分析SQL脚本或SQL Server Profiler 跟踪结果的输出,并根据SQL脚本或跟踪文件提及的当前索引的效率来制定建议。建议有SQL语句组成,执行这些语句可以删除已有的索引并创建新的更有效的索引。建议由向导给出,然后保存在SQL脚本中,建议可以立刻运行,或稍后由用户手工运行,或通过创建一个运行SQL脚本的SQL Server任务为稍后的运行自动确定时间。
如果Index Tuning Wizard不能分析已有的SQL脚本或跟踪文件,向导将通过SQL Server Profiler立即创建一个或安排一个SQL脚本或跟踪文件。一旦数据库管理员确定某一跟踪文件捕捉了被监测数据库正常工作量的代表性采样,向导能对捕捉的数据进行分析并推荐索引配置以提高数据库的性能。
SQL Server 代理服务 数据仓库管理员能从日常性工作如数据库备份的自动化中获益。使用SQL Server 代理服务,管理任务可以由设定定时执行哪些任务而实现自动化,并且管理任务可以由定义工作和警告集而实现程序化管理。自动化管理包括单一服务器环境和多服务器环境。
自动化管理的关键组件是工作、操作员和报警。工作定义为一次管理任务,所以它可以执行一次或多次,并且每次执行时都要监测是成功还是失败。工作可以在一台本地服务器或多个远程服务器上执行;根据一个或多个时间表执行工作;由一个或多个警报引发执行工作;工作由一个或多个工作步组成。工作步可以是可执行程序、Windows NT?指令、Transact-SQL语句、ActiveX脚本或复制代理。
操作员是负责维护一台或多台运行SQL Server的服务器的人员。在某些企业中,操作员的工作被指派给某个人。在有多台服务器的大型企业中,由多人共同承担操作员的工作。通过电子邮件、网页或网络通信来通知操作员。
警报被定义为当事件应该发生时,引发一个或多个SQL Server事件和响应。一般情况下,数据库管理员不能控制事件的发生,但他们能控制对带警报的事件的响应。警报可以被定义为对SQL Server的响应-通知一个或多个操作员、向另一台服务器传送该事件、增加其它软件工具可视的错误限制。
通过结合通知和可由SQL Server 代理服务自动完成的动作,管理员能为他们日复一日的操作任务构造一个健壮的、自管理的环境。这样管理员就能有时间去管理那些不能自动管理的复杂任务。
总结 通过Microsoft Data Warehousing Framework所含的技术及Microsoft SQL Server 7.0取得的明显进步,微软公司现致力于降低复杂程度、提高集成度,并减少与数据仓库有关的费用。微软公司确信对基于微软平台的数据仓库技术进行投资的客户正在创建有最佳经济回报的应用件,同时保持他们系统的可扩缩性和可靠性。.
如需更多有关Microsoft SQL Server的信息,请访问SQL Server的Web站点:http://www.microsoft.com/sql/或中文网站:http://www.microsoft.com/china/sql。