ES迁移到TiDB总结

本文总结了将ES数据迁移到TiDB的过程,包括迁移前的准备工作,如字段长度调整、字段统计分析和迁移影响评估。在程序设计方面,强调了数据准确性、总量核对、增量处理、断点续传、唯一性保证、任务管控和异常处理。同时,提到了迁移过程中的速率控制、资源管理和错误处理策略,以及对ES和TiDB的注意事项,如防止内存泄露和优化插入性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        ES迁移到同构库可以直接用ES的集群迁移工具,但是异构库就不能直接用现有的工具了;
参考ES reindex工具的底层实现api,我们选择用ScroolApi来通过程序迁移;

迁移之前需要准备

  1. es表所有字段的长度的最大值,因为历史数据跨度5年,且是非结果化数据,所有长度没有固定长度,tidb的所有字段需要设置成最大值,或者按照业务允许的原则截取存储
  2. es因为是非结构化数据,历史数据可能的字段个数和名字都有不一样的,这种需要提前统计分析出来
  3. 评估迁移数量数量,以此评估目标数据库需要准备的磁盘空间大小及目标库的存储方案
  4. 评估迁移周期
  5. 评估迁移数据任务是否影响目标库的生产业务开展

迁移程序设计

  1. 数据准确性:迁移的数据字段数量,内容要保证准确性
    1. 有核对准确性的方案
  2. 数据的总量正确:迁移总的数据量要能核对上
    1. 需要考虑迁移过程中增量数据怎么办?
    2. 迁移过程中如果失败了是不是可以断点续传接着失败前的任务继续
      1. 程序可以自己恢复的重试
      2. 需要修复程序再重试
    3. 数据唯一性保证,不能有重复数据,因此需要唯一键保证
  3. 迁移的过程中任务的管控
    1. 启动新任务
    2. 暂停任务
    3. 恢复暂停的任务
    4. 一键暂停所有任务
    5. 任务终结后资源可以自动释放回收
  4. 可靠性及安全保障
    1. 指定时间段,可以配置指定速率,保证业务不受
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值