首页 > 解决方案 > 如何通过分区优化 cosmoDB 并最终降低成本

问题描述

我有一个 CosmoDb 数据库,其中包含 3 个集合(每个国家/地区的概念,1 个集合),每个集合有 50 多条记录。现在我想优化收藏,以降低成本!

优化收藏的最佳方法是什么?

分区是否有助于降低成本?

编辑更多细节:有三个国家说,美国,墨西哥,英国。我为每个国家/地区收集了 3 个系列。USCollection、MexicoCollection、UKCollection。每个集合包含多条记录。国家 ID 用作此记录中的唯一键。我有一个写操作和一个读操作。

注意:我已经尝试了将 CosmoDB 数据库迁移到 Azure 存储表的选项,因为文档的数据结构嵌套且复杂,我得出的结论是这不是一个好主意。

标签: azure-cosmosdb

解决方案


我会为每个国家/地区使用带有分区键的 1 个集合,而不是每个国家/地区的集合。您为每个集合支付保留的 RU/s 量。分区键不会影响成本,但会影响您是否需要执行成本更多 RU 的跨分区查询。

如果您出于某种原因需要保留单独的集合,那么您可能会利用数据库级别的定价,但这可能不会为您节省任何钱。

省钱的最佳建议是确保您的索引设置正确,以便您的写入操作快速/便宜,并且您的读取不需要进行扫描。

-- 编辑提及跨分区查询对 RU 的影响。


推荐阅读