Azure cosmosdb 物理分区-Azure CosmosDB
我们正在评估Azure Cosmos DB是否有MongoDB替代品。我们收集了500万个文档,每个文档的大小约为20KB。Mongo中集合的总大小约为50GB,由于JSON的大小,我们预计Cosmos中会多出15%。此外,文件数量提前增加了160万份。我们的吞吐量要求约为每秒10000个查询。查询可以是单个文档、一组文档。查询单个文档大约需要5个RU,查询多个文档大约需要10到20个RU 为了获得所需的吞吐量,我们需要对集合进行分区 想获得以下问题的答案吗Azure cosmosdb 物理分区-Azure CosmosDB,azure-cosmosdb,Azure Cosmosdb,我们正在评估Azure Cosmos DB是否有MongoDB替代品。我们收集了500万个文档,每个文档的大小约为20KB。Mongo中集合的总大小约为50GB,由于JSON的大小,我们预计Cosmos中会多出15%。此外,文件数量提前增加了160万份。我们的吞吐量要求约为每秒10000个查询。查询可以是单个文档、一组文档。查询单个文档大约需要5个RU,查询多个文档大约需要10到20个RU 为了获得所需的吞吐量,我们需要对集合进行分区 想获得以下问题的答案吗 Cosmos DB内部使用了多少个物
- 您可以为Cosmos DB容器提供T请求/s吞吐量
- 在幕后,Cosmos DB提供服务T请求/s所需的分区。如果T高于每个分区T的最大吞吐量,那么Cosmos DB provisions N=T/T分区
- Cosmos DB在N个分区上均匀分配分区密钥散列的密钥空间。因此,每个分区(物理分区)承载1-N个分区键值(逻辑分区)
- 当物理分区p达到其存储限制时,Cosmos DB将p无缝地拆分为两个新分区p1和p2,并将大约一半的密钥对应的值分配给每个分区。此拆分操作对应用程序不可见
- 类似地,当您提供高于t*N吞吐量的吞吐量时,Cosmos DB会分割一个或多个分区以支持更高的吞吐量