Redis数据迁移与校验

  • 时间:
  • 浏览:3
  • 来源:5分排列3APP下载_5分排列3APP官方

  redis-shake是阿里基于redis-port基础上进行改进的一款产品。它支持解析、恢复、备份、同步十个 功能。

  redis-shake解决了下面十个 什么的现象:

  redis-shake的基本原理什么都有模拟另哪几个 从节点加入源redis集群,首先进行全量拉取并回放,否则进行增量的拉取(通过psync命令)。

  由上文验证可知,redis-full-check都还可以对比出源端与目标端的差异key。

  redis-migrate是一款轻量级的redis数据迁移工具,保持redis源码文件不做改动的前提下,只新增加了另哪几个 "redis-migration.c"文件。

  redis-migrate通过伪装成从库,获取数据文件并进行解析解决。redis-migration在迁移过程中对数据做了落地解决,工具一种这麼对数据进行加载,内存开销很小。另外在迁移RDB文件时采用RTT这麼 另哪几个 时间窗口,在你什儿 时间窗口里并发多个客户端就都还可以解决系统等待歌曲,极大提高性能;另外,AOF迁移时候使用了pipeline特性,批量发送,减少RTT来加速迁移。

  在上方的几款工具中,除redis-shake外的几款工具将会抛妻弃子更新,什么都有本文将介绍redis-shake这款工具。

  由上文验证都还可以得知,redis-shake支持全量+增量的数据迁移,否则支持对RDB文件的备份以及解析。

  redis-full-check是阿里云Redis&MongoDB团队开源的用于校验另哪几个 redis数据不是一致的工具。

  redis-full-check通过全量对比源端和目的端的redis中的数据的土法子来进行数据校验,其比较土法子通这麼来越多轮次比较:每次都在抓取源和目的端的数据进行差异化比较,记录不一致的数据进入下轮对比(记录在sqlite3 db中)。否则通这麼来越多轮比较不断收敛,减少因数据增量同步原困的源库和目的库的数据不一致。最后sqlite中地处的数据什么都有最终的差异结果。



  redis-full-check对比的方向是单向:抓取源库A的数据,否则检测不是地处B中,反向这麼多检测,也什么都有说,它检测的是源库不是目的库的子集。将会希望对比双向,则需要对比2次,第一次以A为源库,B为目的库,第二次以B为源库,A为目的库。

  redis-port是一组开源工具集合,主要用于Redis节点间的数据库同步、数据导入、数据导出,支持 Redis的跨版本数据迁移。

  Redis-Migrate-Tool(RMT),是唯品会开源的redis数据迁移工具,主要用于异构redis集群间的数据在线迁移,数据迁移过程中源集群仍都还可以正常接受业务读写请求,无业务中断服务时间。

  RMT启动后模拟成redis从库,请求主库的全量数据和增量数据。RMT收到数据时候解析成redis协议格式的写操作,否则发送给目标库。

参考链接:

https://yq.aliyun.com/articles/691794https://yq.aliyun.com/articles/690463?spm=a2c4e.11155435.0.0.1cbe7bc170JysP

  都还可以通过curl 127.0.0.1:9320/metric进行实时监控。

  Redis常见的数据迁移土法子有以下一种:RDB迁移、AOF迁移、主从群克隆。

  使用RDB和AOF文件都还可以实现跨网络隔离的数据迁移,否则无法做到增量迁移。主从群克隆都还可以实现增量迁移否则无法跨网络环境。另外,在过去对于数据迁移后的校验缺乏良好的手段。

  本文对或多或少开源工具进行调研与实践,结果如下: