如何在CosmosDB(python)的多个区域中分布我的RU / s?

时间:2019-11-14 03:49:42

标签: azure-cosmosdb azure-cosmosdb-mongoapi

我正在使用PyMongo通过以下方式将文档插入CosmosDB:

from pymongo import MongoClient

db_entry = {"id": 1, "partitionKey": 5}
cdb_client = MongoClient(COSMO_URI).events.face_events_unlimited
cdb_client.insert_one(db_entry)

“我的Azure门户指标”页面如下所示: Portal Metrics

其中一个区域列出了2.02 kRU / s,其他区域列出了0 RU / s

如何开始使用其他区域?

我在2个区域中配置了3000 RU / s ...这是否意味着我应该能够在每个区域中配置3000 RU / s?或者总共有3000 RU / s?

如何分隔插入物,以使其均匀分布在两个区域?

2 个答案:

答案 0 :(得分:1)

  

1。如何开始使用其他区域?

enter image description here

enter image description here

  

2。我在2个区域中配置了3000 RU / s ...这是否意味着我应该能够在每个区域中配置3000 RU / s?或者总共有3000 RU / s?

如果您在Cosmos容器(或数据库)上设置“ R” RU,Cosmos DB确保在与您的Cosmos帐户关联的每个区域中都可以使用“ R” RU。每次将新区域添加到帐户时,Cosmos DB都会在新添加的区域中自动置备“ R” RU。确保对您的Cosmos容器执行的操作会在每个区域中获得'R'RU。

您可以查看此link中的语句。

3。如何分离插入物,使它们均匀分布在两个区域?

如果您设置多写入区域,我认为它是自动配置的。您还可以在上面的链接中看到官方声明:

您无法有选择地将RU分配到特定区域。在与您的Cosmos帐户相关联的所有区域中都提供了在Cosmos容器(或数据库)上配置的RU。

答案 1 :(得分:1)

您可以构造2个不同的客户端(假设您只有2个区域,则每个区域一个)。 .NET sdk允许指定您正在使用的区域,不确定python sdk

关于第二个问题-意味着您每个区域有3000 RU / s,因为每个区域使成本增加了100%,所以1个区域的成本为x,2个区域的成本为2x,3个区域的成本为3x