复制是否会导致请求限制? [英] Can replication cause request throttling?

查看:47
本文介绍了复制是否会导致请求限制?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下使用案例:

  • 我们有单一写入区域Azure Cosmos
  • 数据库将被复制到其他Azure区域(例如,将另外5个Azure区域视为读取副本)
  • 我们有一个不能中断用户查询数据库的日常ETL作业。因此,我们在应用层对向Cosmos发出的请求进行速率限制-例如,在10k RU/s配置中,我们仅消耗5k RU/s(严格地说,我们使用自动缩放设置配置1k RU/s)。多亏了这一点,当我们做ETL工作时,我们消耗了50%的可用RU。

问题:

  • 我们是否有可能在复制期间达到其中一个读取副本的100%RU利用率,因为Cosmos将尝试以尽可能快的速度复制所有内容?

推荐答案

这取决于(1)ETL是作为源从Cosmos DB读取还是作为目标写入Cosmos DB,以及(2)聚合工作负载(ETL+APP)是什么样子。

我会解释的-

  • 考虑RU的最佳方式是它是执行请求所需的物理系统资源(CPU、内存、IOPS)的代理度量。

  • 写入必须应用于所有区域,因此会消耗每个复制区域中的RU(CPU/内存/IOPS)。给出由西美国+东美国+北欧组成的3个区域设置的示例,写入记录将导致美国西部、东美国和北欧的RU消耗。

  • 读取可以独立于另一个区域提供给单个区域。给出一个由西美国+东美国+北欧组成的3个区域设置的示例-读取美国西部的记录不会对东美国或北欧产生影响。

按您的建议-

  • 限制ETL作业的速率是一个很好的选择。根据您的etl工具是什么-其中一些更容易使用客户端限速配置选项(例如,值得注意的是,Azure data Factory数据流和Cosmos DB的Core SQLAPI的电光连接器有一个写吞吐量预算&概念)-或者,您可以缩减etl作业本身,以确保etl作业是一个自然的瓶颈。

  • 配置自动缩放最大值为[速率限制ETL所需的RU/秒]+[应用程序所需的预期RU/秒的上限]提供足够的净空空间也是一个不错的选择-同时也注意到Cosmos DB的自动缩放具有10倍的缩放因子。(例如,在cosmos db自动缩放上配置20K RU/秒的最大值会导致2K-20K RU/秒之间的自动缩放)。

  • 值得一提的是.取决于ETL作业的用例-如果这是来自OLTP=>;OLAP的经典ETL,则可能值得考虑将Cosmos DB的分析存储+Synapse Link功能集视为更简单的开箱即用解决方案。

这篇关于复制是否会导致请求限制?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆