旧应用的数据如何迁移到新系统中?

发布于 2022-09-11 20:26:00 字数 340 浏览 21 评论 0

我现在有一个很旧的系统,这个系统和其他十几个小应用使用同一个数据库,现在我们要重构这个应用,同时需要把数据库进行拆分,遇到的一个问题:如何找到哪些表是需要我们迁出去的,以及最后的数据如何进行迁移
1、因为十几个应用都用同一个数据库,里面的表有200多个,命名也没有一个统一的规范,我想快速的定位到我们系统中使用了哪些表,mybatis/ibatis能把他加载了哪些表打印出来吗?否则我就需要一个一个配置的在代码里面找了,害怕会有遗漏的表。
2、如果第一步搞定了之后,下一步就是把找到的表在新的库里面重建,然后把应用部署过去,这个过程中需要做数据的迁移了,应用如果不能停机,如何做数据库的迁移呢?我在想DB双写可以搞不?这样会不会不安全,有啥现成的工具吗?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

掩于岁月 2022-09-18 20:26:00

第1步可以考虑全局搜索,看你们的数据库一般是如何访问的。比如搜索from关键字。
第2步可以考虑使用otter或者一些服务商提供的数据库同步工具,一般会有全量同步和增量同步两个过程。最好不要进行DB双写。

百思不得你姐 2022-09-18 20:26:00

1.自己想办法了,不熟悉你们的环境,给不了具体的方案;
2.不停机的话,你可以在新环境搭一个源数据库的从库,就复制你需要迁移的表即可,到时切换应用的时候,先停拆分出去的应用,等从库数据同步了,把复制断开,再把应用连上,就有一个独立的主库了。

末蓝 2022-09-18 20:26:00

不存在一步到位的方法,只能看看你这个系统都用了,那些查询方法,jdbc,jdbctemplate,jpa,hibernate,mybatis。通过这些再找相关的表,本身就是体力活
不停机,可以先把全部数据或大部分数据备份过去,然后同步更新,到时候只切应用就快了,顺便还能下测试一下新的迁移系统的表对不对

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文