在 cosmos db 中使用 Table API 在数据库级别提供吞吐量

Provision throughput on Database level using Table API in cosmos db

我遇到了必须为 Cosmos DB 选择 API 的要求。

我已经完成了所有 API,例如 SQL、图表、Mongo 和 Table。由于我当前的项目结构基于 Table 存储,我在其中存储 IoT 设备数据。

在当前结构中(Table 存储):

我有一个单独的 Table 用于每个具有如下有效负载的设备 { 时间戳, 参数名称, 价值 }

现在,如果我打算使用 Cosmos DB,那么我可以看到我必须针对每个 table 预配 RU/throughput,我认为这会花费很大。我还没有找到任何方法在数据库级别分配 RU,以便我分配的 RU 可以在所有 table 之间共享。

请让我知道,以防万一我们这里有什么……或者这是我可以用 Table API 处理 CosmosDB 的限制?

据我所知 SQL API 并考虑我的用例,我可以创建一个数据库,然后创建多个集合(名称为 Table),然后我可以选择在数据库和设备级别提供 RU,这让我可以更好地控制成本。

您可以在帐户级别设置吞吐量。

You can optionally provision throughput at the account level to be shared by all tables in this account, to reduce your bill. These settings can be changed ONLY when you don't have any tables in the account. Note, throughput provisioned at the account level is billed for, whether you have tables created or not. The estimate below is approximate and does not include any discounts you may be entitled to.

Azure Cosmos DB pricing

The throughput configured on the database is shared across all the containers of the database. You can choose to explicitly exclude certain containers from database provisioning and instead provision throughput for those containers at container level.

A Cosmos DB database maps to the following: a database while using SQL or MongoDB APIs, a keyspace while using Cassandra API or a database account while using Gremlin or Table storage APIs.

您可以将 Cerebrata 嵌入到工具允许您分配任意数量的吞吐量值的情况 post 分配吞吐量类型(固定、auto-scale 或无吞吐量)

免责声明:这完全基于我的经验