Azure cosmosdb 对于一个集合中的一个CosmosDB分区,我们可以获得多少内存分配?

Azure cosmosdb 对于一个集合中的一个CosmosDB分区,我们可以获得多少内存分配?,azure-cosmosdb,Azure Cosmosdb,我正在研究cosmosdb集合中的分区。现在我知道我们可以在同一个集合中有多个分区,如下图所示 现在,如果我的休斯顿城市分区需要更多的顶部空间,那么cosmos db将如何在同一个集合中移动它呢?现在我的猜测是,它将保留在同一个集合中,而不是过度关注cosmosdb将如何以及在何处保留它。但是,如果过度收集已经满了,我们的休斯顿市分区需要更多的顶部空间,该怎么办?CosmosDB是否将创建新的集合并将Houstan移动到那里,或者它将如何工作?Cosmos DB中的分区管理是自动的-也就是说,

我正在研究cosmosdb集合中的分区。现在我知道我们可以在同一个集合中有多个分区,如下图所示


现在,如果我的休斯顿城市分区需要更多的顶部空间,那么cosmos db将如何在同一个集合中移动它呢?现在我的猜测是,它将保留在同一个集合中,而不是过度关注cosmosdb将如何以及在何处保留它。但是,如果过度收集已经满了,我们的休斯顿市分区需要更多的顶部空间,该怎么办?CosmosDB是否将创建新的集合并将Houstan移动到那里,或者它将如何工作?

Cosmos DB中的分区管理是自动的-也就是说,如果您的分区超出其空间,我们将使其加倍。请记住,对于查询性能来说,拥有适当的分区键(可能不应该像本例中那样只包含一个组件)以允许均匀分布,这比简单地依靠Cosmos DB来扩展分区要好

Atul-

创建集合时,可以选择“固定”或“无限”。对于fixed,您有一个固定的大小。没有混乱。对于无限存储,您实际上拥有无限的存储空间。但是,对于一个特定的分区密钥,现在的最大值是10GB。因此,为了不达到这个限制,您需要以不同的方式设计分区键。在更简单的世界中,不要有将达到10GB限制的分区密钥

但是,要明确的是,您的数据增长没有限制。您可以让多个分区键共享一个分区,当它达到最大值时,它将被拆分为不同的分区

希望这有帮助。在这里阅读更多


嗨,拉法特,你能详细介绍一下分区拆分吗?例如,如果城市密钥上有一个分区,如果超过10GB,它将如何被azure分割?它将创建两个具有相同密钥的分区还是两个不同的分区?是否要将两个分区保持在同一个集合中(若集合大小固定)?我想当集合大小不受限制时,它会将分割的分区保留在同一集合中吗?再次感谢如果您的分区密钥是city,并且只要一个城市上没有10 GB的数据,它就会自动分区。你什么都不用做。如果您的分区密钥是city,并且您有10000个城市名称,那么它可能会保存在一个分区或cosmos DB认为合适的不同分区中(这可能是您要求的存储和吞吐量的函数)。分区始终属于一个集合。简单的心智模型有一个分区键,你可以有数万个值,不必担心分区。所以,如果我选择可以有数万条记录的分区键,我可以忘记分区,但我将无法运行事务,因为事务的作用域仅限于一个分区。不是吗?虽然我还是很困惑,但我接受你的答复,作为对你努力的回答