在NoSQL数据库中重构文档

时间:2010-12-15 10:15:05

标签: nosql

我正在阅读使用NoSQL风格的文档数据库的好处,我的一个问题是如何在需要时处理数据的“重构”。

从未真正使用NoSQL的人那里得到的例子:

  

假设在MongoDB中我们有一个名为User的文档,它有一个名为Address的嵌入式文档,稍后我们决定将Address文档移出到一个新的集合中。

考虑到停机时间,性能等,有哪些可行的方法呢?

1 个答案:

答案 0 :(得分:3)

当您没有正式定义的模式时,模式更改非常简单 - 您只需更新自己的代码,以便它可以处理新旧文档,通常包括旧字段和新字段以及移动数据从旧到新,无论是在加载时还是在保存之前。

由于代码和数据库之间不存在数据版本冲突,因此没有停机时间,如果要进行完整迁移并删除对所有文档的支持,则在所有文档上调用现有的加载/保存代码是微不足道的。旧文件。

更改索引属性有点复杂,但仍然比更改SQL架构更容易。