摘要:本文针对 Ralph Kimball 定义的矢量友好系统的二十个标准介绍了 Microsoft SQL Server 2000 数据仓库技术。
目录 概述 体系结构 管理标准 表达式标准 总结 更多信息 尾注 概述本文按照由 Ralph Kimball(1) 定义的“矢量友好系统”的二十个特性介绍了 Microsoft? SQL Server? 2000 数据仓库框架的功能和特性。介绍这些特性旨在提供“能使系统的矢量化程度提高或降低的好方法”(2)。
Microsoft 数据仓库框架对创建、使用和管理数据仓库进程中的各种组件之间的关系作了说明。数据仓库框架包括创建数据仓库使用的组件:关系数据库、元数据服务、数据转换服务、分析服务、OLE DB 和英文查询。数据仓库框架的评级为 91%,即在适用于参评系统的 19.5 分中获得了 17.8 分:
SQL Server 2000 Enterprise Edition 中的矢量关系数据仓库。 使用 SQL Server 2000 数据转换服务 (DTS) 填充。 SQL Server 2000 Enterprise Edition 分析服务立方体,典型情况下与矢量关系数据仓库 (DW)(特例在文中指出)大小相同。立方体也具有所有客户可以使用的预定义计算(计算标量、命名集合、自定义集合和计算单元)。 立方体使用 DTS 立方体填充任务进行填充。 因为 SQL Server 2000 是开放平台,支持大量第三方访问工具,因此本文不明确考虑特定的最终用户工具。多数“查询”问题是从分析服务查询语法是否支持构造的角度进行解答的,而非是否有工具可以这样做。极个别问题直接涉及用户经验(最终用户可在屏幕上看到的内容),这样的问题已标记为“N/A”。本文围绕 Kimball 的二十个特征展开。每一部分阐明了 Kimball 对特征的定义,总结了 Microsoft 解决问题的方法,并通过逐步得分反映了体系结构是如何满足其要求的。标有“特征”的章节摘自上述 Kimball 的文章;这两篇文章可以在 http://www.intelligententerprise.com/000428/webhouse.shtml(英文)和 http://www.intelligententerprise.com/000515/webhouse.shtml(英文)上找到。表格包括在 Kimball 的“矢量友好系统的二十个标准”(原稿即将发行)中出现的特性和特性权值。
体系结构 1. 显式声明分值 = 1.0特征 1:系统提供显式数据库声明,以区分标量(事实)实体和矢量实体。这些声明存储在系统元数据中。管理员和最终用户可以看到这些声明,且这些声明影响查询策略、查询性能、分组逻辑和物理存储。事实可以声明为全加、半加和非加。默认的(自动)聚合技术(而非汇总)与事实相关联。在元数据中声明了矢量和事实间的默认关联,这样,用户可以不指定它们之间的链接。查询中包含的矢量属性自动成为动态聚合的基础。默认情况下,查询中包含的事实在所有聚合的范围内求和。禁止半加事实和非加事实在错误的矢量中进行求和。
分析服务立方体用矢量和标量的显式声明进行定义。默认的标量(求和、计数、求最小值、求最大值和独特计数)聚合技术在立方体设计进程中指派。立方体定义中的自定义集合为加、半加和非加事实提供了非常灵活的实现方法。立方体结构为最终用户提供了矢量和事实之间的所有无缝联接。
符合? 特性权值(3) 特性 0.5 系统元数据中事实(数值标量)和矢量(标量的描述性上下文)的明显区别 0.2 加、半加和非加事实的声明和相应限制 0.1 为事实的动态聚合声明的默认技术 0.2 事实和矢量之间的默认联接(关联),因此用户无需在查询时指定 2. 矢量一致性分值 = 0.9特征 2:系统使用一致的矢量以实现交叉查询,其中来自不同数据库、不同位置、不同技术的应答集合通过匹配一致性矢量所提供的行标头,可以组合为更高级的应答集合。如果试图使用未经确认的事实,系统将检测并警告。这是最基础和最根本的体系结构标准。此标准是实现分布式数据仓库的基础,特别是那些通过 Web 共享数据的分散于各地的组织(没有中心)所构成的 Web 库。
SQL Server 的体系结构及其分析服务组件很好地支持一致性矢量的特征。同一数据库中的立方体从根本上使用了一致性矢量。通过一个或多个服务器上的单独物理立方体定义虚拟和链接立方体,可提供具有优越性能的高级功能。分析服务查询语法旨在连接无关联集合,并表达跨立方体不同级别的查询。
符合? 特性权值 特性 0.5 带有相同行标头的独立应答集的列的多通道查询 0.2 独立数据库或立方体的多通道查询 0.1 不同计算机上的独立立方体的多通道查询(Kimball 合并了此特性和下一特性) 0.1 独立供应商 DBMS 的多通道查询(Kimball 合并了此特性和上一特性) 0.1 多通道查询使用一致性矢量中的不同间隔 3. 矢量完整性分值 = 1.0特性 3:系统保证矢量和事实保持引用的完整性。尤其是,事实只有处在其全部矢量的有效框架中方可存在。但是,矢量项目即使无对应的事实也可存在。
分析服务始终保持矢量和事实之间的引用完整性。矢量成员即使无对应的事实也可存在;事实如无对应的矢量成员则无法存在。
符合? 特性权值 特性 1.0 查询时随时保证引用完整性 4. 开放式聚合浏览分值 = 1.0特征 4:系统使用物理存储聚合,以增强常规查询的性能。如果这些聚合(与索引类似)确实存在,数据库将进行无提示选择。最终用户和应用程序开发人员无需及时了解在某一位置有什么聚合可用,应用程序也无需对聚合的名称进行显式编码。所有访问数据的查询进程,甚至是来自不同应用程序供应商的查询进程,都可实现聚合浏览的全部功能。
分析服务为所有立方体管理聚合浏览,无需考虑存储模式(MOLAP、HOLAP 或 ROLAP)。所有查询客户均可从聚合浏览直接实现 OLEDB 或 OLEDB-OLAP 功能。系统选择最有效的预计算聚合以解析查询,此后可以重建基于系统查看到的实际查询的预计算聚合。
符合? 特性权值 特性 0.5 查询使用聚合浏览 0.5 聚合浏览对所有查询客户开放 5. 矢量对称性分值 = 1.0特征 5:所有矢量允许比较计算,约束计算中矢量的单个属性的两个或更多无关联值(例如比率或差)。同时,基础数据库引擎支持索引方案,其允许“单个”索引策略有效地支持对高度矢量化的数据库中矢量的任意不定子集的查询约束。
分析服务查询语法能够轻松地支持无关联过滤器,并且最前端的工具提供了此功能。对数据库管理员透明的分析服务索引策略,可以有效地支持矢量和属性的任意不定子集的查询约束。
符合? 特性权值 特性 0.5 查询可以从任何单个矢量约束无关联值以进行比较计算。 0.5 所有矢量可经过编制索引而有效地支持矢量任意子集的约