开发者社区 问答 正文

在OceanBase数据库中,oceanbase带的那个oms迁移工具对数据库侵入性高吗?

在OceanBase数据库中,oceanbase带的那个oms迁移工具对数据库侵入性高吗?

展开
收起
阿遇202411 2024-01-16 15:56:33 127 发布于江西 分享
分享
版权
来自: OceanBase 举报
2 条回答
写回答
取消 提交回答
  • OceanBase自带的OMS(OceanBase Migration Service)迁移工具在进行数据库迁移时,相对数据库本身的侵入性较低。OMS设计的目标是在尽量不影响源数据库业务运行的情况下,通过非侵入的方式读取源数据库的数据结构和数据,并将它们迁移到OceanBase数据库中。

    在迁移过程中,OMS主要包括以下特性:

    1. 结构迁移部分,OMS通过访问源数据库的系统表来获取数据库对象(如表、索引、约束等)的结构信息,这一步骤对源数据库的影响较小。

    2. 全量数据迁移时,OMS使用SQL SELECT语句从源数据库读取数据,并通过INSERT语句将数据写入目标OceanBase数据库,这个过程不会改变源数据库的数据,仅是读取和复制。

    3. 增量数据迁移时,OMS通常会利用源数据库的binlog日志进行数据捕获,对于MySQL源数据库,它会通过解析binlog实现类似MySQL主从复制的机制;对于OceanBase源数据库,则使用OceanBase的CDC(Change Data Capture)功能来获取增量变更。这两种方式都不会对源数据库产生额外的性能压力或显著的侵入性。

    总的来说,OMS工具设计上尽可能减少了对源数据库的干扰,但为了获取完整的迁移信息,不可避免地需要访问数据库的一些系统表和日志,因此不能说完全没有侵入性,但相对于直接修改源数据库结构或业务逻辑的方式,它的侵入性是比较低的。

    2024-01-22 11:51:32 发布于湖北 举报
    赞同 评论

    评论

    全部评论 (0)

    登录后可评论
  • 结构迁移部分需要访问源端数据库的结构相关的系统表。
    OMS 全量对于源端通过select sql查询的方式读取数据。对于目标端insert方式写入目标。
    增量则是通过数据库的binlog获取数据。源端是库是mysql的话,就是走的类似mysql备库方式,源端如果是OceanBase 则是使用OceanBase的cdc库拉去的binlog。此回答整理自钉群“[社区]技术答疑群OceanBase”。

    2024-01-17 07:43:10 发布于江西 举报
    赞同 评论

    评论

    全部评论 (0)

    登录后可评论
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等