Online Migration with Rump

Background

Rump is an open-source tool designed for migrating Redis data online. It supports migration between DBs of the same instance and between DBs of different instances.

Migration Principles

Rump uses the SCAN command to acquire keys and the DUMP/RESTORE command to get or set values.

Featuring time complexity O(1), SCAN is capable of quickly getting all keys. DUMP/RESTORE is used to read/write values independent from the key type.

Rump brings the following benefits:

  1. To cluster DCS instances, you cannot use Rump. Instead, use redis-port or redis-cli.
  2. To prevent migration command resolution errors, do not include special characters (#@:) in the instance password.
  3. Stop the service before migrating data. If data is kept being written in during the migration, some keys might be lost.

Step 1: Installing Rump

  1. Download Rump (release version).

    On 64-bit Linux, run the following command:

    wget https://github.com/stickermule/rump/releases/download/0.0.3/rump-0.0.3-linux-amd64;

  2. After decompression, run the following commands to add the execution permission:

    mv rump-0.0.3-linux-amd64 rump;

    chmod +x rump;

Step 2: Migrating Data

rump -from {source_redis_address} -to {target_redis_address}

Parameter/Option description: