在 Azure Cosmos DB for Apache Cassandra 资源上配置数据库、容器或自动缩放吞吐量

适用对象: 卡珊德拉

重要

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

本文介绍如何在 Azure Cosmos DB for Apache Cassandra 中预配吞吐量。 可以在表或键空间上预配标准(手动)或自动缩放吞吐量,并在键空间中的表之间共享它。 你可使用 Azure 门户、Azure CLI 或 Azure Cosmos DB SDK 来预配吞吐量。

注释

对于大多数工作负荷,不建议使用共享密钥空间吞吐量。 尽管它可以简化某些方案中的预配,但跨多个表共享吞吐量可能会导致不可预知且不可取的性能和缩放行为。 由于同一键空间中的表共享分区,因此,为了支持大型表或持续增长的表而扩展键空间吞吐量,可能会导致较小的共置表被重新分区,使它们过于分散到过多的分区中。 我们建议在表级配置吞吐量。 采用高级方案的客户仍可使用 Azure Cosmos DB SDK 以编程方式创建和管理共享密钥空间吞吐量。

如果使用其他 API,请参阅 API for NoSQLAPI for MongoDBAPI for Gremlin 文章来预配吞吐量。

Azure 门户

  1. 登录到 Azure 门户

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

  3. 打开 数据资源管理器 窗格,然后选择 New Table。 接下来,请提供以下详细信息:

    • 指出要创建新密钥空间还是使用现有密钥空间。
    • 在 CQL 命令中输入表 ID。
    • 输入主键值(例如 /userrID)。
    • 输入要预配的吞吐量(例如,1000 RU)
    • 选择“确定”

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

注释

对于大多数工作负荷,我们建议在表级别而不是密钥空间级别预配吞吐量。 如果有需要共享密钥空间吞吐量的高级方案,则可以使用 Azure Cosmos DB SDK 以编程方式创建它。

注释

要使用 API for Cassandra 在 Azure Cosmos DB 帐户中为容器预配吞吐量,请使用 /myPrimaryKey 作为分区键路径。

.NET SDK

为 Cassandra 表预配吞吐量

// Create a Cassandra table with a partition (primary) key and provision throughput of 400 RU/s
session.Execute("CREATE TABLE myKeySpace.myTable(
    user_id int PRIMARY KEY,
    firstName text,
    lastName text) WITH cosmosdb_provisioned_throughput=400");

类似的命令可以通过任何 CQL 兼容的驱动程序发出。

修改或更改 Cassandra 表的吞吐量

// Altering the throughput too can be done through code by issuing following command
session.Execute("ALTER TABLE myKeySpace.myTable WITH cosmosdb_provisioned_throughput=5000");

类似命令可以通过任何符合 CQL 标准的驱动程序执行。

// Create a Cassandra keyspace and provision throughput of 400 RU/s
session.Execute("CREATE KEYSPACE IF NOT EXISTS myKeySpace WITH cosmosdb_provisioned_throughput=400");

Azure 资源管理器

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 中预配吞吐量: