Azure cosmos db有效负载大小限制

时间:2020-10-31 05:37:15

标签: java azure spring-data azure-cosmosdb azure-cloud-services

我有一个cosmos db集合,主键是id字段。问题是我的有效负载大于2MB,并且cosmos不允许写入大于2 MB。如果我将有效负载分成较小的块,然后写入波斯菊,那么它将覆盖具有相同ID的先前记录。我想在相同的ID下添加,而不要覆盖ID下列出的任何内容。有办法克服吗?请在下面查看我的结构。我正在保存用户对象。谢谢。

public class User {
    @Id
    private String id;
    private People people;
}

public class People {
    private List<Person> persons;
}

JDK 1.8

Spring Boot

1 个答案:

答案 0 :(得分:0)

如果数组很大,则应引用它,而不是嵌入它。给您的Person类一个ID,您可以使用它查找它们并将其作为单独的行而不是作为嵌入在一个文档中的数组插入。嵌入仅适用于1:1或1:少数情况。您可以在Data modeling in Cosmos DB处了解更多信息。

PS:如果您是Cosmos的新手,我鼓励您阅读有关建模和分区的所有文章。这些是了解如何设计将执行和扩展的数据库的关键。