数据库迁移在很多企业的业务发展中都是不可避免的,应该怎么做数据库迁移呢?MySql教程网列举5种常见的数据库迁移方案:

数据库迁移方案

方法1:将表结构和信息,直接导出来成sql,去目标数据库中执行

要求:假如源库与目标库类型不同,就应该做一些调整变动,不然如果表多了后,整个处理程序会有点麻烦

做法:需要停用源库,确保在数据同步过程中的数据的一致性

方法2:采用备份/还原

要求:源库与目标库是同构数据库,即同种类型数据,比如mysql——mysql

方法3:采用开源etl工具:例如kettle

要求:因为是全量备份,信息量会非常大,通常需要比较长的备份时间,备份过程有可能出现数据库报错或是连接数不足等非意料中的异常,且insert/update会占用大量的CPU资源

做法:一次性or实时增量

方法4:采用代码工具实现,可以选择数据级别的,也可以尝试更底层的。

例如mysql走binlog,sqlserver走cdc

要求:对技术要求比较高,可以使用数据集成工具,例如FineDataLink,从数据级别入手,基于日志增量技术进行的数据同步,采用无侵入式的方式,对数据库的性能影响小。

做法:实时增量

方法5:如果采用云数据库,一般云厂商会有自己的一整套工具实现。

例如阿里云上的dts

做法:实时增量

点击查看图片来源

数据库迁移难点

补充一些在实际数据库迁移时,会碰到的各种难点:

①多种数据库不同数据类型支持的语法、长度、精度的梳理

②不同种数据库的数据类型映射架构设计

③部分数据库高级建表特点支持,以及可视化配备的设计与实现

④数据同步的时候不影响原有的业务库

⑤具有任务监控能力,及时寻错

以上就是数据库迁移方案和难点总结,希望对大家实现数据库迁移有帮助。

总得来说,在数字化时代下,大数据治理对于企业数据建设起着至关重要的作用,然而实现的困难有时也令人望而却步,因此合理选择技术和工具会取得事半功倍的效果。