数据仓库的关键是数据库。在能满足组织机构目前和将来需要的高性能数据库引擎上建立数据仓库是至关重要的。关系型数据库管理系统(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包可以通过综合的日历为运行做出安排,然后交互地执行或响应系统事件。