NoSQL:模式迁移
发布日期:2021-07-01 04:08:51 浏览次数:2 分类:技术文章

本文共 569 字,大约阅读时间需要 1 分钟。

数据库模式变更脚本最好能在开发阶段编写,因为这样做可以把模式变更信息与数据迁移脚本存在同一份脚本文件中。

但是很多时候,我们需要修改已经上线的数据库的模式。在NoSQL的应用程序改变模式后,必须把既有数据全都转化成新模式才行。

还有一个很常用的解决办法,就是确保改变模式之前的那些旧数据仍然可以为新代码所解析,而在保存时,将其以新模式写会数据库。这种渐进迁移数据的技术,就叫“增量迁移”(incremental migration)。

执行增量迁移时,应用程序端可能会存在多个对象版本,它们都可将旧模式转译为新模式。在把对象存回数据库时,则使用新的对象格式。这种渐进式数据迁移能帮应用程序更快地演化。

增量迁移技术会令对象设计变复杂,尤其是新的修改已经引入,而旧的修改尚未执行完时。自开始部署修改,到数据库中最后一个旧对象迁移至新模式为止,中间的这段时间叫做“过渡期”(transition period)。过渡期的时间越短越好,而且其范围也要尽量缩小,这样才能保持对象整洁。

在领域和数据库之间一定要有适当的“转译层”(translation layer)。这样的话,在模式变更时,管理多个模式版本的代码就会局限于转译层而不会弥漫到整个应用程序之中了。

使用“增量迁移”技术,可以在不影响应用程序读取其数据的前提下,修改数据的隐含模式。


转载地址:https://mortal.blog.csdn.net/article/details/83152797 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:NoSQL:混合持久化
下一篇:计算机网络和因特网

发表评论

最新留言

表示我来过!
[***.240.166.169]2024年05月04日 08时08分22秒