因为某些原因需要从原有的 sqlserver 数据全部迁移到 postgre 和 mysql 如何在不停机的情况下进行数据迁移,目前看到的都是停机迁移,没有没其他可行的方案呢
1
klo424 2024-11-12 14:26:28 +08:00
信创现在这么严,不都是迁移到达梦等国产数据库么?
|
2
adoal 2024-11-12 14:33:04 +08:00
你都跨数据库类型了,还想不停机迁移,那只能改业务系统了。
|
3
xiaogu2014 2024-11-12 14:34:52 +08:00
有各种基于 cdc 的方案。==比如阿里云的 DTS?
很多都可以平滑迁移的。 |
4
tomczhen 2024-11-12 15:02:33 +08:00
不停机迁移也是有成本的,既然都到网上社区公开求方案了,大概率停机成本是低于不停机迁移成本的。
|
5
javalaw2010 2024-11-12 15:14:58 +08:00
现有数据写个程序从 sqlserver 同步到 mysql ,然后修改业务代码双写 sqlserver 和 mysql ,上线期间会有短暂的真空期 sqlserver 数据有 mysql 没有,提前写个脚本到时候处理下,如果可以接受短暂的停机也可以直接停机上线,确认数据和业务都正常后,趁着一个夜黑风高系统没什么访问的夜晚,下线读写 sqlserver 的代码。
|
6
COW 2024-11-12 15:20:54 +08:00 via Android
先利用低峰时段执行一次全量同步,然后利用消息中间件监听 SQL serves 的数据库变更事件,实时同步到 MySQL
|
7
bsg1992 OP @klo424 信创 也有单位 支持 mysql 和 postgresql 而且吧 国内这些数据库 大多数都是基于 pg 和 mysql
|
9
fengpan567 2024-11-12 15:28:02 +08:00
先把服务改造成双写,然后再用工具迁移吧
|
10
datafeng 2024-11-12 16:33:02 +08:00
我看银行迁移都能出个通知夜间停机咧,可以说下什么场景的业务么。。
|
11
ShareDuck 2024-11-12 16:52:29 +08:00
@javalaw2010 我们也试过类似的方式,应用同时连两个数据库。新数据都往新库写,新库没有的数据应用读旧库写新库并删旧库记录。跑一段时间,就把活数据迁过去了。剩余的都是不怎么活跃的数据,起个线程慢慢迁。迁完就可以改代码,扔掉旧库了。
自行开发的系统好办。 |