沪江成立于 2001 年,作为较早期的教育学习网站,当时技术选型范围并不大:Java 的版本是 1.2,C# 尚未诞生,MySQL 还没有被 Sun 收购,版本号是 3.23。工程师们选择了当时最合适的微软体系,并在日后的岁月里,逐步从 ASP 过度到 .net,数据库也跟随 SQL Server 进行版本升级。

十几年过去了,技术社区已经发生了天翻地覆的变化。沪江部分业务还基本在 .net 体系上,这给业务持续发展带来了一些限制,在人才招聘、社区生态、架构优化、成本风险方面都面临挑战。集团经过慎重考虑,发起了大规模的去 Windows 化项目。这其中包含两个重点子项目:开发语言从 C# 迁移到 Java,数据库从 SQL Server 迁移到 MySQL。

本文主要向大家介绍,从 SQL Server 迁移到 MySQL 所面临的问题和我们的解决方案。

迁移方案的基本流程

设计迁移方案需要考量以下几个指标:

迁移前后的数据一致性;

业务停机时间;

迁移项目是否对业务代码有侵入;

需要提供额外的功能:表结构重构、字段调整。

经过仔细调研,在平衡复杂性和业务方需求后,迁移方案设计为两种:停机数据迁移和在线数据迁移。如果业务场景允许数小时的停机,那么使用停机迁移方案,复杂度低,数据损失风险低。如果业务场景不允许长时间停机,或者迁移数据量过大,无法在几个小时内迁移完成,那么就需要使用在线迁移方案了。

数据库停机迁移的流程:

停机迁移逻辑比较简单,使用 ETL(Extract Translate Load) 工具从 Source 写入 Target,然后进行一致性校验,最后确认应用运行 OK,将 Source 表名改掉进行备份。

mysql 百亿数据_从SQL Server到MySQL,近百亿数据量迁移实战相关推荐

  1. mysql不同服务器查询_实战操作SQL Server连接查询不同服务器表数据

    今日产品部要导批数据,但是需要连接查询查询的几个表不在同一服务器上.所以我开始是这么干的: 1.查询一台服务器的数据,并导入本地Excel 2.查询另一台服务器的数据,并导入本地Excel 3.Exc ...

  2. Power BI 数据导入(SQL Server、MySQL、网页数据)

    一.数据源类型 POWER BI 可以连接多种数据源,包括: 文件(文本.CSV.Excel) 数据库(SQL Server.MySQL.Azure Cosmos DB等NoSQL数据库) Power ...

  3. mysql删除链接服务器_在sql server 数据库建立链接服务器和删除

    /****** 对象:  LinkedServer [202.99.213.226]    脚本日期: 06/26/2007 21:34:35 ******/ EXEC master.dbo.sp_a ...

  4. mysql在建站起什么作用_数据库操作对比:Sql Server与MYSQL相比有哪些建站优势?...

    最近一直在做博客网站,从定位主题到程序和数据库的选择,确实废了不少心思,经过细致的思考,最终将主题定位为读书方面,还有文学和学习笔记,但是对于程序和数据库问题,我一直就比较费心,因为个人是个技术小白, ...

  5. SQL 100+个最佳入门案例实践(覆盖Oralce、SQL Server、Mysql)之基础操作_1_检索数据

    SQL基础操作_1_检索数据 目录 7.1.1 数据集 7.1.2 学生选课关系表 7.1.3 供应商关系表 7.2.1 从表中查询所有行和列 7.2.2 从表中查询部分行 7.2.3 查询满足某个条 ...

  6. #数据库--第1章 Windows 下的数据库导入 TPCH 数据(以 SQL Server 作为示例,MySQL同样适用)

    #数据库--第1章 Windows 下的数据库导入 TPCH 数据(以 SQL Server 作为示例,MySQL同样适用 一.TPCH 简介 二.TPCH 文件 三.生成 TPCH 数据 四.导入 ...

  7. .unl 文件 导入 mysql,informix导出的unl格式数据怎么导入sql server 2008里呢

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 上面问题解决了 一个新问题来了....>>>>> 错误 0xc0202009: 数据流任务 1: SSIS 错误代码 DTS ...

  8. 【Docker】安装Presto连接Hive、mysql、oracle、postgresql、SQL server等7种类型数据库

    目录 1.简介 2.下载安装 1)下载镜像 2)下载presto客户端jar文件 3)将hadoop配置拷贝到容器 4)新增hive.properties配置文件 5)重启容器(在linux命令行下) ...

  9. sql server转mysql工具下载_SQL Server转换为MySQL工具推荐(Mss2sql)

    SQL Server转换为MySQL工具,用了一下 感觉蛮不错的. 分享上来,同时也以便记录下来以后自用. 工具名称:Mss2sql 来个操作流程: 1.首先下载工具 用户名与密码都是www.linu ...

最新文章

  1. 是否会回到起点.回忆只能是回忆
  2. C#资源释放及Dispose、Close和析构方法
  3. 继国美处罚“摸鱼”员工后,网易出品之摸鱼计算器...
  4. 训练网络loss出现Nan的原因总结记录
  5. ubuntu 16.04 + apache2 将php7.1 切换到 php7.3
  6. Pytorch(6)-设置随机种子,复现模型结果
  7. 让你脱胎成技术大神的JAVA开发技巧
  8. Spring Boot freemarker导出word下载
  9. library的英语怎么读音_如何提高英语听力
  10. JQuery jsonp使用小记
  11. BZOJ2142: 礼物
  12. Linux环境下Lapack软件包的编译和使用
  13. JavaWeb学习笔记(全)(狂神)
  14. 雷电模拟器+proxifier
  15. 薛逸凡计算机生物学,北大的孤独专业:一人旷课全系放假,毕业照从来只有一人...
  16. C# 城市路网地图生成与运动模拟(一)-数据的获取
  17. 用SAPI做一个聊天模拟器
  18. 常用的用户认证方式详解JWT
  19. ZOJ ——3629 Treasure Hunt IV
  20. java复习总结查漏补缺,三个月后准备开面【准备篇】

热门文章

  1. 辣鸡公司联动优势,你在毕业季给应届毕业生解约的操作真TM丑陋
  2. 2018年华为精英挑战赛初赛放置算法Java实现
  3. 推荐几款文字翻译软件,快速实现翻译
  4. 用普通话软件测试为什么分数都很低,有没有练习普通话的软件?练习普通话软件推荐...
  5. 开源OkHttpUtils升级版OkGo,完美支持RxJava
  6. [译] JavaScript 性能优化杀手
  7. PY:工资项目的配置、属性及分类?
  8. 【风马一族_Android】Android学习
  9. 团队大事件-团队历程-团队记录~
  10. 利用plant simulation模拟交通信号灯控制小车通行