在OceanBase数据库中,oceanbase带的那个oms迁移工具对数据库侵入性高吗?
OceanBase自带的OMS(OceanBase Migration Service)迁移工具在进行数据库迁移时,相对数据库本身的侵入性较低。OMS设计的目标是在尽量不影响源数据库业务运行的情况下,通过非侵入的方式读取源数据库的数据结构和数据,并将它们迁移到OceanBase数据库中。
在迁移过程中,OMS主要包括以下特性:
结构迁移部分,OMS通过访问源数据库的系统表来获取数据库对象(如表、索引、约束等)的结构信息,这一步骤对源数据库的影响较小。
全量数据迁移时,OMS使用SQL SELECT语句从源数据库读取数据,并通过INSERT语句将数据写入目标OceanBase数据库,这个过程不会改变源数据库的数据,仅是读取和复制。
增量数据迁移时,OMS通常会利用源数据库的binlog日志进行数据捕获,对于MySQL源数据库,它会通过解析binlog实现类似MySQL主从复制的机制;对于OceanBase源数据库,则使用OceanBase的CDC(Change Data Capture)功能来获取增量变更。这两种方式都不会对源数据库产生额外的性能压力或显著的侵入性。
总的来说,OMS工具设计上尽可能减少了对源数据库的干扰,但为了获取完整的迁移信息,不可避免地需要访问数据库的一些系统表和日志,因此不能说完全没有侵入性,但相对于直接修改源数据库结构或业务逻辑的方式,它的侵入性是比较低的。
结构迁移部分需要访问源端数据库的结构相关的系统表。
OMS 全量对于源端通过select sql查询的方式读取数据。对于目标端insert方式写入目标。
增量则是通过数据库的binlog获取数据。源端是库是mysql的话,就是走的类似mysql备库方式,源端如果是OceanBase 则是使用OceanBase的cdc库拉去的binlog。此回答整理自钉群“[社区]技术答疑群OceanBase”。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。