use*_*791 7 azure azure-cosmosdb
在每分钟有1000个条目(唯一键)输入波斯菊的情况下,使用/ id作为分区键是否安全?
特别是,存在逻辑分区的概念 https://docs.microsoft.com/zh-cn/azure/cosmos-db/partition-data 此处的图形使我有些害怕,表明逻辑分区是实际实体(例如,“城市”:“伦敦”)。如果我有一个8小时的TTL和每分钟1000个条目,那么我并不一定想要cosmos需要管理的480,000个逻辑分区。
我想像的是,分区键的值只是简单地经过哈希处理,并且与物理分区的数量成模,例如。 https://docs.microsoft.com/zh-cn/azure/cosmos-db/partitioning-overview#choose-partitionkey 在“逻辑分区管理”部分中表示这是正确的。此外,“选择分区密钥”部分建议(但实际上并未声明)/ id将是一个很棒的分区密钥,因为它不必担心10GB的限制,吞吐量限制,没有热点,宽(巨大的)值范围,并且由于应用程序不需要对除id以外的任何内容进行过滤,因此跨分区查询将不会成为该用例的问题。
总而言之,我是否需要担心成千上万个分区键值(逻辑分区)的内存/ CPU /等开销?文档指出分区键的值越多越好,但是不要说是否有太多的值。
我来自Cosmos DB工程团队。
您不必担心在Cosmos DB集合/容器上创建的逻辑分区键的数量。只要分区键是您的写入(每个逻辑分区键上限为10GB)和查询的适当选择,您就应该不错。
影响是:
轻松、快速、廉价的文档读取
没有事务,因为事务范围是分区键
id除跨分区之外的任何查询附言。我很难想象除了读取/查询之外不需要任何东西的情况id。除了文档缓存(与 TTL 结合)。
| 归档时间: |
|
| 查看次数: |
2096 次 |
| 最近记录: |