OceanBase 数据迁移工具(OceanBase Migration Service,OMS)是 OceanBase 数据库一站式数据传输和同步的产品。它支持多种关系型数据库(如 Oracle、DB2 LUW、MySQL 等)、消息队列与 OceanBase 数据库之间的数据复制,是集数据迁移、实时数据同步和增量数据订阅于一体的数据传输服务,OMS 可以帮助用户低风险、低成本、高效率地实现 OceanBase 的数据流通,助力构建安全、稳定、高效的数据复制架构。
OMS 可以为用户提供数据传输的全生命周期管理,支持语法转换、数据转换、任务管理等功能,并提供迁移评估、数据迁移、数据订阅、数据校验等产品形态,辅以可视化,所见即所得的 Web 管控平台,轻松完成数据传输项目的创建、任务配置、传输组件的监控运维、链路维护和故障诊断等便捷的操作,并提供多种保护级别支持定制化配置和实时的项目监控报警。
我们希望将 OMS 打造成为安全、稳定、易用的数据传输平台,并基于用户实际业务场景的需求进行持续迭代。经过在多行业上百家企业用户实际业务场景的锤炼和验证, OMS 已经逐渐成长为功能强大、稳定高效、安全的数据传输服务平台。用户可以灵活选择合适的迁移、同步类型和功能,支持组合成不同的解决方案。同时提供多样性的部署模式及灵活的横向和纵向扩展、收缩能力,保障满足延迟敏感用户的业务需求。
OMS 3.4.0 带来易用性和安全性的双重提升,在易用性方面提供对各类迁移信息的持续监控能力,帮助用户快速定位数据迁移中出现的各类问题,同时为用户迁移过程中加入新表的场景,上线了动态增减表功能。此外,OMS 3.4.0 现已支持预检查跳过功能,带来更流畅的迁移体验。在安全性上,该版本正式推出验证码机制、操作审计等能力。本篇内容将给大家带来详细介绍。
在实际业务场景中,数据迁移工具连接着两个动态变化的数据终端,数据源端和目标端任何一端的变更、异常,或者资源瓶颈,都有可能对同步链路的状态和性能造成不小的影响,用户需要花费很高的成本,才能准确地分析判断出触发迁移性能问题的根因。
OMS 过往版本在处理性能相关问题时,用户需要通过登入 Docker 内部查看日志文件或者寻求技术支持才能解决。而从 3.4.0 版本开始,OMS 在全量迁移、增量同步、全量校验及反向增量阶段,可提供对 RPS、流量、SQL 执行时间及SQL提交时间等性能信息的持续分析。用户可对照经验值(表 1),快速定位性能问题。并依据源端和目标端的实际运行情况,灵活调整 OMS 并发数,JVM 内存(查看组件监控->更新)等或调整源端、目标端的数据库参数或者操作系统参数,快速高效地完成数据库迁移、同步任务。
在一些耗时较长的同步过程中,面对业务变化或处理异常表的情况,用户通常需要更新同步对象列表。OMS 过往版本对于减表操作,需要用户更新 OMS 内对应数据链路组件配置,并重启对应组件,对于加表操作,需要用户新建一个迁移或者同步项目,上述做法不仅浪费了硬件资源,也会给用户进行多项目管理维护时带来不便。
OMS 3.4.0 推出全新能力:在链路运行中支持动态加减表。从用户实际业务场景出发, OMS 实现了一体化的加减表流程,即使原迁移、同步项目已经运行到增量同步阶段,在项目中新增加的表也支持从表结构同步开始,做对象结构、全量数据以及增量数据的同步,同时在全流程提供移除对象的能力。通过最大程度地简化用户操作,OMS 将为用户提供更简单易用的体验。
▋ 一键跳过执行失败的 DDL 语句
在 DDL 同步的场景中,用户可能会遇到因各种问题造成 DDL 语句无法正常同步至目标端的情况,如源端和目标端 DDL 语句不兼容、DDL 语句无法在目标端无法执行等。OMS 为了保障源端、目标端的一致性会将链路置于失败状态。在过往版本中,用户需要通过设置相关参数才能恢复链路。
从 3.4.0 版本开始,OMS 正式提供跳过功能,避免用户繁琐操作,助力用户轻松解决各类链路故障,保障链路持续稳定运行。
▋ 全方位增量同步数据统计
在链路运行过程中,用户需要掌握有多少条 DML/DDL 语句被同步至目标端,及相应表对象数据变化情况,从而对目标端进行适度调整。
OMS 3.4.0 提供投递到目标端 DDL/DML 语句的数据统计能力,可以帮助用户实时监控链路实际运行状态。同时 OMS 提供链路内表变更记录 Top 50 的功能,用户可以轻松识别链路内的热点表,从而提前规划目标端对象容量或通过加减表能力调整链路规划,保障全链路的稳定性。
▋ 更灵活的对象选择和设置
对于许多可视化产品来说,如何处理百级、千级对象的选择以及设置都是一个大难题。而在数据库领域中,不少用户的实际业务场景会出现万级、甚至十万级的数据库对象,因此为数众多的用户仍然坚持以黑屏脚本化的方式进行数据处理工作。同时在部分用户业务场景中,用户需要对库、表名称进行重命名,或者对于无效记录或者历史记录进行数据过滤操作等。
OMS 3.4.0 除了提供除穿梭框和类黑屏,还新增支持 CSV 格式导入对象和下载对象设置功能。它将帮助用户轻松应对万级数据库对象的选择与设置,并通过导入导出的能力,快捷实现测试环境到生产环境等跨环境迁移的能力,省去用户繁琐的配置工作。
▋ 预检查现已提供跳过功能
OMS 在预检查环节会查看数据库用户的读写权限、数据库的网络连接等是否符合要求。如果部分预检查项目不通过,则可能造成后续项目运行异常的问题。但在部分 POC 场景中,某些检查项如外键检查本质是可以忽略的,不会影响最终结果。OMS 过往版本对于如何处理跳过预检查,需要用户进行查询产品文档、变更JSON格式系统参数等较为繁琐的操作。
OMS 3.4.0 正式推出跳过功能,在用户确保跳过相关预检查项目不影响链路运行的前提下,给予用户充分的自主性。同时,OMS 3.4.0 将提供标准的错误码,对预检查失败的场景提供修复引导或建议,协助用户快速修正问题,保障链路的快速创建和后续的流畅平稳运行。
▋ 正向切换提供更多跳过能力
正向切换是 OMS 配合应用切流期间执行的任务流,是传统意义上的系统割接流程的抽象化、标准化。在执行正向切换期间,在 OMS 过往版本中,部分检查步骤为阻塞项,例如:确认同步追平停写位点, 在源端长时间无业务变更的情况下,延迟时间会超过 OMS 内部设置的阈值(1 分钟)。
OMS 3.4.0 对可能阻塞流程的检查项目提供跳过功能,从而确保用户可以灵活处理某些特殊情况。同时 OMS 也从顶层设计上整体优化各任务的执行时间,保障正向切换流程的流畅度。
OMS 始终坚持信息安全是产品的底线、红线,主动发现问题并制定相应的对策予以解决。在 OMS 3.4.0 中,我们也对安全性进行了升级,推出验证码机制、操作审计、白屏化密码参数三大功能,让用户的数据迁移更放心。
▋ 拦截恶意行为的验证码机制
验证码作为一种人机识别手段,其主要作用是区分正常人和机器的操作,拦截恶意行为。OMS 3.4.0 现已提供 gif 动画验证码,可以有效防止机器冒充人类做暴力破解及恶意登录等,保护系统安全。
▋ 保障信息安全的操作审计机制
操作审计可帮助用户监控并记录 OMS 的全部账号活动,包含对于 OMS 控制台的访问和使用行为。用户可以将这些行为事件进行行为分析、安全分析、项目变更行为追踪和行为合规性审计等操作,更好地保障数据安全。