gpt4 book ai didi

data-structures - 嵌套结构如何影响 DocumentDB 查询性能?

转载 作者:搜寻专家 更新时间:2023-10-30 19:45:46 25 4
gpt4 key购买 nike

问题可能会被表述为“压平还是不压平?”

如果我将嵌套的 JSON 文档存储在 DocumentDB 集合中,跨这些嵌套结构进行查询的性能是否与将这些嵌套结构作为平面文档单独存储在单独的集合中的性能相同?

有问题的数据将被写入一次并且(可能)永远不会更新。报告性能位于要求列表的顶部。

一方面,将数据存储在嵌套结构中似乎是使用无模式/无 SQL 技术的“正确”方式。也就是说,我们自然希望将 header 数据与详细数据关联到一个地方并在上下文中。但是,一旦我们每分钟写入数千行,同时从 Web 应用程序运行关于该集合的报告,它能否扩展并继续执行?

或者,将详细数据展平,将标题数据的相关部分冗余存储在详细信息集合的每一行中会更好吗?作为一名长期的 RDBMS 开发者/用户,我倾向于不冗余地存储数据,但我是否应该为了高性能而放弃这个想法?

平面数据结构在 DocumentDB 中的查询效率更高吗?差距有多大?也就是说,我这样做会放弃什么,如果性能是首要(但不是唯一)优先事项,这样做是否值得?

最佳答案

对此没有一个“正确”的答案。

选择是将关系表示为单个嵌入式文档(也称为反规范化)还是像在 RDBMS 中那样表示为引用(也称为规范化)在很大程度上取决于您的用例/场景。

通常,您会希望针对读取密集型场景进行反规范化,并针对写入密集型场景进行规范化。

DocumentDB 团队刚刚发布了一份关于此的引用文档;我建议阅读一下:http://azure.microsoft.com/en-us/documentation/articles/documentdb-modeling-data/

关于data-structures - 嵌套结构如何影响 DocumentDB 查询性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28700352/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com