在部署 Microsoft SQL Server 2005 Analysis Services (SSAS) 项目之前,要考虑一些重要问题,以便提高 Analysis Services 安装的可靠性和性能。例如,如果要将另一个 Analysis Services 实例添加到服务器中的现有实例中,或者将处理复杂的多维数据集项目,则可能需要增加硬件资源。还应当执行相应步骤,以确保当硬件或软件发生故障时以及在某些处理任务期间项目的可用性。最后,可能还需要考虑基于性能需要缩放多个计算机上的 SQL Server 或 Analysis Services 实例。
要求和注意事项
以下部分介绍了部署要求和注意事项:
- 资源要求
- 可用性注意事项
- 可伸缩性注意事项
资源要求
在部署 Analysis Services 项目之前,请考虑安装的资源要求。特别是,应当考虑内存和处理器需要,以及磁盘空间要求。
内存和处理器要求
Analysis Services 在以下情况下需要更多的内存和处理器资源:
- 处理大型或复杂多维数据集时。与小型或简单的多维数据集相比,它们需要更多的内存和处理器资源。
- 单个数据库中的多维数据集个数增加时。
- 单个 Analysis Services 实例中的数据库个数增加时。
- 单个计算机上的 Analysis Services 实例数增加时。
- 同时访问 Analysis Services 资源的用户数增加时。
根据安装在服务器计算机上的 Microsoft Windows 版本,可用于 Analysis Services 的内存和处理器资源的数量各不相同。下表列出了 Analysis Services 基于所安装的 Windows 版本可以使用的内存和处理器资源。
Windows 的版本 | 可用于 Analysis Services 的最大内存数量 | 可用于 Analysis Services 的最大处理器个数 |
---|---|---|
Windows Server 2003,Enterprise Edition,64 位版本 | 64 GB | 8 |
Windows Server 2003,Datacenter Edition,64 位版本 | 512 GB | 32 |
Windows Server 2003,Standard Edition | 3 GB,使用 /3GB 开关 | 4 |
Windows Server 2003,Enterprise Edition | 3 GB,使用 /3GB 开关 | 8 |
Windows Server 2003,Datacenter Edition | 3 GB,使用 /3GB 开关 | 32 |
Windows 2000 Server | 2 GB | 4 |
Windows 2000 Advanced Server | 3 GB,使用 /3GB 开关 | 8 |
Windows 2000 Datacenter Server | 3 GB,使用 /3GB 开关 | 32 |
在任何 32 位 Windows 版本中,不管计算机上安装的实际内存量是多少,Analysis Services 最多可以寻址 3 GB 内存。有关 /3GB 开关的详细信息,请参阅 Microsoft 知识库 (KB) 文章 283037 。 |
磁盘空间要求
Analysis Services 安装的不同方面和与对象处理相关的任务需要不同数量的磁盘空间。以下列表描述了这些要求。
-
多维数据集
-
与有小事实数据表的多维数据集相比,有大型事实数据表的多维数据集需要更多的磁盘空间。同样,尽管是在更小的程度内,与有较少维度成员的多维数据集相比,有很多大型维度的多维数据集需要更多的磁盘空间。通常,可以预计 Analysis Services 数据库所需的空间量是存储在基础关系数据库中的相同数据所需空间量的大约 20%。
-
聚合
-
聚合需要与所增加的聚合成比例的额外空间,即聚合越多,需要的空间越多。如果避免创建不必要的聚合,则聚合所需要的额外磁盘空间通常不应超过存储在基础关系数据库中的数据大小的大约 10%。
-
数据挖掘
-
默认情况下,挖掘结构将把用它们定型的数据集缓存到磁盘。若要从磁盘删除此缓存数据,可以对挖掘结构对象使用“处理清除结构”处理选项。有关详细信息,请参阅 处理数据挖掘对象 。
-
对象处理
-
在处理过程中,Analysis Services 将它正在处理事务中进行处理的对象的副本存储在磁盘上,直到处理完成。处理完成后,经过处理的对象副本将替换原始对象。因此,您必须为要处理的每个对象的第二个副本提供足够的额外磁盘空间。例如,如果计划在单个事务中处理整个多维数据集,则需要足够的硬盘空间来存储整个多维数据集的第二个副本。
返回页首
可用性注意事项
在 Analysis Services 环境中,由于硬件或软件故障,多维数据集或挖掘模型可能对查询不可用。多维数据集还可能由于需要被处理而不可用。
一旦硬件或软件发生故障时提供可用性
硬件或软件可能由于各种原因而发生故障。但是,维护 Analysis Services 安装的可用性不仅涉及排除这些故障源,而且涉及提供替代资源,以使用户能够在发生故障时继续使用系统。通常,使用群集和负载平衡服务器来提供当硬件或软件故障发生时维护可用性所需的替代资源。
若要在发生硬件或软件故障时提供可用性,请考虑将 Analysis Services 部署到故障转移群集中。在故障转移群集中,如果主节点由于任何原因发生故障或必须重新启动,则 Microsoft Windows 群集将故障转移到辅助节点。发生故障转移的速度非常快,在此之后,当用户运行查询时,他们将访问运行在辅助节点上的 Analysis Services 实例。
可用性问题的另一个解决方案是将 Analysis Services 项目部署在两个或更多个生产服务器上。然后,可以使用 Windows 服务器的网络负载平衡 (NLB) 功能,将生产服务器组合成单个群集。在 NLB 群集中,如果群集中的服务器由于硬件或软件问题而不可用,NLB 服务会将用户查询引向那些仍然可用的服务器。有关 Windows 群集和 NLB 的详细信息,请参阅 Microsoft Windows Server 2003 网站中 Technology Centers 下的 Clustering Services 。
当处理结构更改时提供可用性
多维数据集的某些更改可以导致多维数据集在被处理之前不可用。例如,如果对多维数据集中的维度进行了结构更改,那么,即使重新处理该维度,仍然必须对使用修改后的维度的每个多维数据集进行处理。直到处理完这些多维数据集之后,用户才能查询它们,也才能查询基于有修改维度的多维数据集的任何挖掘模型。
若要在处理可能会影响 Analysis Services 项目中的一个或多个多维数据集的结构更改时提供可用性,请考虑合并临时服务器,并使用同步数据库向导。此功能允许您更新临时服务器上的数据和元数据,然后对生产服务器和临时服务器执行联机同步。有关详细信息,请参阅 同步 Analysis Services 数据库 。
若要透明处理对源数据的增量更新,请启用主动缓存。主动缓存将以新的源数据更新多维数据集,而不需要手动处理,并且不会影响多维数据集的可用性。有关详细信息,请参阅 主动缓存 。
返回页首
可伸缩性注意事项
同一个计算机上的多个 Microsoft SQL Server 2005 和 Analysis Services 实例可能导致性能问题。若要解决这些问题,一个选项可能是增加服务器的处理器、内存和磁盘资源。但是,可能还需要将 SQL Server 和 Analysis Services 实例分散到多个计算机。
将 Analysis Services 分散到多个计算机
有几种方式将 Analysis Services 安装分散到多个计算机。以下列表描述了这些选项。
- 如果在单个计算机上有多个 Analysis Services 实例,可以将一个或多个实例移动到另一个计算机上。
- 如果单台计算机上有多个 Analysis Services 数据库,则可以将一个或多个数据库移动到单独计算机它自己的 Analysis Services 实例中。
- 如果一个或多个关系数据库为 Analysis Services 数据库提供数据,则可以将这些数据库移动到单独的计算机上。在移动数据库之前,请考虑在 Analysis Services 数据库和它的基础数据库之间实际的网络速度和带宽。如果网络缓慢或堵塞,那么,将基础数据库移动到单独的计算机上将会影响处理性能。
- 如果处理会影响查询性能,但在多次减少查询负载后也无法进行处理,请考虑将处理任务移动到临时服务器上,然后对生产服务器和临时服务器执行联机同步。有关详细信息,请参阅
同步 Analysis Services 数据库
。还可以使用远程分区将处理分散到多个 Analysis Services 实例中。处理远程分区时,将使用远程服务器上的处理器和内存资源,而不是本地计算机上的资源。有关远程分区管理的信息,请参阅
管理 Analysis Services 分区
。
- 如果查询性能不足,但无法增加本地服务器的处理器和内存资源,请考虑将 Analysis Services 项目部署到两个或更多个生产服务器上。然后,可以使用网络负载平衡 (NLB) 将服务器组合成单个群集。在 NLB 群集中,查询将自动分散在 NLB 群集中的所有服务器上。有关详细信息,请参阅 Microsoft Windows Server 2003 网站中 Technology Centers 下的
Clustering Services
。