Joy Mundy
Microsoft Corporation
2001 年 1 月
摘要:本文针对 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 的文章;这两篇文章可以在 (英文)和 (英文)上找到。表格包括在 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 | 所有矢量可经过编制索引而有效地支持矢量任意子集的约束。 |
6. 矢量可调整性
分值 = 0.4
特征 6:系统对单个矢量中的成员数量以及属性数量没有根本性的限制。具有 1 亿个成员或 1,000 个文本属性的矢量均可实现。具有 10 亿个成员的矢量也可能实现。
在标准多维矢量存储模式中,分析服务可支持大型矢量,最多可有约 1000 万成员。对于超过 1000 万成员的超大型矢量,开发人员可以使用矢量的关系存储。尽管源数据库表的行被限制为 64 KB,但是其对矢量的文本属性没有限制。具有 10 亿成员的矢量的立方体或具有 1000 个文本属性的立方体的创建过程均尚未经过测试。尽管这在理论上是可行的,但是只有在进行了测试之后,我们才能宣布可扩缩性在可用的硬件上是能够实现的。
符合? | 特性权值 | 特性 |
0.4 | 具有 1 亿成员的矢量为可以实现的配置 | |
0.2 | 具有 10 亿成员的矢量为可能实现的配置,且可以运行 | |
0.4 | 具有 1000 个文本属性的矢量为可以实现的配置 |
7. 稀疏程度容限
分值 = 1.0
特征 7:任何单一标量可以在多个矢量空间中存在,其可以视为特别稀疏。系统对稀疏程度没有实际的限制。20 个矢量(每个矢量具有 100 万或更多成员)的数据库可以实现。
分析服务可以精确地管理稀疏程度,不向空事实分配存储空间。具有 20 个矢量的立方体是可能的,可以实现,也很普通。具有 20 个矢量(每个矢量具有 100 万成员)的稀疏立方体可以实现。
符合? | 特性权值 | 特性 |
0.5 | 二十个矢量为可以实现的配置。 | |
0.5 | 二十个矢量(每个矢量具有 100 万成员)为可以实现的配置。 |
管理标准
8. 适当的修改
分值 = 1.0
特征 8:在未载入或重新载入主数据库的情况下,系统必须允许在适当位置作下列修改:a) 将属性添加至矢量;b) 将新类型的事实添加至标量设置,可能及时在某一指定点开始;c) 将全新的矢量添加到现有的标量设置;d) 将现有的矢量分割成两个或更多新矢量。
在未重新载入立方体的情况下,分析服务允许在适当的位置作下列修改:
- 将成员的属性添加到矢量的所有级别
- 在“更改”矢量中添加、移动、重命名或删除级别
- 添加新的虚拟矢量
- 使用虚拟矢量将现有的矢量分割为两个或更多新矢量
要在不重建的情况下添加新类型的事实,管理员应定义第二个具有全部相同矢量和此新标量的物理立方体,以及一个跨这两个物理立方体的虚拟立方体。查询性能是优秀的,但是此解决方案需要额外的磁盘空间。通过遵循建议的做法,即最终用户访问时始终使用虚拟立方体,立方体定义中的此类修改无需更改用户应用程序。请注意,由于分析服务可以读取、写入详细数据,并可以 35 GB/小时的速率对源数据进行计算和存储(2000 年 9 月),因此完全重建百万 MB 规模的立方体的成本并不是负担不起。
在关系数据仓库中,使用 ALTER TABLE 命令可以轻松地对架构的结构进行修改。
符合? | 特性权值 | 特性 |
0.1 | 添加矢量属性无需载入和重新载入事实数据存储区。 | |
0.2 | 添加矢量属性无需载入和重新载入矢量表。 | |
0.2 | 添加事实无需载入和重新载入事实数据存储区。 | |
0.1 | 可以适时在某一位置添加事实,而无需为前面的次数提供零。 | |
0.2 | 添加矢量无需载入和重新载入事实数据存储区。 | |
0.2 | 矢量可以分割为两个矢量,而无需载入和重新载入事实数据存储区。 |
9. 矢量复制
分值 = 1.0
特征 9:系统支持一致性矢量从矢量颁发机构向所有客户数据中心的精确复制,其方法是,如果它们具有一致的矢量版本,则只能对数据中心执行交叉查询。受矢量内容更改影响的聚合将在每个客户数据中心自动脱机,直至我们使修订的矢量和基本事实表相一致。
分析服务使用具有共享矢量和虚拟立方体的立方体提供一致的矢量功能。分析服务虚拟立方体始终使用一致矢量定义和一致聚合;系统始终向用户提供准确的信息。默认情况下,用户不能得到渐变加载入立方体的数据,直至载入过程(包括聚合)完成。根据管理员的选择,一旦原子数据载入,用户就可以使用立方体的新数据,且后台将继续创建聚合。在这种情况下,尽管立方体正在处理,但是聚合将即刻进行计算以解析用户的查询,用户将发现查询性能较慢。
符合? | 特性权值 | 特性 |
0.5 | 多通路查询自动检测并禁止不一致的矢量版本。 | |
0.5 | 由于更改矢量表,无效的聚合自动脱机。 |
10. 矢量通告
分值 = 1.0
特征 10:根据请求,系统可提供在上次请求后更改的矢量来源中的所有记录。此外,理由码随矢量通告提供,矢量通告允许数据仓库对类型 1 和类型 3 的渐变矢量(改写)与类型 2 渐变矢量(在某一时刻某一位置实际改写)。
SQL Server 数据转化服务 (DTS) 是通用提取、转换、维护和加载 (ETML) 工具,很容易设置为仅传输更改的记录,还可以使用理由码对其标记。如果源系统具有可用数据,在矢量 DW 中存储后,对立方体的更新可以是渐变的。由“更改”标识的立方体矢量可以进行适当的改写或附加。
符合? | 特性权值 | 特性 |
0.5 | 数据提取系统仅将更改的记录从原始来源传输到分阶段区域。 | |
0.5 | 传输中提供理由码,可以在更改和创建矢量记录之间选择。 |
11. 代理键管理
分值 = 1.0
特征 11:系统实现代理键管道进程或同等进程,以便:a) 在系统遇到类型 2 渐变矢量时指派新的键;b) 在载入事实数据表之前,使用正确的代理键替换事实记录中的常用键。也就是说,矢量的基数性可以独立于原始产品键的定义。根据定义,代理键不能具有使其个别值与应用程序相关联的符号解释或排序。代理键必须支持不可用、不存在和已损坏的标量数据。代理键可能不在最终用户的应用程序中显示。
数据仓库框架(DTS、RDBMS 和分析)对主要类型没有限制。使用代理键设计 DW 是受推荐的做法,而且也可以得到完全的支持。好的系统设计可以在立方体中标识出不可用、不存在和已损坏的数据。
符合? | 特性权值 | 特性 |
0.5 | 常用键和/或智能键不用作链接矢量和事实的基础。 | |
0.5 | 允许不可用、不存在和已损坏的数据并可以对其进行标识。 |
12. 国际化一致性
分值 = 1.0
特征 12:通过保证翻译的矢量具有与源矢量相同的分组基数性,系统支持矢量国际语言版本管理。系统支持 UNICODE 字符集,也支持所有通用国际数字标点及替换格式,并允许不兼容的特定语言排序顺序。
SQL Server 2000,包括分析服务,完全可以本地化并支持 UNICODE 数据。分析服务同时支持标题和语言特性,使立方体可以按照特定的语言要求修改成员属性。使用此特性时,单个立方体可以为不共享公共语言的用户组提供服务。
符合? | 特性权值 | 特性 |
0.3 | 支持所有标准欧洲重音字符(如扩展 ASCII 中的重音符号)。 | |
0.7 | 支持 16 位 UNICODE 字符集。 |
表达式标准
13. 多重矢量层次结构
分值 = 1.0
特征 13:系统允许单个矢量包含多个独立的层次结构。单个矢量的层次结构数量没有具体限制。层次结构可以完整(包括矢量的所有成员),也可以不完整(仅包括选定的部分矢量成员)。两个层次结构无需具有公共级别或公共属性(字段),可以具有不同数量的级别。两个层次结构也可以共享一个或多个公共级别,否则应不相关。
分析服务允许单个矢量包含多个独立的层次结构。同一矢量的两个层次结构不要求具有相同的级别或属性。多个层次结构可以具有不同数量的级别,或者共享一个或多个级别。
符合? | 特性权值 | 特性 |
0.5 | 允许单个矢量包含多个独立的层次结构 | |
0.1 | 允许完整和部分层次结构 | |
0.1 | 独立层次结构无需公共级别 | |
0.2 | 独立层次结构的级别数量可能不同 | |
0.1 | 独立层次结构可能具有一个或多个公共级别 |
14. 杂乱矢量层次结构
分值 = 1.0
特征 14:系统允许中等深度的矢量层次结构,例如组织结构图和零部件分解图,其中矢量中的记录可以扮演父子角色。使用此技术,父可以有任意数量的子,这些子可以有其他子,以此类推,直至任意深度,这由矢量中的记录数量限制。子可以有多个父,其中这些父对子的“完全所属权”要明确表述,且总和为 100%。使用单个命令,系统必须可以为所有成员汇总处于杂乱层次结构的事实表(或立方体)中的数值标量。
- 从指定的父开始,降序至所有可能的最低级别,同时汇总全部中等级别
- 从指定的父开始,仅汇总父以下 n 级子或任一层次结构分支的最低子以上 n 级,其中 n 等于或大于零
- 从指定的子开始,汇总从子到子层次结构最高父的所有父
- 从指定的子开始,仅汇总从此子的层次结构以上 n 级的所有父
- 从指定的子开始,仅汇总子的唯一最高父。给定的杂乱矢量层次结构可以包含任意数量的独立系列(没有公共子的独立的最高父)。相反,独立最高父可以按照讨论完全所属权时所述共享某些子。
分析服务父子矢量结构支持中等深度层次,例如组织结构图。分析服务查询语法内置函数(例如“Descendants”和“Ancestors”)支持标准 14 介绍的查询。此外,子可以具有多个父,子的“所属权”存储在成员属性中,矢量的自定义集合用于分配那些所属权比例。
符合? | 特性权值 | 特性 |
0.2 | 可以指定矢量中的不确定深度的杂乱层次结构 | |
0.2 | 单个命令汇总父以下所有级别的事实 | |
0.2 | 单个命令汇总父以下 n 级或最低子的 n 级事实 | |
0.1 | 单个命令汇总子以上所有级别的事实 | |
0.1 | 单个命令汇总子以上 n 级或最高父的 n 级事实 | |
0.1 | 子可以与一个以上的父有联接关系,且具有显式的所属权分配 | |
0.1 | 多重独立系列可在单个杂乱层次结构中实现 |
15. 多值矢量
分值 = 0.0
特征 15:事实表(或立方体)中的单个原子标量可能具有来自与此标量相关的矢量的多个成员。如果矢量有多个成员与标量有关,则将提供显式的分配系数,可以“有选择地”将原子标量在相关的矢量成员中展开。在这种情况下,给定原子标量和给定多值矢量的分配系数之和必须达到 100%。
多值矢量用于解析多对多关系:例如,在帐户平衡架构中,客户有许多帐户,每个帐户可以属于多个客户。通过预先分配并解析多对多关系,可以在分析服务中实现这样的系统:在这种情况下,将客户和帐户作为独立的矢量而包括进来。可单独创建立方体以完全浏览客户和帐户之间的关系。
尽管此方法将提供所有指定的功能,但是从根本上讲,它没有通过增加立方体中事实的数量而达到上述目的,由此看来其不符合要求的精神。特别地,尽管关系矢量模型具有用于上述架构的帐户平衡的单个行,架构的立方体表示形式将包含一个事实“行”,对应于客户和帐户的每一组合。请注意,由于分析服务的高级表达式算法,许多情况下此类立方体将要求较小的存储区,与存储在 RDBMS 中的相应标准化多值矢量版本相比,其性能更好。
符合? | 特性权值 | 特性 |
0.4 | 单个标量可能与任意数量的矢量属性值有关。 | |
0.3 | 事实表(或立方体)中标量的不同实例的多重矢量属性值的数量可以不同。 | |
0.3 | 可选的分配系数可实现在任意数值标量中扩展多个矢量属性值。 |
16. 渐变矢量 (SCD)
分值 = 0.9
特征 16:系统必须显式支持三种类型的渐变矢量:类型 1,其中已更改的矢量属性被改写;类型 2,其中已更改的矢量属性导致创建新的矢量成员;类型 3,其中已更改的矢量属性导致创建备用属性,以使属性的新值和旧值可以在同一矢量成员记录中同时进行访问。整个系统必须支持渐变矢量,如以下要求所示:
- 对使任何物理存储聚合无效的矢量的更改一定自动禁止聚合的使用。
- 类型 2 的更改必须为新矢量成员自动指派代理键,该键必须用于载入系统的所有并发事实记录。即,新的类型 2 矢量成员的创建必须自动联接至相应的并发事实,无需用户或应用程序开发人员记录开始和结束的有效日期。
- 如果系统支持杂乱层次结构矢量和/或多值矢量,则矢量的这些类型必须支持全部三类渐变矢量。
分析服务支持渐变矢量类型 1、2 和 3。如果在设计时将矢量标识为“更改”,则可有效地管理类型 1。类型 3 作为虚拟矢量而管理时最有效。立方体使用类型 2 SCD 的矢量关系架构创建时,类型 2 在分析服务中的实现将很容易。使用标准技术时,所有类型的渐变矢量均可在关系 DW 中进行管理。
符合? | 特性权值 | 特性 |
0.1 | 可以在适当位置更改矢量属性(类型 1)。 | |
0.6 | 矢量中新的记录(或成员)可以创建,并可自动应用于一系列在适当时间在某一位置开始的标量事实(类型 2)。 | |
0.1 | 可以为现有的属性指定备用属性,以支持“方案转变”(类型 3)。 | |
0.1 | 支持全部三种 SCD 类型矢量的杂乱层次结构。 | |
0.1 | 多值矢量支持全部三种 SCD 类型。 |
17. 矢量的角色
分值 = 1.0
特征 17:单一矢量必须通过多重角色与一组事实发生联系。例如,一组事实可以具有几个独立的时间标记,可以同时应用到事实。在这种情况下,单个基本时间矢量必须能够多次附加至这些事实,其中每个实例在语义上是独立的。给定系列的事实可以具有几种不同类型的矢量,每个矢量扮演多重角色。
通过创建独立但相同的矢量,并为每个角色命名,分析服务可以提供矢量角色的功能。这在实际上是与关系矢量模型相似的,其中典型的解决方案是有一个具有多个名称或视图的物理表。如果多重角色矢量非常庞大而不希望多次对其进行具体说明时,开发人员应当把此类矢量当作具有多个别名的 ROLAP 矢量(存储在 RDBMS 中)来实现。
符合? | 特性权值 | 特性 |
0.5 | 单个物理矢量可以多次附加至表示独立逻辑角色的一组事实。 | |
0.5 | 一种以上类型的热交换矢量可以同时多次附加至一组事实。 |
18. 热交换矢量
分值 = 1.0
特征 18:系统必须允许矢量的备用实例在查询时可以交换。例如投资公司的两位客户要使用他们各自的“股票机”矢量查看同一股市的数据,则这两位客户必须可以在查询时使用他们的矢量版本,而无需复制股市的基本事实表(或立方体)。再以银行为例,如果用户限制仅能在同类帐户群体中查询,则利用此功能可以把扩展帐户矢量附加至指定的查询。
分析服务虚拟矢量提供“热交换”矢量功能。
符合? | 特性权值 | 特性 |
1.0 | 不同的矢量实例可以在查询时附加至一组事实。此类矢量仅需具有与第一个矢量相同的主密钥,以保持与事实数据存储区的引用完整性,但是可以具有完全不同的结构和数据。 |
19. 即时事实范围矢量
分值 = 1.0
特征 19:系统可为事实表(或立方体)中的数值标量动态绑定值查询提供直接支持。即,用户可以在查询时指定一系列取值范围并把这些范围用作查询中的分组标准。所有普通的汇总功能(计数、求和、求最小值、求最大值和求平均值)可应用于所有分组。取值区的大小不必相等。
分析服务查询语法支持用户定义的计算,它使用“IIF”功能以计算即时事实区间。很容易开发客户端工具,并且此功能具有友好的用户界面。
符合? | 特性权值 | 特性 |
0.8 | 绑定值查询可以在单个命令中执行,此命令指定多个大小不同的取值范围并将这些范围用作分组标准。 | |
0.2 | 在这些动态定义值区间中可以使用全部汇总功能。 |
20. 即时行为矢量
分值 = 0.6
特征 20:系统可通过矢量的简单列表支持对矢量进行约束。为了区分词汇,称此类成员列表为“行为矢量”。整个系统必须支持行为矢量,如以下要求所示:
- 行为矢量可以从用户屏幕显示的报表中捕获,可以来自从成品源提取的关键字列表或文件中出现的属性;也可直接来自约束规格;或者来自其他行为矢量的并集、交集或补集。
- 用户可以拥有多个行为矢量的库,并且可以在查询时将行为矢量附加至事实表(或立方体)。
- 查询中使用行为矢量将把事实表(或立方体)限定为某研究的成员,但是选择和约束任一常规矢量(包括行为直接影响的矢量)的属性的能力不受限制。
- 行为矢量没有大小限制。
- 行为矢量具有可选的日期标记,它与列表的每个元素有关。方法是将两个行为矢量进行合并,从而使合并行为矢量的成员要求在特定的时间进行排序。
分析服务查询语法支持即时“行为矢量”的多样性。但是,本标准中介绍的某些功能直接与客户端工具有关。待测功能(从最终用户屏幕或平面文件捕获成员列表)可以很容易地合并到自定义或第三方工具中,例如,尚未发布的 Microsoft® Office 10 产品套件支持此功能。
查询语法支持通过矢量成员的简单列表约束矢量。多数现有的客户端工具支持从屏幕选择任意多个成员;使用工具添加功能以从平面文件或其他来源选择非常简单。分析服务查询语法经过精心设计,可支持其他要求的行为(例如定义约束);从集合表达式(例如并集、交集、补集或分类/合并成员集)选择成员。
符合? | 特性权值 | 特性 |
N/A | N/A | 矢量的任意多个成员可以在最终用户的屏幕上捕获。 |
N/A | N/A | 矢量的任意多个成员可由平面文件指定,此文件来自外部,包含取自矢量的属性值。 |
0.1 | 矢量的任意多个成员可由该矢量的约束指定。 | |
0.1 | 矢量的任意多个成员可通过该矢量的其他任意多个成员的并集、交集或补集指定。 | |
0.3 | 矢量的任意多个成员可以用于约束矢量,但不能限制其他约束或该矢量的用户界面操作,受约束的矢量可以用于加入此矢量的任何事实表(或立方体)。 | |
0.1 | 矢量的任意多个成员可以加上时间标记,从而使得导出成员的成员身份可以基于时间序列排序。 |
总结
SQL Server 2000 数据仓库框架是开发矢量系统的基础体系结构。现代的分析服务体系结构体现了许多复杂的矢量建模问题,这些问题已在 Kimball 的“矢量友好系统的 20 个特征”中列举。
更多信息
SQL Server 2000 联机图书包括 Microsoft 数据仓库框架、SQL Server 关系数据库、数据转换服务和分析服务的详细信息。有关其他信息,请参阅以下资源:
- Microsoft SQL Server Web 站点 ">http://www.microsoft.com/sql(英文)。
- Microsoft SQL Server 开发人员中心 server">http://msdn.microsoft.com/sqlserver(英文)。
- SQL Server 杂志 mag.com/">http://www.sqlmag.com(英文)。
- News://news.microsoft.com 的 microsoft.public.sqlserver.server 和 microsoft.public.sqlserver.datawarehouse 新闻组。
- 关于 SQL Server 的 Microsoft 正式培训课程。有关最新课程的信息,请参阅 ?PageID=training">http://www.microsoft.com/trainingandservices(英文)。
有关 Ralph Kimball 的矢量友好系统的二十条标准的其他信息,请参阅以下资源:
- Kimball, Ralph,“您的矢量数据仓库有表现力吗?”,Intelligent Enterprise 3,no. 8(2000 年 5 月 15 日)40, 44。也可以在 (英文)上找到。
- Kimball, Ralph,“对矢量数据仓库分级”,Intelligent Enterprise 3,no. 7(2000 年 4 月 28 日)30, 32-33。也可以在 (英文)上找到。
- Ralph Kimball Associates, Inc;(英文)。
尾注
1. Ralph Kimball 在 Intelligent Enterprise 的两篇文章中发布了二十个特征。前十二个特征在 Intelligent Enterprise 3 no. 7(2000 年 4 月 28 日)30, 32-33 的“对矢量数据仓库分级”中介绍。后八个特征在 Intelligent Enterprise 3, no. 8(2000 年 5 月 15 日)40, 44 中的“您的矢量数据仓库有表现力吗?”中介绍,同时可以在 (英文)上查看这篇文章。
2. Kimball, Ralph,Intelligent Enterprise 3 no. 7(2000 年 4 月 28 日)30, 32-33 中的“对矢量数据仓库分级”。也可以在 上查看这篇文章。
3. 特性和特性权值摘自 Ralph Kimball 的“矢量友好系统的二十个标准”(即将发布)。
本文档中包含的信息代表 Microsoft Corporation 在发布日期对所讨论问题的最新观点。由于 Microsoft 必须适应不断变化的市场情况,因此,这些信息并非 Microsoft 方面所作的承诺,Microsoft 也不能保证出版日之后提供的任何信息都完全正确。
本白皮书仅作信息参考之用。MICROSOFT 对本文档中的有关信息不作任何明示或暗示的担保。
用户有责任遵从所有适用的版权法。在不限制版权的情况下,未经 Microsoft Corporation 明确书面许可,不得擅自将本文档的任何部分进行复制、存储在或输入可检索系统,或以任何形式或方式(电子、机械、影印、录制或其他方式)进行传播,或用作其他目的。
Microsoft 对本文档中的主题持有专利权、专利申请权、商标权、版权或其他相关的知识产权。Microsoft 只提供在任何书面许可协议中明确规定的权利,而不授予您本文档的上述专利权、商标权、版权或其他知识产权。
© 2001 Microsoft Corporation 版权所有。保留所有权利。
Microsoft 是 Microsoft Corporation 在美国和/或其他国家或地区的注册商标。
此处提到的真实的公司和产品名称是其各自所有者的商标。