开发者社区> 问答> 正文

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

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

展开
收起
阿遇202411 2024-01-16 15:56:33 102 0
来自: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
    赞同 展开评论 打赏
  • 结构迁移部分需要访问源端数据库的结构相关的系统表。
    OMS 全量对于源端通过select sql查询的方式读取数据。对于目标端insert方式写入目标。
    增量则是通过数据库的binlog获取数据。源端是库是mysql的话,就是走的类似mysql备库方式,源端如果是OceanBase 则是使用OceanBase的cdc库拉去的binlog。此回答整理自钉群“[社区]技术答疑群OceanBase”。

    2024-01-17 07:43:10
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
+ 订阅
蚂蚁OceanBase数据库团队,用于OceanBase技术原理、运维经验和案例分享、对外交流。
问答排行榜
最热
最新

相关电子书

更多
DTCC 2022大会集锦《云原生一站式数据库技术与实践》 立即下载
阿里云瑶池数据库精要2022版 立即下载
2022 DTCC-阿里云一站式数据库上云最佳实践 立即下载