开始之前我想为我的问题的一般类型 道歉 - 我相信整本书 可以写在该特定主题上。模式在文档数据库中更改模式
让我们假设您有一个包含多个文档模式的大文档数据库 以及每个这些模式的数百万个文档。 在应用程序的生命周期中,需要频繁更改已存储文档的模式 (和内容)。
这样的变化可能是
- 添加新字段
- 重新计算字段值(分裂总成网和VAT)
- 降字段
- 移动字段放入
我的最后一个项目,我们使用了一个SQL数据库,我们有一些非常相似的挑战 哪当 更改变得激烈时,会在某些重要的脱机时间(对于全天候产品)中产生沮丧,因为当发生更改时,SQL DB通常在表上执行LOCK。我想避免这种情况。
另一个相关的问题是如何处理 使用的编程语言环境中的模式更改。通常情况下,架构更改发生在 更改类定义(我将使用Mongoid OR-Mapper for MongoDB和Ruby)。如何处理旧版本的 以外的文档更符合我最新的类定义。