在读取性能方面哪个更好?我目前正在使用 arangoDB,关于多模型方法,我想知道从具有多重嵌套列表的少数文档中读取数据或从许多(较小的)没有嵌套列表的文档中读取数据是否更快,这些文档是连接的由多个边缘。
多重嵌套文档示例(实际上,这与鸡尾酒数据库无关):
{ "_key" : "cocktail/1", "name" : "newcocktail", "drinks" : [{ "orange juice" : [{"ingredient":"orange", "quantity":2},{"ingredient":"water", "amount":4},{"ingredient":"sugar", "quantity":6}], ...]}, }
示例没有嵌套列表:
{ "_key" : "cocktail/1", "name" : "newcocktail" } { "_key" : "edge/1", "from" : "cocktail/1", "to" : "drink/1" } { "_key" : "drink/1", "name" : "orange juice" "quantity" : 2 } { "_key" : "edge/2", "from" : "drink/1", "to" : "ingredient/1" } { "_key" : "ingredient/1", "name" : "orange" "quantity" : 2 "unit" : .... }
最佳答案
如果您只对原始读取性能感兴趣,那么读取一个大文档会更快。
如果您的文档只是值,那么关于多模型方法的正确策略确实是嵌入。如果您的文档本身就是实体(可能会经常更改;从不同的地方引用),那么您应该将它们存储为单独的文档。
关于data-modeling - 而是在少数文档中使用多重嵌套列表,或者没有/很少嵌套列表,但许多文档通过边连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27782656/