运行混合工作负载会给繁忙的系统带来资源挑战。 解决方案架构师寻求分离经典数据仓库活动(例如加载、转换和查询数据)的方法,以确保有足够的资源来达到 SLA。
物理服务器隔离可能会导致基础设施的容量利用不足、过度预留,或者进入一种随着硬件启动和停止而不断装填缓存的状态。 成功的工作负荷管理方案可有效管理资源,确保资源利用率高,并最大限度地实现投资回报(ROI)。
数据仓库工作负荷是指与数据仓库相关的所有作。 这些组件的深度和广度取决于数据仓库的成熟度级别。 数据仓库工作负荷包括:
- 将数据加载到仓库的整个过程
- 执行数据仓库分析和报告
- 管理数据仓库中的数据
- 从数据仓库导出数据
数据仓库的性能容量由 数据仓库单位决定。
过去,对于 Azure Synapse 中的 Synapse SQL,可以通过 资源类管理查询性能。 允许根据角色成员身份将内存分配给查询的资源类。 资源类最主要的挑战在于一旦配置完成,便无法进行管理或控制工作负荷。
例如,向 smallrc 授予临时用户角色成员身份,使该用户能够在系统上使用 100% 内存。 使用资源类时,无法保留并确保资源可用于关键工作负荷。
Azure Synapse 中的专用 SQL 池工作负荷管理包括三个高级概念: 工作负荷分类、 工作负荷重要性和 工作负荷隔离。 通过这些功能,可以更好地控制工作负荷如何使用系统资源。
工作负荷分类是向工作负荷组分配请求并设置重要性级别的概念。 从历史上看,此分配是通过使用 sp_addrolemember的角色成员身份完成的。 现在可以通过 CREATE WORKLOAD CLASSIFER 执行此操作。 分类功能提供了一组更丰富的选项,例如标签、会话和对请求进行分类的时间。
工作负荷重要性影响请求获取资源访问权限的顺序。 在繁忙的系统上,重要性较高的请求具有优先访问资源的权限。 重要性还可确保按顺序访问锁。
工作负荷隔离为工作负荷组预留资源。 工作负荷组中保留的资源专门为该工作负荷组保留,以确保执行。 工作负荷组还可用于定义为每个请求分配的资源量,与资源类很像。 通过工作负荷组,可以保留或限制一组请求可使用的资源量。 最后,工作负荷组是一种机制,用于将查询超时等规则应用到请求。
- 有关工作负荷分类的详细信息,请参阅 工作负荷分类。
- 有关工作负荷隔离的详细信息,请参阅 工作负荷隔离。
- 有关工作负荷重要性的详细信息,请参阅 工作负荷重要性。
- 有关工作负荷管理监视的详细信息,请参阅 工作负荷管理门户监视。