96SEO 2026-02-19 21:11 0
。

经过研究#xff0c;了解到OceanBase提供的OMS数据迁移工具能够支持从TiDB到OceanBase的迁移#xff0c;并且…
近期我们计划将业务数据库从TiDB迁移到OceanBase但面临的一个主要挑战是如何更平滑的完成这一迁移过程。
经过研究了解到OceanBase提供的OMS数据迁移工具能够支持从TiDB到OceanBase的迁移并且它还具有数据增量同步的功能不过需要依赖Kafka的支持。
为了确保迁移的顺利进行我们提前进行了全面的测试以验证整个数据同步的可行性。
以下是我们的测试记录供大家参考和讨论。
以下各种组件安装过程不详细说明具体安装过程在各产品官方网站都有详细说明后面只介绍具体的配置过程
Server、TiKV以及PDTiCDC单节点部署在另外一台机器上
Server172.24.255.704000TiKV172.24.255.7020160TiKV172.24.255.7020161TiKV172.24.255.7020162PD172.24.255.702379TiCDC172.24.255.558300
c0769fd8-78fa-4841-8103-586099d8fcf6,is-owner:
角色机器端口OBServer172.24.255.562881OBServer172.24.255.572881OBServer172.24.255.582881OBProxy172.24.255.562883OBProxy172.24.255.572883
Kafka版本3.1.0TiCDC目前支持的最高版本是3.1.0版本
这里做测试所以Kafka和zookeeper都是单机部署没有采用集群部署zookeeper用的是3.1.0版本自带的zookeeper实际效果是一样的。
角色机器端口Kafkabroker172.24.255.559092zookeeper172.24.255.552181
./bin/kafka-broker-api-versions.sh
3.6.3--6401e4ad2087061bc6b9f80dec2d69f2e3c8660a,
TiCDC支持向mysql兼容、tidb以及Kafka中同步数据这里因为需要OMS同步TiDB的增量数据而增量数据是从Kafka中获取因此需要创建TiCDC到Kafka的同步任务创建示例如下
--sink-urikafka://172.24.255.55:9092/test-topic?protocolopen-protocolkafka-version3.1.0partition-num1max-message-bytes67108864replication-factor1
--changefeed-idsimple-replication-task
这条命令会在TiCDC中创建一个名字为simple-replication-task的同步任务并且会在Kafka中创建一个名字为test-topic的topic。
创建完成之后会收到如下信息
{sink-uri:kafka://172.24.255.55:9092/test-topic?protocolopen-protocol\u0026kafka-version3.1.0\u0026partition-num1\u0026max-message-bytes67108864\u0026replication-factor1,opts:{max-message-bytes:1048588},create-time:2023-10-09T15:41:57.166933308:00,start-ts:444815721665658881,target-ts:0,admin-job-type:0,sort-engine:unified,sort-dir:,config:{case-sensitive:true,enable-old-value:true,force-replicate:false,check-gc-safe-point:true,filter:{rules:[*.*],ignore-txn-start-ts:null},mounter:{worker-num:16},sink:{dispatchers:null,protocol:open-protocol,column-selectors:null},cyclic-replication:{enable:false,replica-id:0,filter-replica-ids:null,id-buckets:0,sync-ddl:false},scheduler:{type:table-number,polling-time:-1},consistent:{level:none,max-log-size:64,flush-interval:1000,storage:}},state:normal,error:null,sync-point-enabled:false,sync-point-interval:600000000000,creator-version:v5.4.3}
--pd指定TiCDC任务同步源端TiDC集群的pd信息--changefeed-id指定同步任务的ID如果不指定会自动生成--sink-uri同步任务下游地址需按照下面格式配置目前
[scheme]://[userinfo][host]:[port][/path]?[query_parameters]--sort-engine指定
unified优先使用内存排序内存不足时则自动使用硬盘暂存数据。
该选项默认开启。
memory在内存中进行排序。
OOM。
file完全使用磁盘暂存数据。
已经弃用不建议在任何情况使用。
其他包括--start-ts、--target-ts、--config配置具体可参考官网这里不过多介绍本次同步任务也未用到。
实际同步到下游配置是通过sink-uri决定这里再简单说明下sink-uri中参数含义在这次创建的任务中--sink-uri参数内容如下
--sink-urikafka://172.24.255.55:9092/test-topic?protocolopen-protocolkafka-version3.1.0partition-num1max-message-bytes67108864replication-factor1
名字这里使用test-topickafka-version下游
canal-json、open-protocol、canal、avro、maxwell
Protocol不支持其它协议因此在sink-uri中指定protocol时必须制定protocolopen-protocol
./bin/kafka-console-consumer.sh
Q{u:{id:{t:3,h:true,f:11,v:1},name:{t:15,f:64,v:OceanBase}}}
OMS上创建数据源时需要创建两个数据源一个是Kafka的一个是TiDB的在配置TiDB数据源时需要关联Kafka数据源因此这里先创建Kafka数据源。
进入到OMS数据源管理页面新建数据源选择Kakfa数据源因为这里未使用SSL和认证所以取消勾选填写完成之后测试连接连接成功之后确定即可添加成功。
同样进入到新建数据源页面选择TiDB数据源填写对应的信息同时绑定Kafka然后关联上一步创建的Kafka即可选择创建好的test-topic然后进行连接测试测试成功之后确定即可添加TiDB数据源
在OMS数据迁移页面点击创建迁移项目输入项目名称源和目标之后点击下一步
根据需求选择同步任务配置这里勾选结构迁移、全量迁移、增量同步Insert、Update、Delete以及全量校验注意这里不支持DDL同步然后点击下一步
选择要同步的对象这里可以直接指定对象也可以选择匹配规则。
我直接用了匹配规则test库下所有对象都同步然后点击校验预览对象因为目前TiDB的test库下只有test_table这张表因此可以看到最终对象这里只显示了test_table然后继续点击下一步
配置迁移选项这里选择同步和校验的速率速率越高对资源的消耗越大。
另外有高级配置中目标端表对象存在记录时处理策略以及是否允许索引后置索引后置指OMS在完成对应表全量数据迁移、同步后创建非唯一键的索引配置完成之后进行预检查
预检查如果失败需要检查失败原因另外对于一些告警也建议进行修复下然后再开始同步任务。
确认无误之后启动项目即可。
任务启动之后会先进行全量迁移即将原表中已有数据先迁移过来完成之后会继续执行增量同步任务。
在TiDB端执行insert、update、delete操作可以看到在OceanBase端同步成功。
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback