腾讯云数据库迁移手册 腾讯云计算(北京)有限责任公司2024年 编委 腾讯云数据库团队 某知名保险公司信息管理处处长某大型银行数据管理人员 信达期货有限公司副总经理 上海和合首创投资管理公司CIO某央企金控公司公司首席数字官 深圳亚联财小额贷款有限公司数据部负责人中国燃气集团公司数字化部总经理 春秋航空股份有限公司信息技术部总经理德邦物流股份有限公司CTO 某大型化工制造企业总裁办&信息中心总监 (具体名单待定)李处长 段女士王海平黄铮刘伟明 欧阳惠云韩鹏 邱豪奇殷皓Tina 前言 当今世界正在迅速进入以新一代信息技术为主导的大发展时期。在技术演进、业务牵引、政策驱动下,企业对数据库迁移产业巨大诉求。腾讯云数据库副总经理罗云认为,数据库迁移能为企业降本增效,助力企业业务创新,提升核心能力。 近年来,中国数据库迁移产业发展迅速,但目前仍处于产业发展前期。数据库迁移是个新事物,加上技术性强,部分企业客户对数据库迁移“心有余而力不足”,不知如何实施数据库迁移;在现实中,数据库迁移存在诸多痛点与困惑。 腾讯云以卓越科技能力助力各行各业数字化转型,为客户提供领先的云计算、大数据、人工智能服务,以及定制化行业解决方案。从2004年开始,腾讯核心业务便大规模使用分布式架构数据库。目前,腾讯云在金融、能源、交通等行业已有众多成功实践。 为了持续推动中国数据库迁移产业发展,腾讯云倾心分享自身在多个行业的数据库迁移实践经验,并携手业内、外合作伙伴,编制《数据库迁移手册》。 本手册共分四章。第一章,数据库迁移价值;该部分分析了数据库迁移背景、场景、需求 与预期收益。第二章,数据库迁移方案;该部分介绍了数据库迁移方案、产品与工具。第三章,数据库迁移实施;该部分论述了数据库迁移中的测试、实施与效果验证。第四章,数据库 迁移案例;该部分分享了金融、能源、交通三个行业共十家企业的数据库迁移实践案例。真诚希望,本手册能给数据库迁移生态伙伴们带来一些参考、借鉴! 目CO录NTENTS 第一章数据库迁移价值01 1.为什么要进行数据库迁移01 1.1技术演进01 1.2业务牵引01 1.3政策驱动02 2.数据库迁移适用哪些场景02 2.1需求场景02 2.2运维场景02 2.3数据场景02 2.4迁移场景03 3.数据库迁移能实现的收益03 3.1降本增效03 3.2更好的灵活性和可扩展性03 3.3更高的可用性和容灾能力04 3.4提高数据安全性04 3.5提升竞争能力04 第二章数据库迁移方案05 1.数据库迁移思路05 1.1数据库迁移内容05 1.1.1结构迁移05 1.1.2数据迁移05 1.1.3应用迁移05 1.2数据库迁移方式06 1.2.1相同版本的数据库之间的迁移06 1.2.2不同版本的数据库之间的迁移07 1.2.3不同类型的数据库之间的迁移08 1.3数据库迁移流程10 2.数据库迁移评估11 2.1迁移痛点调研11 2.2业务资源分析12 2.3迁移需求评估13 目CO录NTENTS 3.数据库迁移方案14 3.1迁移规划14 3.1.1总体规划14 3.1.2资源规划14 3.1.3迁移规划14 3.1.4测试规划14 3.1.5验收规划14 3.2方案设计14 3.2.1数据量不大、停机时间窗口较长的场景迁移方案15 3.2.2数据量大、停机时间窗口很短的场景迁移方案15 3.2.3轻量级数据规模、停机时间窗口较长的场景迁移方案15 3.2.4轻量级数据规模、停机时间窗口很短的场景迁移方案16 3.2.5某金融企业异构数据库(从Oracle到TDSQL)迁移方案16 3.2.6某政府机构异构数据库(从Oracle到TDSQL)迁移方案17 3.3产品选型183.3.1DTS-DBbridge产品18 3.3.2云数据迁移CDM服务23 3.3.3迁移服务平台MSP24 第三章数据库迁移实施25 1.数据库迁移准备25 1.1制定计划25 1.2架构改造25 1.2.1网络改造25 1.2.2运维改造25 1.2.3应用改造26 1.3产品部署26 1.3.1产品部署概述26 1.3.2部署TCS底座29 1.3.3部署DBbridge组件29 1.3.4部署完成后参数修改29 1.3.5升级DBbridge29 1.3.6回退DBbridge30 1.3.7卸载TCS30 目CO录NTENTS 2.数据库迁移实施30 2.1搭建测试环境30 2.1.1工具和软件包30 2.1.2系统连接信息33 2.1.3测试环境信息(X86)34 2.1.4测试环境信息(ARM)34 2.2实施迁移测试25 2.2.1Oracel->TDSQLMySQL35 2.2.2TDSQLMySQL->TDSQLMySQL36 2.2.3MySQL->TDSQLMySQL37 2.2.4TDSQLMySQL->Kafka38 2.3正式迁移实战42 2.3.1迁移项目需求42 2.3.2迁移方案计划42 2.3.3测试环境部署44 2.3.4测试库-数据库迁移45 2.3.5业务迁移适配51 2.3.6中间库-数据库迁移51 2.3.7业务验证及性能测试51 3.数据库迁移交割52 3.1数据比对52 3.2业务验证53 3.3服务交割54 3.4业务回切55 第四章数据库迁移实战案例56 1.金融行业实战案例56 1.1某知名保险集团有限公司数据库迁移实战案例56 1.2某大型银行数据库迁移实战案例59 1.3信达期货有限公司对行业应用数据库迁移建议的案例60 1.4上海和合首创投资管理公司数据库迁移实战案例62 1.5某央企金控公司数据库迁移实战案例64 1.6亚财联股份有限公司数据库迁移实战案例65 目CO录NTENTS 2.能源行业实战案例68 2.1中国燃气集团公司数据库迁移实战案例68 2.2某大型化工制造企业数据库迁移实战案例70 3.交通行业实战案例72 3.1春秋航空股份有限公司数据库迁移实战案例73 3.2德邦物流股份有限公司数据库迁移实战案例74 资料来源77 图CO表目N录TENTS 图表1腾讯云数据库迁移产品适用场景03 图表2数据库存迁移流程10 图表3企业数据库迁移痛点调研统计12图表4某金融企异构数据库一站式迁移方案16图表5腾讯迁移产品DBBRIDGE17图表6腾讯云DTS-DBBRIDGE的优势:支持多种和丰富的数据库类型19 图表7DTS-DBBRIDGE技术架构20 图表8DTS-DBBRIDGE迁移评估模块20 图表9DTS-DBBRIDGE迁移校验模块21 图表10DTS-DBBRIDGE平台功能模块21 图表11腾讯DBBRIDGE部署配置步骤26 图表12腾讯数据库迁移产品部署对软硬件配置要求27 图表13腾讯数据库迁移产品部署对服务器的配置要求28 图表14使用SYSBENCH用于全量阶段的性能测试31 图表15用于数据库TPCC性能测试的BENCHMARK工具32 图表16系统连接信息33 图表17测试环境信息34 图表18ORACEL2TDSQLMYSQL高可用测试35 图表19高可用部署测试评估40 图表20单节点部署测试评估41 图表21TDSQL分布式集群架构42 图表22数据库迁移方案整体计划43 图表23测试环境部署架构44 图表24测试环境组件部置规划44 图表25需要迁移情况现状45 图表26配置数据源和目标数据源的连接信息47 图表27迁移评估47 图表28表结构迁移48 图表29数据全量迁移48 图表30增量迁移49 图CO表目N录TENTS 图表31数据同步方案52 图表32DTS-DBBRIDGE支持的高可用场景测试53 图表33数据库服务交割54 图表34数据库迁移回退方案55 图表35某知名保险公司数据库迁移技术方案57 图表36某大型银行数据库迁移技术流程59 图表37期货行业数据库迁移技术架构61 图表38上海和合数据库迁移技术架构63 图表39某央企金控公司数据库迁移持术架构64 图表40亚财联异构数据库迁移流程66 图表41中国燃气数据库迁移测试技术选择69 图表42某大型化工制造企业数据库迁移技术方案71 图表43春秋航空数据库迁移技术参数73 图表44德邦快递微服务架构75 数据P库A迁RT移1价值 丨腾讯云数据库迁移手册丨 1.为什么要进行数据库迁移 数字时代,企业之间的竞争主要是数字竞争。腾讯云数据库副总经理罗云认为,企业核心的竞争要素可归纳为三大要素:第一是企业与企业之间的数据要素竞争;第二是怎么用好这些数据;最顶层的要素是通过我们程序员的编码能力,完成企业的数字化。从传统架构迁移到云平台,是企业数字化转型的关键,而数据库迁移是其中重要的一环。 数据库迁移,不仅仅是将数据从一个地方移动到另一个地方;它还需要考虑业务定义、架构变更、应用改造、数据安全等诸多方面问题。在实际迁移工作中,需要结合企业的方方面面,做好合理的规划及实施。 既然数据库迁移是一个复杂的过程,那为什么还有很多企业实施数据库迁移呢?答案是:技术演进,业务牵引和政策驱动。 1.1技术演进 当今世界正在迅速进入以新一代信息技术为主导的大发展时期。从开源到商业的变化,再到云化趋势明显、国产化发展趋势加剧,这些变化都提出了数据库迁移的诉求。近几年,我们逐渐看到一些重大的核心业务系统迁移到国产数据库上,国产数据库正在不断发展,提供了丰富的产品功能。 1.2业务牵引 数字革命影响着我们的我们每个人,也同样影响着企业;人们在任何地方得到的一次最佳体验,就会成为他们以后对体验的最低期望;为向用户提供良好体验,企业对业务连续性和数据准确性有更为严苛的要求;放在竞争环境下,企业必须进行数字化转型以获取差异化竞争优势。 具体来说,当前企业正面临以下与数据相关的业务挑战。如果企业能够因势俱进,实施数据库迁移、管理,将能够有效化解这些业务挑战: 数据一致性:对某些业务(例如:金融业务)来讲,数据的强一致性(Consistency)尤为重要。如果出现数据丢失,就意味会给组织或用户带来直接的经济损失,甚至影响企业的商誉和信誉。因此,数据的一致性是数据库管理员(DBA)最需要考虑的问题之一。传统情况下,数据库产品常采用共享存储架构或主从高可用架构,可以较容易实现数据一致性。然而,随着企业数字化转型加速,越来越多的业务场景需要支持高并发、高性能、高可用,分布式架构下的数据一致性成为关键。 服务可用性:随着业务需求的不断提高,搭建一个数据库高可用环境已经成为很多企业迫切的需求。确保企业中计算资源的持续可用,是各个数据库管理员(DBA)的主要目标。如果应用程序的数据库和服务器不可用,会导致大量客诉或用户流失,甚至带来经济方面的损失,影响信誉和商誉。高可用性和减少停机时间是数据库系统的目标,某些业务甚至需要7*24无障碍运行。 扩展性:用户在使用之初很难预测未来业务增长的速度和总量,可能需要采购远超实际需求量的资源。这将导致资源的浪费,因为您可能只利用了10%的资源,而浪费了90%。如果您的业务发展远超预期,但出现难以扩展的问题,又需要采购更高配置的资源,不断的停机迁移。当然,支持横向扩展的分布式架构可以解决这个矛盾,但目前的技术门槛较高。 信息安全:在这个大数据时代,数据和数据库安全比以往任何时候都更加珍贵。一旦数据发生泄露,那么付出的代价将是非常惨痛的。由于数据泄露而导致的业务中断、客户信心丧失、法律成本、监管罚款,这些后果可能需要花费数百万甚至灾难性的。 数据库优化:随着业务的发展,数据库数量越来越多,如何保障所有数据库做到性能优异,业务不出问题,这对数据库管理员(DBA)提出诸多要求,在了解数据库运维知识的基础上,还要求DBA对SQL优化、性能检测、甚至业务逻辑和业务编程的综合能力有要求。随着业务的快速发展,这种重人工模式意味着DBA不可能“照顾”到所有数据库,能否将机器学习、深度学习这样的技术引入到数据库领域,帮助DBA更好的优化