我正在阅读使用NoSQL风格的文档数据库的好处,我的一个问题是如何在需要时处理数据的“重构”。
从未真正使用NoSQL的人那里得到的例子:
假设在MongoDB中我们有一个名为User的文档,它有一个名为Address的嵌入式文档,稍后我们决定将Address文档移出到一个新的集合中。
考虑到停机时间,性能等,有哪些可行的方法呢?
答案 0 :(得分:3)
当您没有正式定义的模式时,模式更改非常简单 - 您只需更新自己的代码,以便它可以处理新旧文档,通常包括旧字段和新字段以及移动数据从旧到新,无论是在加载时还是在保存之前。
由于代码和数据库之间不存在数据版本冲突,因此没有停机时间,如果要进行完整迁移并删除对所有文档的支持,则在所有文档上调用现有的加载/保存代码是微不足道的。旧文件。
更改索引属性有点复杂,但仍然比更改SQL架构更容易。