使用DataWorks的数据服务功能调用数据API时,API调用请求会占用一定的资源组,本文为您介绍资源组的基本概念和分类,以及连通性和性能问题,通过对比各类资源组,助力您根据自身需求选择更合适的资源组类型。

基本概念

资源组是指数据服务的API调用请求运行所占的计算资源。通常资源组以机器的形式展现,即CPU、内存和带宽的大小。API调用流程为:用户发起API调用请求,调用请求会先被API网关接收,再被转发至数据服务的服务器,最后被转发至目标数据源中执行数据查询。

API调用流程

资源组分类

资源组可分为公共资源组和独享资源组两类。

  • 公共资源组:

    DataWorks提供的、所有用户可共享使用的资源组,公共资源组使用高峰期可能会出现不同用户间抢占资源的情况。

    更多公共资源组的介绍可参见公共资源组,公共资源组的使用可参见使用公共资源组

  • 独享资源组:

    购买后可独占使用的资源组。在需要保障高并发和高频率的API调用时,您可以选择独享资源组。

    更多独享资源组的介绍可参见独享数据服务资源组

资源规划关键:连通性和性能

您在使用资源组时,需要关注资源组的连通性和性能两方面:

  • 连通性:

    发起API调用请求时,请求会下发至数据服务的服务器,并被进一步转发至数据源中执行数据查询,因此需要保证资源组可以访问相应的数据源及其所在的网络。您需要在保证网络连通的前提下,再使用数据服务;如果网络不通,会导致API调用请求无法执行。

  • 性能:

    执行API调用任务时,会占用资源组所在机器的CPU、内存和网络等资源。如果资源不足,会导致API调用异常、高频调用请求被限流,以及无法及时返回查询结果等问题。您需要给予API调用任务充足的资源,以保障API调用请求的顺利执行。建议您使用独享资源组,将发起的API调用任务运行在独立的环境中,无需受到公共资源池的影响。独享资源组的性能指标可参见独享数据服务资源组的性能指标和计费标准

资源组对比和建议

两种类型的资源组适用于不同的场景,以下通过在资源组归属、网络连通、收费方式、实际性能等维度为您对比展示各资源组的现状。您创建API时,可以根据自身需求选择合适的资源组。

类别 独享资源组 公共资源组
机器资源归属 由DataWorks维护,是每个租户自身独占使用的计算资源。 由DataWorks维护,是所有租户竞争使用的共享资源。
网络 支持VPC网络下的阿里云产品。(目前仅支持VPC实例模式,即将支持VPC连接串模式) 支持经典网络、公网、VPC(实例模式)下的阿里云产品。
收费方式 根据资源组的规格,包年包月计费。 根据调用次数和调用时长用量,以阶梯价的形式按量收费。
支持的数据源 Hologres、RDS for MySQL、RDS for PostgreSQL、RDS SQL Server、AnalyticDB for MySQL 3.0、AnalyticDB for PostgreSQL(数据源类型持续丰富中,敬请期待) Hologres、RDS、MySQL、PostgreSQL、SQL Server、Oracle、Table Store、AnalyticDB for MySQL 2.0、AnalyticDB for MySQL 3.0、AnalyticDB for PostgreSQL、MongoDB、DRDS
最大每秒请求数(QPS)

不同规格独享资源组的QPS阈值不同,最低支持500 QPS,可根据实际需求灵活选择不同规格资源组来保障不同QPS量级。

一个独享资源组可以绑定至多个工作空间、多个API。

当API调用量超过各规格资源组的QPS阈值后,将触发系统限流,API调用失败。

每个租户账号、每个地域最高支持200 QPS ,如需提高QPS阈值,请切换为独享资源组。

当API调用量超过200 QPS将触发系统限流,API调用失败。

超时时长限制 30s 10s
可靠性
安全性
适用场景 高并发、高频率的在线调用,复杂查询语句,海量数据返回。 低并发、低频率的调用场景
推荐指数 ★★★★★ ★★★
说明 注释①:独享资源组的QPS阈值是基于实际业务场景进行测算得出,您可以参考以下信息估算QPS阈值。
  • 是否以脚本模式生成API。
  • API是否开启返回结果分页功能。
  • API内配置的SQL在数据源平均执行时长为100毫秒。
  • API单次调用返回数据平均大小为3000字节。

因此,如果您的实际业务场景与上述数据有较大出入,请加入DataWorks钉钉群咨询技术支持,我们会根据您的实际业务场景推荐合适的资源组规格。

根据上表两种类型的对比,推荐您使用独享资源组来进行API调用。