Limits and gotchas: migrate from DigitalOcean to KiviDB

ERR key must be valid UTF-8, and both copy tools stop at the first one. Find them before you start, and rename them on the source.

  • Key names that are not valid UTF-8. KiviDB refuses them with ERR key must be valid UTF-8, and both copy tools stop at the first one. Find them before you start, and rename them on the source.
  • Valkey 9 formats: see Valkey 9.
  • HyperLogLogs. KiviDB's HyperLogLog layout is not Redis's. After the copy, compare PFCOUNT on a few HyperLogLog keys on both sides; if they differ, rebuild them with PFADD from your source data.
  • Function libraries (FUNCTION LOAD) are not keys, so the copy tools don't move them. Load them again on KiviDB (the lua or full build, or the Lua add-on on Cloud).
  • Keyspace notifications. If you turned them on for the cutover and your application doesn't need them, leave them off on KiviDB; they cost a little on every write.
  • Connection limits. A copy tool opens several connections. DigitalOcean allows thousands, so this matters only if your application is already near the limit.