OMS 支持将 OB 的数据实时同步到 MySQL 生态的数据库吗?比如 td-sql、tidb 这种?

【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】
【 使用版本 】
【问题描述】OMS 支持将 OB 的数据实时同步到 MySQL 生态的数据库吗?比如 td-sql、tidb 这种?
【复现路径】
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):

【SOP系列 22 】——故障诊断第一步(自助诊断和诊断信息收集)

【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!

根据文档库中的信息,OMS 社区版支持 OceanBase 数据库社区版和 Kafka、RocketMQ 之间的实时数据同步(参考文档:通过 OMS 进行数据迁移和同步 → 使用 OMS 进行数据同步 → 数据同步概述)。然而,关于是否支持将 OceanBase 的数据实时同步到 MySQL 生态的数据库(如 TDSQL 或 TiDB),文档中并未明确提及。

综合分析:

  1. OMS 社区版的功能范围

    • OMS 社区版支持从多种数据源(包括 OceanBase-CE、MySQL、TiDB 和 PostgreSQL)迁移到 OceanBase 数据库社区版(参考文档:OceanBase 迁移服务(OMS) → 应用场景 → 实时数据同步)。
    • 同时,OMS 社区版支持将 OceanBase 数据库社区版的数据同步到 Kafka 和 RocketMQ 等消息队列中(参考文档:通过 OMS 进行数据迁移和同步 → 使用 OMS 进行数据同步 → 数据同步概述)。
  2. 关于目标为 MySQL 生态数据库的支持

    • 文档中没有明确指出 OMS 社区版支持将 OceanBase 数据库的数据实时同步到 MySQL 生态的数据库(如 TDSQL 或 TiDB)。
    • 如果需要实现 OceanBase 到 TiDB 的数据同步,通常的做法是通过 TiCDC 将 TiDB 的增量数据同步到 Kafka,再由 OMS 从 Kafka 中读取数据并同步到 OceanBase(参考文档:使用 OMS 从 TiDB 数据库迁移数据到 OceanBase 数据库 MySQL 租户 → 背景信息)。但这一过程是单向的,即从 TiDB 到 OceanBase,而非反向。
  3. 可能的解决方案

    • 如果您希望实现 OceanBase 到 MySQL 生态数据库的实时同步,可以考虑以下方式:
      • 借助中间件或自定义开发:通过 OMS 将 OceanBase 的增量数据同步到 Kafka,再通过其他工具(如 Canal 或 Maxwell)将 Kafka 中的数据写入到 MySQL 生态的数据库。
      • 评估企业版功能:如果您有更高的需求,可以评估 OMS 企业版是否支持该功能。

结论:

抱歉,无法从检索到的文档中找到明确支持 OMS 社区版将 OceanBase 数据实时同步到 MySQL 生态数据库(如 TDSQL 或 TiDB)的信息。基于我的内在知识,可能的解答是通过 Kafka 作为中间件实现间接同步。如果需要更具体的支持,请联系 OceanBase 的人工答疑以获取更多帮助。

检索到的文档如下:

  1. 使用 OMS 从 TiDB 数据库迁移数据到 OceanBase 数据库 MySQL 租户
  2. 通过 OMS 进行数据迁移和同步
  3. 使用 OMS 从 PostgreSQL 数据库迁移数据到 OceanBase 数据库 MySQL 租户
  4. 管理控制台介绍
  5. 迁移 TiDB 数据库的数据至 OceanBase 社区版
  6. 数据迁移概述
  7. OceanBase 迁移服务(OMS)
1 个赞

社区版不支持,建议咨询下企业版的OMS产品。可能会支持
OceanBase官网商务咨询

https://www.oceanbase.com/contactus?fromPage=https%3A%2F%2Fwww.oceanbase.com%2Fsoftwarecenter-enterprise&dataSources=softwarecenter-enterprise_footercontact_d2022

3 个赞

我看的就是企业版的文档,没写支持类 MYSQL 的数据库,只写了支持 MySQL,也是指定的 MySQL 版本,如果对版本号做了代码级别的限制,那其他 MySQL 生态的数据库应该是够呛。

1 个赞

根据您的补充说明,您关注的是 OceanBase 企业版文档中对 MySQL 生态数据库的支持情况。以下是对问题的进一步分析和解答:

已知信息:

  1. OceanBase 企业版与 MySQL 的兼容性

    • OceanBase 数据库(包括企业版)在 MySQL 模式下高度兼容 MySQL 的语法和功能(参考文档:与 MySQL 兼容性对比)。但这种兼容性主要针对特定版本的 MySQL(如 MySQL 5.7/8.0),并未明确提及对整个 MySQL 生态系统的全面支持。
    • 文档中提到的兼容性主要是指 SQL 语法、数据类型、系统视图等方面(参考文档:与 MySQL 兼容性对比 → 数据类型、SQL 语法等章节)。
  2. OMS 的数据同步能力

    • OMS 企业版支持多种关系型数据库之间的数据复制和迁移,包括但不限于 MySQL、Oracle 和 OceanBase 数据库(参考文档:OceanBase 迁移服务(OMS) → 应用场景)。
    • 然而,文档中并未明确指出 OMS 是否支持将 OceanBase 数据同步到 MySQL 生态中的其他数据库(如 TDSQL 或 TiDB)。这可能意味着存在一定的限制或需要额外配置。
  3. 代码级别的版本限制

    • 如果 OceanBase 企业版在实现上对 MySQL 版本做了代码级别的限制(例如仅支持特定版本的 MySQL),那么其他 MySQL 生态数据库(如 TDSQL 或 TiDB)可能无法直接作为目标数据库使用。
    • 这种限制通常源于底层协议、数据格式或功能实现的差异。例如,TiDB 虽然兼容 MySQL 协议,但在某些高级特性(如存储引擎、索引类型)上与原生 MySQL 存在差异(参考文档:OceanBase 数据库和 MySQL 兼容性介绍 → 索引)。

结论:

您的理解是正确的。如果 OceanBase 企业版在代码级别对 MySQL 版本做了限制,那么其他 MySQL 生态数据库(如 TDSQL 或 TiDB)可能无法直接作为目标数据库使用。这种限制的原因可能包括:

  • 协议差异:尽管 TiDB 和 TDSQL 兼容 MySQL 协议,但它们在实现细节上与原生 MySQL 存在差异。
  • 功能支持:OceanBase 的同步机制可能依赖于 MySQL 的某些特定功能或行为,而这些功能在其他生态数据库中可能未完全实现。

建议:

  1. 确认需求:如果您确实需要将 OceanBase 数据同步到 TiDB 或 TDSQL,可以尝试通过中间件(如 Kafka 或 RocketMQ)实现间接同步。OMS 支持将 OceanBase 数据同步到 Kafka,再由其他工具(如 Canal 或 Maxwell)将数据写入到目标数据库。
  2. 联系官方支持:如果上述方案无法满足需求,建议联系 OceanBase 的官方技术支持团队,确认是否有其他解决方案或定制化开发的可能性。

希望以上信息对您有所帮助!

检索到的文档如下:

  1. 与 MySQL 兼容性对比
  2. OceanBase 数据库和 MySQL 兼容性介绍
  3. OceanBase 数据库概述
  4. OceanBase AP 部署概述
  5. 部署概述

(小助手的答复已结束,如未能解决您的问题,请继续提问并等待其他同学的回复,谢谢!)

2 个赞

能帮忙确认下这个问题吗 谢谢

1 个赞

社区版是明确不支持的。

oms是ob自己的迁移工具,设计目的也是为了让其他数据(用户)往ob走,而不是ob数据往外走。
文档上有的就是支持,没写就是不支持,tidb也只支持往ob迁移同步