Skip to main content

关键字:全面画像评估 | 异构透明迁移丨数据回源保护

OceanBase 一站式数据库迁移解决方案提供了迁移可行性评估、迁移成本评估、迁移性能评估、结构对象迁移、数据迁移、数据校验和反向回源保护等功能。通过 OceanBase 一站式数据库迁移解决方案,内置的专家经验和策略为业务应用迁移提供决策支持和全流程服务保障,让企业可以方便、快速、安全地将业务应用迁移到 OceanBase 数据库。

场景

  在传统的数据库迁移方案中,为了保障迁移任务的稳定性和数据的一致性,通常通过停机迁移的方式进行数据迁移。停机期间需要暂时停止写入数据至源端数据库,待迁移完成并确认数据一致性后,再切换业务数据库。停机迁移的耗时和业务数据量、网络状况相关,在业务量巨大的情况下,数据库的停机迁移可能耗时数天,对业务影响较大。

解决方案

行业现状与挑战​

  • 异构迁移复杂度高:无法保障异构数据库兼容性,全量业务梳理和兼容性评估周期长、成本高,无法全面掌握迁移成本和风险点。数据库性能评估:无法准确评估数据库容量和资源需求,无法提前识别和规避性能风险点,切换后导致业务 SLA 下降。
  • 数据质量无保障:无法保证关键数据迁移过程中的迁移效率和数据质量,长时间的业务停写通常是不可避免的,缺乏整体可回滚能力。

方案描述​

  • OMA 集合了对象静态评估(DDL/存储过程等)、SQL 动态分析、流量负载回放的能力,可全方位对要迁移的数据库进行兼容性评估和风险识别。
  • OMS 支持 Oracle、MySQL、DB2 等关系型数据库与 OceanBase 双向自动迁移和数据校验,内置蚂蚁集团多年 DBA 专家经验,大幅提升迁移效率,降低风险。
  • 同时 OMS 还提供丰富的数据订阅 CDC 能力,支持数据流到 Kafka、MQ 等消息队列的同步。

image.png

方案优势​

  • 全面迁移评估:OMA 支持数据库迁移评估分析,形成全面数据库画像,掌握数据库拓扑、应用拓扑、整体负载和兼容性分析报告,为迁移策略提供决策支撑。
  • 负载回放验证:OMA 还支持负载流量回放,支持负载采集、WCR 回放,全面分析业务性能瓶颈和风险点,为容量评估提供决策支撑,为业务提供性能优化改进建议。
  • 高效数据迁移:OMS 支持结构对象迁移、全量数据迁移、增量数据同步,支持主流数据库的一站式数据迁移,快速高效的将数据迁移到 OceanBase。
  • 数据质量保障:OMS 迁移的数据校验功能,提供源数据库和目标库的全列数据一致性校验能力,保障数据迁移质量。反向链路的数据同步为无损回滚能力提供保证,确保业务的连续性不受影响。

方案 FAQ​

Q1:支持哪些数据库到 OceanBase 的迁移?​

  OceanBase 一站式数据库迁移解决方案支持从 Oracle、MySQL、DB2、Sybase 到 OceanBase 的迁移,并且这些数据库的迁移都在各行业实际客户实践并成功落地。

Q2:在实施过程中是否会影响源端数据库和在线业务?​

  OceanBase 一站式数据库迁移解决方案在进行实时增量数据同步时,只需从源端数据库日志中获取变化数据,不会直接访问源端数据库,所以不会影响源端在线业务。同时,OceanBase 一站式数据库迁移解决方案支持在全量数据迁移过程中动态调整并发度,只会占用源端极少量的 CPU 和存储 I/O,对源端数据库和在线业务的影响基本没有影响。

OceanBase 迁移服务介绍

  OceanBase 迁移服务(OceanBase Migration Service,OMS)是 OceanBase 数据库提供的一种支持同构或异构数据源与 OceanBase 数据库之间进行数据交互的服务,具备在线迁移存量数据和实时同步增量数据的能力。
  OMS 提供可视化的集中管控平台,只需要进行简单的配置即可实时迁移数据。OMS 可以帮助用户低风险、低成本、高效率地实现同构或异构数据库向 OceanBase 进行实时数据迁移和数据同步。

OMS 特性与优势​

image.png

  • 支持多种数据源 OMS 支持 MySQL、Kafka 等多种类型的数据源与 OceanBase 数据库进行实时数据传输,具体功能会因为源端数据库的类型和目标端下游的终端类型不同,而有所区别。
  • 在线不停服迁移,业务应用无感知在不停服的情况下,您可以通过 OMS 无缝迁移数据至 OceanBase。应用切换至 OceanBase 数据库后,OceanBase 数据库上所有的变更数据会实时同步至切换前的源端数据库。OMS 可以降低业务迁移的风险,助力企业用户构建高可用、高可靠的数据体系架构。
  • 高性能的数据迁移,安全可靠 OMS 能够准实时实现异构 IT 基础结构之间大量数据的秒级延迟复制。因此 OMS 可以应用于数据迁移、跨城异地数据灾备、应急系统、实时数据同步、容灾、数据库升级和移植等多个场景。OMS 能够实现在业务应用无感知和不中断的前提下,运行数据迁移和数据同步任务,并保证数据的完整性和事务的一致性。全量迁移性能可以达到 100 MB/s,20 万 TPS,数据同步性能可以达到 50000 RPS。同时,OMS 提供高可用的部署架构方案,为数据迁移和实时同步提供稳定可靠的传输项目。
  • 一站式交互支持数据迁移的全生命周期管理。您可以在管理控制台界面操作完成数据迁移任务的创建、配置和监控,交互简便。
  • 实时数据同步助力业务解耦 OMS 支持 OceanBase 两种租户与自建 Kafka、RocketMQ 之间的数据实时同步,可以应用于实时数据仓库搭建、数据查询和报表分流等业务场景。
  • 多重数据校验提供多种数据一致性校验方式,更加全面、省时、高效地保证数据质量。同时展示差异数据,提供快速订正的途径。

OMS 应用场景​

数据库不停服迁移​

image.png
  OMS 提供不停服数据迁移功能,不影响迁移过程中源数据库持续对外提供服务,能够最小化数据迁移对业务的影响。在完成结构迁移、全量数据迁移和增量数据迁移后,源数据库的全量和增量数据均已实时同步至目标数据库中,数据校验通过后,业务可以从源端切换至目标端。

实时数据同步​

  OMS 的数据同步功能支持实时同步 OceanBase 等数据库的增量数据至自建的 Kafka、RocketMQ 等消息队列中,提升消息处理能力,扩展业务在监控数据聚合、流式数据处理、在线和离线分析等大数据领域的全方位应用。
  OMS 支持 OceanBase 物理表和自建的 Kafka 等数据源之间的数据实时同步,您可以用于云 BI、实时数据仓库搭建、数据查询和报表分流等多种业务场景。

高可用、灵活部署​

  • 单节点支持 HA 功能的组件包括 Store 和 Incr-Sync。当 Store 或 Incr-Sync 组件发生故障时,对异常进程进行重启。

image.png

  • 支持机房维度的容灾。
    • 机器宕机情况下,本机内全部组件迁移至合适机器。
    • 机器资源指标异常情景下,尝试负载均衡部分组件。
    • Store 故障时,在机器资源充足情况下,尝试重启。在机器资源不足时,进行负载均衡,或删除冗余 Store。
    • Incr-Sync 故障时,对异常进程进行重启。

image.png

  • 支持区域数据中心维度的容灾。OMS 支持增量日志读取和增量同步写入分开部署,通过多个传输控制协议(Transmission Control Protocol,TCP)连接并行传输、数据压缩和数据加密等优化手段,克服了远距离、劣网条件以及数据安全性等挑战(暂不支持跨地域调度)。

image.png

OMS 系统架构​

OceanBase 迁移服务(OceanBase Migration Service,OMS)连接的两端分别是待迁移的源业务数据库和目标端 OceanBase 数据库。OMS 内部主要包含:

  • 管理控制台:进行一站式迁移调度。
  • 基础服务组件:集群管理、资源池管理、高可用组件和元数据管理等多个组件,以保证迁移模块的高效调度和稳定运行。
  • DBCat:数据对象采集和转换组件。
  • 全量导入组件 Full-Import 和全量校验组件 Full-Verification、增量拉取组件 Store、增量同步组件 Incr-Sync。

image.png

OceanBase 迁移服务(OceanBase Migration Service,OMS)的功能分层体系如下:
image.png

  • 服务接入层主要包括传输项目的管理、各种类型数据源的管理、OMS 各个组件模块的运维和监控,以及告警设置等。
  • 流程编排层主要负责实现上层表结构迁移、启动全量数据迁移/同步、增量数据迁移/同步、数据校检和数据订正,以及链路切换等任务的执行细节。
  • 组件层组件层包括以下模块:
    • OMS 结构迁移的核心组件(DBCat)作为 OceanBase 数据库原生的 Schema 转换引擎,可以根据源端、目标端具体的数据源类型和字符编码类型,进行精确的数据类型映射或转换。OMS 的结构迁移组件支持转换、迁移数据库中的表、约束、索引和视图等多种对象。
    • 增量拉取组件 Store 从源实例读取原始数据,经过解析、过滤,以及对数据进行格式化,最终将数据在本地持久化存储。
    • 全量导入组件 Full-Import 负责源库表对象中存量数据的迁移和部分增量数据的同步。
    • 增量同步组件 Incr-Sync 从增量拉取组件中请求增量数据,并根据用户配置的同步对象进行数据过滤,然后在保证事务时序性及事务一致性的前提下,将日志记录同步至目标实例。
    • 全量校验组件 Full-Verification 负责迁移表中的行记录进行全字段校验,并针对不一致的数据生成订正语句。
    • Supervisor 负责对上述组件进行监控。

OMS 基础组件​

  OMS 组件包括 DBCat、Store、Full-Import、Incr-Sync 和 Supervisor 组件,Supervisor 组件负责对其它组件进行监控。
image.png

结构迁移核心组件 DBCat​

  OMS 结构迁移的核心组件(DBCat)作为 OceanBase 原生的 Schema 转换引擎,可以根据源端、目标端具体的数据源类型和字符编码类型,进行精确的数据类型映射或转换。OMS 的结构迁移组件支持转换、迁移数据库中的表、约束、索引和视图等多种对象。
  同时,DBCat 可以严格对齐和兼容 OceanBase 的租户类型。例如,OceanBase 的某个版本暂时不支持源端数据库中的部分数据源类型,DBCat 会选择最兼容的数据类型进行转换映射。
  由于异构数据库迁移可能涉及以下问题,可以通过 DBCat 自动对 Schema 进行转换。

  • 数据库引擎变化
  • 不同数据库的数据对象定义差别较大
  • 目标数据库中不支持部分源数据库的数据对象
  • 相同字段类型精度不匹配

  对于复杂的异构数据库迁移,您可以通过 DBCat 产生基础脚本,数据库管理员(Database Administrator,DBA)再进行人工加工,最终在目标数据库生成 Schema。

增量拉取组件 OMS Store​

  不同类型数据库的 Store 增量拉取组件的实现方式不同,例如 OMS Store 模块的实现方式是依赖于 OceanBase 数据库的 Liboblog 工具。
  Liboblog 是 OceanBase 数据库的增量数据同步工具,通过 RPC 方式拉取 OceanBase 数据库各个分区的 Redo 日志后,结合各个表和列的 Schema 信息,转换 Redo 日志为中间定义的数据格式,最后以事务的方式输出修改的数据。

全量导入组件 Full-Import​

  Full-Import 组件负责将静态数据和部分增量数据从项目配置的源端迁移至目标端,迁移的每张表都会经过数据切片、数据读取、数据加工和数据应用等步骤。
  Full-Import 组件会根据表结构,选择合适的切片方式,将单表的数据并发迁移至目标端。对于全量的大部分数据源都实现了流式读取,减少对于源端的读取压力。
  全量数据在目标端的应用使用了批量插入的方式,对于 OceanBase 数据库的分区表实现了根据分区写入聚合的逻辑,以提升写入效率。选取的表会进行并发迁移,表内会通过切片位点 ACK 机制确保重启数据的完整性。

增量同步组件 Incr-Sync​

  Incr-Sync 组件负责将 Store 组件产生的增量数据应用至目标端。OMS 将增量同步的 Record 主要抽象为 DML、DDL 和 HB,DML 包括 INSERT、UPDATE 和 DELETE。OMS 通过将这些数据高效正确地应用至目标端,来确保数据的最终一致性。

  • 对于唯一约束表:OMS 通过主键操作的幂等性确保最终一致性。
  • 对于无主键表:OMS 通过事务表机制防止事务重放确保一致性。
  • 目前 MySQL 数据库至 OceanBase 数据库 MySQL 租户的无主键表迁移,不保证数据的最终一致性。

全量校验组件 Full-Verification​

  Full-Verification 组件负责从源端和目标端读取数据,并根据映射关系(依赖索引信息)对两端的数据进行全字段对比,对比结果包括差异数据文件和订正 SQL 文件。
  Full-Verification 组件会根据表结构选择合适的切片方式,从数据库中读取数据,能够对大部分数据源实现流式读取,减少读取压力。
  Full-Verification 组件支持各种异构数据源之间的数据比对,内部会对数据进行格式化,确保数据比对的性能和一致性。同时,全量校验支持数据多轮复检,以降低由于数据同步延迟导致的误报。

OMS 迁移时序​

image.png

OMS 产品能力​

数据迁移​

  数据迁移属于一次性任务,迁移完成后即可释放项目资源。您可以通过数据迁移功能,实现同构或异构数据源之间的数据迁移,适用于数据库升级、跨实例数据迁移、数据库拆分、扩容等业务场景。数据迁移项目是 OMS 数据迁移功能的基本单元。创建迁移项目时,可以指定的最大迁移范围是数据库级别,最小迁移范围是表级别。详细信息见 OceanBase 官网中的数据迁移概述部分。

数据同步/订阅​

  数据同步/订阅属于持续性动作,项目创建后会一直同步数据,保持源端和目标端的数据一致性,实现关键业务的数据实时流动。可以通过数据同步功能,实现数据源之间的数据实时同步,适用于数据异地多活、数据异地灾备、数据聚合和实时数据仓库等多种业务场景。详细信息见 OceanBase 官网中的数据同步概述部分。 image.png

Oceanbase 旁路导入能力介绍

  OceanBase 数据库支持旁路导入的方式向数据库插入数据,即 OceanBase 数据库支持向 data 文件中直接写入数据的功能。旁路导入可以绕过 SQL 层的接口,直接在 data 文件中直接分配空间并插入数据,从而提高数据导入的效率。
image.png
  根据上图所示,数据导入可采用两种路径。橙色箭头所示的传统路径需要经过 SQL 查询、事务处理、数据存储等一系列模块。而绿色箭头所示旁路导入路径主要是对导入的数据进行类型转换,然后按照主键进行排序(如果有的话),最后将排序后的数据写入到 major SSTable 中。
  旁路导入是一条短路径,能减少大量的系统资源消耗,加快导入速度。目前 OceanBase 数据库支持以下语句进行旁路导入:

旁路导入功能可以在下面的场景中使用:

  • 数据迁移与同步。对于数据迁移和同步,通常需要将大量的各种格式的数据从不同的数据源向 OceanBase 数据库进行迁移,传统的 SQL 接口性能可能在时效性上无法得到满足。
  • 传统 ETL。当数据在源端进行了抽取和转化之后,在装载到目标端时,通常需要在短时间内加载大量的数据,使用旁路导入技术,会提升数据导入的性能。而对于 ELT 技术,在装载数据的过程中,也可以通过旁路导入技术提高效率。
  • 从文本文件或者其他数据源向 OceanBase 数据库加载数据,利用旁路导入技术,也能够提升加载数据效率。

客户案例

中国人寿​

业务挑战​

  • 快速增长的业务使得数据大规模增长,传统集中式数据库面对海量数据,难以维持性能。
  • 保险业务的处理复杂,单一业务需多个系统完成,调用链比其他行业的业务更长、更复杂,确保复杂集合大交易量的稳定是保险业务数据库的挑战。
  • 期望实现数据库技术可控,摆脱对外依赖。与此同时,期望升级后实现数据库使用成本、维护成本的双降低。

解决方案​

  • 语法全面兼容,功能完全覆盖原有功能点,提供迁移工具与解决方案,避免上千万行代码重写,实现应用真正平滑迁移,高效完成核心数据库替换。
  • OceanBase 多租户能力,实现动态弹性调整租户计算资源,敏捷的应对业务负载要求的变化,顺利通过季度、年度开门红等业务冲刺高峰。
  • OceanBase 大集群管理模式,整合竖井式应用,集中化管控,平台化管理,统一资源分配,避免集中式架构的资源浪费。集群通过 F5 提供应用访问,多个集群使用同一套 OCP 集群进行运维管控。

image.png

用户收益​

  • 速度:金融行业数据库升级整合范围最大、速度最快的大型金融机构,升级整合超 300 套旧数据库,覆盖全部业务系统,迁移数据量达数百 TB,数据库装机量超过 2 万服务器核数。
  • 成本:平台化管理能力提升,整合竖井式应用,集中化管控,统一资源分配和运维,业务数据库容量瘦身 78%,具有相同业务承载能力的 OceanBase 数据库软硬件成本缩减 75%。
  • 效率:分析型大数据加工处理能力提升 300%,实现一份数据既做交易又做分析,不仅提高业务决策效率,整体资源利用效率和处理能力大幅提升。
  • 安全:实现 RPO=0 的高级别跨城市容灾能力,满足金融行业分布式技术架构转型要求,提高数据全链路防泄漏能力。

中国石化​

业务挑战​

  • 中国石化基于新基建技术构建新一代智慧加油站,推进中国石化生活综合服务商转型战略,原有加油卡系统无法适应互联网化客户营销服务体验和模式创新需求。
  • 随着数据应用的层次更深更广,数据类型更多,对数据库提出新要求。现为异构分散式系统,无法满足业务转型所需低系统性风险、管理运维和自主创新。

解决方案​

  • 基于 OMS 打造一站式数据迁移解决方案,具有多类型数据库支持、分钟级即时回滚、负载回放验证、秒级数据验证和一键完成迁移等特点。
  • OceanBase 对传统集中式数据库具备优异的兼容能力,帮助中国石化的 Oracle 和 Sybase 数据库应用无损迁移,过渡方案确保柔性切割。
  • 通过“数据+平台+应用”的架构设计,将现有加油卡系统从分省运维的 23 套 Sybase 和 Oracle 单体数据库,统一集中至一套 OceanBase 分布式数据库集群中。

image.png

用户收益​

  • 转型:电子券、返利实时化,单一支付方式向多种支付方式转变,有力推进中国石化生活综合服务商战略转型。
  • 提效:OceanBase 支撑全国近 3 万个加油站的业务流量,对内支持交易流水由天级降低到秒级,实现一体化班日结和报表需求。数据查询时间由分钟级降低到秒级,支持每分钟 50,000 笔业务交易。
  • 降本:23 套分散系统运维降低至 1 套 OceanBase,大幅度降低了软硬件和运维成本,实现 8 倍存储成本节约。
  • 可靠:故障恢复时间从小时级降低到分钟级,业务连续性达到 99.99%,安全级别达到网络安全等级保护 2.0 要求。
Loading...