【问题标题】:Saving Full Document or Just the modifications in document database保存完整文档或仅保存文档数据库中的修改
【发布时间】:2015-09-18 13:21:18
【问题描述】:

假设您有一个路由器的默认设置,并且您想为某个路由器自定义一些设置。

哪种方法更好?

将默认设置保存在数据库内的一个文档中,并将修改保存在另一个文档中,还是将所有配置与修改后的设置一起保存在一个文档中?

假设这里有许多路由器具有不同的配置或修改默认设置。

【问题讨论】:

    标签: mongodb azure-cosmosdb document-database


    【解决方案1】:

    我不确定在这种情况下“路由器”是什么,但以下是做出此类数据建模决策的一些一般准则:

    1. 由于没有跨文档连接功能,与关系数据库相比,您更倾向于使用单个文档方法。

    2. 您需要考虑可能发生的变化、变化的方式和频率?因此,例如,如果默认值可能会更改,那么默认值+差异方法可能不会提供任何优势。您必须浏览每个不同的文档,并确保它为您更改的任何内容指定了旧默认值,除非您可以更改现有用户设置。

    3. 使用单文档策略更改设置的逻辑应该更简单,以便有利于单文档方法。我认为您甚至可以完全避免使用将默认值放入数据库。只需将它们放入您的代码中即可。

    4. 另外,我怀疑您阅读这些配置的次数要比修改它们的次数多很多倍。单文档方法只需要往返数据库一次,因此再次受到青睐。

    希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 2012-08-13
      • 1970-01-01
      • 2014-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-20
      相关资源
      最近更新 更多