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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
表示我来过!
[***.240.166.169]2024年05月04日 08时08分22秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
其他数字摘要算法实现
2019-05-01
私钥加密私钥解密
2019-05-01
锁的释放流程-ReentrantLock.unlock
2019-05-01
Java判断字符串是否为数字(浮点类型也包括)
2019-05-01
Err:11 https://developer.download.nvidia.cn/compute/cuda/repos/ubuntu2004/x86_64 Packages 404 No
2019-05-01
ubuntu opencv-python 安装很慢问题
2019-05-01
MySQL5.7版本修改了my.ini配置文件后mysql服务无法启动问题
2019-05-01
【大数据开发】Java基础 -总结21-Hashmap和HashTable的区别
2019-05-01
Azkaban体系结构
2019-05-01
机器学习之重头戏-特征预处理
2019-05-01
synchronized底层实现及锁的升级、降级
2019-05-01
PermGen space-永久区内存溢出
2019-05-01
Maven继承和聚合
2019-05-01
Apache Kafka:优化部署的 10 种最佳实践
2019-05-01
Leetcode 35. 搜索插入位置 c#
2019-05-01
[9] JMeter-常用函数的使用
2019-05-01
[12] JMeter-结果分析之图形图表
2019-05-01