【问题标题】:Is it better to drop or update a Mongodb collection to avoid downtime?删除或更新 Mongodb 集合以避免停机会更好吗?
【发布时间】:2021-07-22 09:40:26
【问题描述】:

我有一个集合,其中包含用于多租户应用程序导航的元数据,因此它非常大 (8mb)。

这需要定期更新,我担心什么策略最能避免我的页面因集合上的更新/删除/重新创建操作而丢失数据而中断?

我是 Mongo Atlas 的新手,我不确定是删除并重新创建还是更新集合更好?

【问题讨论】:

  • 8MB 相对来说很小。您是否可以没有“修订”或“世代”编号,然后将您的新记录插入“N+1 代”并删除“N 代”?只要您的应用在其查询中不使用代号,最糟糕的情况就是它会获取一个旧页面。
  • 感谢@TimRoberts 的建议,我正在大声思考,但是否可以解决一些问题,例如先保存新集合,然后将旧集合重命名为“旧”,然后用原始集合重命名新集合集合名称工作?虽然看起来有点复杂
  • “集合”是“数据库”的 Mongo 等价物吗?只要重命名可以原子地完成,这似乎是一个可行的解决方案,比我建议的要简单。

标签: python sql mongodb pymongo mongodb-atlas


【解决方案1】:

8MB 很小,所以更新应该没问题。删除集合可能会延迟您的应用程序,因为通常您还必须创建索引。

重要提示,如果 Mongo 客户端没有找到要插入的集合,则会自动创建一个新集合。这可能与您的重新创建过程冲突。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-23
    • 2020-11-29
    • 1970-01-01
    • 2010-12-30
    • 1970-01-01
    • 1970-01-01
    • 2014-08-15
    • 1970-01-01
    相关资源
    最近更新 更多