Compartilhar via

在 Azure Cosmos DB for MongoDB 资源上预配数据库、容器或自动调整吞吐量

适用对象: Mongodb

重要

你是否正在寻找一种数据库解决方案,以应对需要高扩展性、99.999% 可用性服务级别协议(SLA)、即时自动扩展和跨多个区域的自动故障转移的场景? 请考虑使用 Azure Cosmos DB for NoSQL

本文介绍如何在 Azure Cosmos DB for MongoDB 中预配吞吐量。 你可在一个容器或数据库上预配标准(手动)或自动缩放吞吐量,并在数据库中的容器之间共享。 你可使用 Azure 门户、Azure CLI 或 Azure Cosmos DB SDK 来预配吞吐量。

Azure 门户

  1. 登录到 Azure 门户

  2. 创建新的 Azure Cosmos DB 帐户,或选择现有的 Azure Cosmos DB 帐户。

  3. 打开“数据资源管理器”窗格,然后选择“新建集合” 。 接下来,请提供以下详细信息:

    • 表明要创建新数据库还是使用现有数据库。 如果要在数据库级别预配吞吐量,请选择“预配数据库吞吐量”选项。
    • 输入集合 ID。
    • 输入分区键值(例如 ItemID)。
    • 输入要预配的吞吐量(例如,1000 RU)
    • 选择“确定”

    创建具有数据库级吞吐量的新集合时的数据资源管理器的屏幕截图

注释

如果要在配置了 Azure Cosmos DB for MongoDB 的 Azure Cosmos DB 帐户中的容器上为吞吐量进行预配,请使用 myShardKey 作为分区键路径。

.NET SDK

// refer to MongoDB .NET Driver
// https://docs.mongodb.com/drivers/csharp

// Create a new Client
String mongoConnectionString = "mongodb://DB AccountName:Password@DB AccountName.documents.azure.cn:10255/?ssl=true&replicaSet=globaldb";
mongoUrl = new MongoUrl(mongoConnectionString);
mongoClientSettings = MongoClientSettings.FromUrl(mongoUrl);
mongoClient = new MongoClient(mongoClientSettings);

// Change the database name
mongoDatabase = mongoClient.GetDatabase("testdb");

// Change the collection name, throughput value then update via MongoDB extension commands
// https://docs.azure.cn/cosmos-db/mongodb-custom-commands#update-collection

var result = mongoDatabase.RunCommand<BsonDocument>(@"{customAction: ""UpdateCollection"", collection: ""testcollection"", offerThroughput: 400}");

Azure Resource Manager

Azure 资源管理器模板可用于在数据库或容器级资源上为所有 Azure Cosmos DB API 预配自动缩放吞吐量。 有关示例,请参阅 Azure Cosmos DB 的 Azure 资源管理器模板

Azure CLI

Azure CLI 可用于在数据库或容器级资源上为所有 Azure Cosmos DB API 预配自动缩放吞吐量。 有关示例,请参阅用于 Azure Cosmos DB 的 Azure CLI 示例

Azure PowerShell

Azure PowerShell 可用于在数据库或容器级资源上为所有 Azure Cosmos DB API 预配自动缩放吞吐量。 有关示例,请参阅适用于 Azure Cosmos DB 的 Azure PowerShell 示例

后续步骤

请参阅以下文章,了解如何在 Azure Cosmos DB 中预配吞吐量:

  • Azure Cosmos DB 中的请求单位和吞吐量
  • 尝试为迁移到 Azure Cosmos DB 进行容量规划? 可以使用有关现有数据库群集的信息进行容量规划。
    • 若只知道现有数据库群集中的 vCore 和服务器数量,请阅读使用 vCore 或 vCPU 估算请求单位
    • 如果您知道当前数据库工作负荷的典型请求速率,请阅读有关使用 Azure Cosmos DB 容量规划工具来估计请求单位的文章