Analysis Services 部署的要求和注意事项

解决方案的性能和可用性取决于许多因素,包括基础硬件的性能、服务器部署的拓扑结构、您的解决方案特性(例如,具有跨多个服务器分布的分区或者使用要求对关系引擎的直接访问权限的 ROLAP 存储区)、服务级别协议和您的数据模型的复杂程度。

内存和处理器要求

在以下情况下,Analysis Services 需要更多的内存和处理器资源:

  • 处理大型或复杂多维数据集时。 与小型或简单的多维数据集相比,它们需要更多的内存和处理器资源。

  • 单个数据库中的多维数据集个数增加时。

  • 当 Analysis Services 的单个实例中的数据库数增加时。

  • 当单个计算机上的 Analysis Services 实例数增加时。

  • 访问 Analysis Services 资源的用户数同时增加时。

Analysis Services 可用的内存和处理器资源量因SQL Server版本、操作系统、硬件功能以及使用的是虚拟处理器还是物理处理器而异。 有关详细信息,请访问以下链接:

安装 SQL Server 2014 的硬件和软件要求

按 SQL Server 版本划分的计算能力限制

SQL Server 2014 各个版本支持的功能

最大容量规范 (Analysis Services)

磁盘空间要求

Analysis Services 安装的不同方面以及与对象处理相关的任务需要不同的磁盘空间量。 下表描述了这些要求。

多维数据集
与有小事实数据表的多维数据集相比,有大型事实数据表的多维数据集需要更多的磁盘空间。 同样,尽管是在更小的程度内,与有较少维度成员的多维数据集相比,有很多大型维度的多维数据集需要更多的磁盘空间。 通常,对于存储在基础关系数据库中的相同数据,Analysis Services 数据库大约需要 20% 的空间。

聚合
聚合需要与添加的聚合成正比的额外空间-聚合越多,所需的空间就越多。 如果避免创建不必要的聚合,则聚合所需要的额外磁盘空间通常不应超过存储在基础关系数据库中的数据大小的大约 10%。

数据挖掘
默认情况下,挖掘结构将把用它们定型的数据集缓存到磁盘。 若要从磁盘删除此缓存数据,可以对挖掘结构对象使用 “处理清除结构” 处理选项。 有关详细信息,请参阅 处理要求和注意事项 (数据挖掘)

对象处理
在处理期间,Analysis Services 会将它正在处理的对象的副本存储在磁盘上的处理事务中,直到处理完成。 处理完成后,经过处理的对象副本将替换原始对象。 因此,您必须为要处理的每个对象的第二个副本提供足够的额外磁盘空间。 例如,如果计划在单个事务中处理整个多维数据集,则需要足够的硬盘空间来存储整个多维数据集的第二个副本。

可用性注意事项

在 Analysis Services 环境中,由于硬件或软件故障,多维数据集或挖掘模型可能无法进行查询。 多维数据集还可能由于需要被处理而不可用。

一旦硬件或软件发生故障时提供可用性

硬件或软件可能由于各种原因而发生故障。 但是,维护 Analysis Services 安装的可用性不仅涉及排查这些故障的来源,还涉及提供替代资源,使用户能够在发生故障时继续使用系统。 通常,使用群集和负载平衡服务器来提供当硬件或软件故障发生时维护可用性所需的替代资源。

若要在发生硬件或软件故障时提供可用性,请考虑将 Analysis Services 部署到故障转移群集。 在故障转移群集中,如果主节点因任何原因而失败或必须重新启动,Microsoft Windows 群集会故障转移到辅助节点。 故障转移后(发生得非常快),当用户运行查询时,他们将访问在辅助节点上运行的 Analysis Services 实例。 有关故障转移群集的详细信息,请参阅 Windows Server 技术:故障转移群集

可用性问题的另一个解决方案是将 Analysis Services 项目部署到两台或更多台生产服务器上。 然后,可以使用 Windows 服务器的网络负载平衡 (NLB) 功能,将生产服务器组合成单个群集。 在 NLB 群集中,如果群集中的服务器由于硬件或软件问题而不可用,NLB 服务会将用户查询引向那些仍然可用的服务器。

当处理结构更改时提供可用性

多维数据集的某些更改可以导致多维数据集在被处理之前不可用。 例如,如果对多维数据集中的维度进行了结构更改,那么,即使重新处理该维度,仍然必须对使用修改后的维度的每个多维数据集进行处理。 直到处理完这些多维数据集之后,用户才能查询它们,也才能查询基于有修改维度的多维数据集的任何挖掘模型。

若要在处理可能影响 Analysis Services 项目中一个或多个多维数据集的结构更改时提供可用性,请考虑合并过渡服务器并使用同步数据库向导。 此功能允许您更新临时服务器上的数据和元数据,然后对生产服务器和临时服务器执行联机同步。 有关详细信息,请参阅 Synchronize Analysis Services Databases

若要透明处理对源数据的增量更新,请启用主动缓存。 主动缓存将以新的源数据更新多维数据集,而不需要手动处理,并且不会影响多维数据集的可用性。 有关详细信息,请参阅 主动缓存 (分区)

可伸缩性注意事项

同一计算机上的多个 Microsoft SQL Server 和 Analysis Services 实例可能会导致性能问题。 若要解决这些问题,一个选项可能是增加服务器的处理器、内存和磁盘资源。 但是,可能还需要跨多台计算机缩放 SQL Server 和 Analysis Services 的实例。

将 Analysis Services 分散到多个计算机

可通过多种方式跨多台计算机缩放 Analysis Services 的安装。 以下列表描述了这些选项。

  • 如果一台计算机上有多个 Analysis Services 实例,可以将一个或多个实例移到另一台计算机。

  • 如果一台计算机上有多个 Analysis Services 数据库,则可以将一个或多个数据库移到单独的计算机上的 Analysis Services 实例上。

  • 如果一个或多个关系数据库向 Analysis Services 数据库提供数据,则可以将这些数据库移动到单独的计算机。 在移动数据库之前,请考虑 Analysis Services 数据库与其基础数据库之间的网络速度和带宽。 如果网络缓慢或堵塞,那么,将基础数据库移到单独的计算机上将会影响处理性能。

  • 如果处理影响查询性能,但在查询负载减少期间无法进行处理,请考虑将处理任务移动到过渡服务器,然后对生产服务器和过渡服务器执行联机同步。 有关详细信息,请参阅 Synchronize Analysis Services Databases。 还可以使用远程分区跨 Analysis Services 的多个实例分发处理。 处理远程分区时,将使用远程服务器上的处理器和内存资源,而不是本地计算机上的资源。 有关远程分区管理的信息,请参阅 创建和管理远程分区 (Analysis Services)

  • 如果查询性能不佳,但无法增加本地服务器上的处理器和内存资源,请考虑将 Analysis Services 项目部署到两台或更多台生产服务器上。 然后,可以使用网络负载平衡 (NLB) 将服务器组合成单个群集。 在 NLB 群集中,查询将自动分散在 NLB 群集中的所有服务器上。