美文网首页
数据迁移方案

数据迁移方案

作者: sunshaohua520 | 来源:发表于2017-07-12 18:07 被阅读0次

最近着手设计手机充值和流量充值两个项目的数据库迁移,是由db2迁移至mysql。现在将方案记录下来。

整个迁移方案分成了两大块。系统切换、生产迁移

一.系统切换

包括搭建mysql数据库,修改代码。

创建数据库:可以在db2 ddl 的基础上进行修改。这块需要注意db2和mysql数据类型的对应关系。

修改代码:db2 的sql里面有会有一些mysql 的关键字,如key、type 等,需要用``,另外db2还有一种特殊的sql即select * from new table (insert into table....) 或者select * from new table (update table set....),将新插入或更新后的记录返回出来,mysql 没有改功能,还有db2 里面有with ur,表示不加行锁。在mysql 里面去掉即可。

二.数据迁移

我们这里有两个系统,表总共有200+张,需要全部迁移,原则是尽量减少停止交易的时间。

归档

 归档数据分两种类型,1.全部归档,2.部分归档

1.对于一些请求历史、日志、发送记录等无关交易、仅用来做日后问题查询的数据可以全部归档

优点:速度快,秒级

2.对于一些数据量大的,比如订单、流水等,按照业务需要保留一定时间的数据。有两种方案供参考,比如保留三个月的数据。

    2.1 动三个月前的数据,将三个月之前的数据导出,然后再进行delete。

         优点:不对交易有任何影响。  缺点:数据量大,时间长

    2.2 动三个月内的数据,将三个月之内的数据导出,然后再进行delete。

        优点:数据量小,时间快。   缺点:短时间内查不出来以前数据。

数据迁移:将数据分成两部分,交易数据和基础数据,交易数据包括订单、流水等,基础数据包括用户、账户、权限等。分开的目的是保证重要数据的一致性。

比如25号生产切换,24号开始迁移。

24号:迁移20号之前的数据,迁移完毕关闭用户对这些数据的写权限

25号:停止交易。迁移所有基础数据+5天内的交易数据。

至于迁移工具,可以采用文件导出导入的形式,也可以找第三方工具如etl。

以上就是迁移方案,如有问题,欢迎拍砖。

补充一点:

今天发现一个问题,归档后,如果做历史数据查询,特别是涉及到多表、联表查询的时候,在归档的时候需要注意。

相关文章

  • nest.js 集成ORM-Sequelize TS

    rr基础安装、数据迁移方案请参考:# nest.js 集成数据迁移方案 sequelize、umzug[https...

  • 今日份打卡 185/365

    技术文章HBase数据迁移方案

  • 点评营销系统迁移方案

    迁移方案总体步骤 代码迁移 服务器迁移 数据库迁移 代码迁移 主要内容:代码全部迁移至general-market...

  • 数据迁移方案

    最近着手设计手机充值和流量充值两个项目的数据库迁移,是由db2迁移至mysql。现在将方案记录下来。 整个迁移方案...

  • 通过datax导入数据到elasticsearch

    软件版本:elasticsearch版本(6.3.2) 数据迁移方案 datax导入数据到elasticsearc...

  • Spring Boot进阶 之 DB Migration

    本文的示例代码参考FlywayDemo 目录 开始 迁移 部署 开始 本文数据库迁移基于Flyway 类型方案还有...

  • MongoDB数据迁移方案

    一次性迁移: mongodump,mongorestore mongodump: 命令格式:mongodump -...

  • HBase跨集群迁移调研方案

    HBase跨集群迁移调研方案回顾 迁移目的 HBase跨集群平滑迁移 方案 方案一 方案二 操作命令 snapsh...

  • zk集群数据迁移和恢复

    zk集群数据迁移和恢复 一、zk数据迁移,有如下两种方案: 1、利用zk集群超过半数仍然可用的特性,比如集群中有5...

  • 不停机数据迁移方案

    序言 在微服务流行的当下,相信很多人遇到过老系统服务化的情况。服务的拆分也会涉及到数据存储的拆分,这就需要把原数据...

网友评论

      本文标题:数据迁移方案

      本文链接:https://www.haomeiwen.com/subject/ehgbhxtx.html