我目前有一个由我的系统生成的大型数据集。它看起来像这样:
[
{
"OrderId": "1",
"A":, "value1A",
"B":, "value1B"
},
{
"OrderId": "2",
"A":, "value2A",
"B":, "value2B"
}
]
它真的是一个非常简单的列表,但它非常大,并且远远超过单个文档的2MB大小限制。什么是分割/链接所有这些订单的最佳做法,以便很容易将它们作为一个相关列表进行查询?
有没有内置的东西来处理这个?或者我必须修改架构并为每个订单添加某种跟踪ID并将每个订单存储为自己的文档吗?
答案 0 :(得分:0)
对所有这些订单进行分片/链接的最佳做法是什么 很容易将它们作为一个相关列表查询?
所有关于数据结构。当我们的文档大于文档DB 2MB
限制时,我们必须考虑拆分文档。如果您对这些订单有明确的分类规则,那么我强烈建议您拆分这些Orders
并将分区键添加到它们。
例如:
{
"Type" : "AAA",
"OrderId": "1",
"A":, "value1A",
"B":, "value1B"
},
{
"Type" : "AAA",
"OrderId": "2",
"A":, "value2A",
"B":, "value2B"
},
{
"Type" : "BBB",
"OrderId": "1",
"A":, "value1A",
"B":, "value1B"
},
{
"Type" : "BBB",
"OrderId": "2",
"A":, "value2A",
"B":, "value2B"
}
这样您就可以根据分区键方便地检索它们。
不要担心数据模式的更改,您可以使用Cosmos DB Migration Tool批量导出并导入文档db的数据。
希望它对你有所帮助。