What maps to what: migrate from Aerospike to KiviDB

What maps to what. Migrate to KiviDB: Move from Redis, Valkey, ElastiCache, Redis Cloud, Aiven, Aerospike, Hazelcast and more: getting the data out, loading i

AerospikeKiviDBNotes
NamespaceA key prefix, or a separate databaseKiviDB has numbered databases (SELECT) on a self-hosted server, and one per database on KiviDB Cloud. A prefix is the usual choice.
SetA key prefix<namespace>:<set>:<key>
RecordOne key: a hash or a JSON documentSee Choosing a data model.
User key (string, integer, bytes)The last part of the key nameRedis key names are binary-safe, so bytes keys work.
Digest (20-byte RIPEMD-160 of set and key)No equivalentKiviDB finds a key by its name. Records stored without their key can only be named by digest; see Gotchas.
BinA hash field, or a JSON property
GenerationNo equivalent; a version field you keep yourselfCheck-and-set becomes WATCH/MULTI/EXEC.
TTL, void timeEXPIRE, EXPIREAT, TTLDifferent rule on update: see below.
Integer, float, string, bytes, boolean binsHash field values, or JSON numbers, strings and booleans
List and map bins (CDTs)JSON arrays and objectsJSON.ARRAPPEND, JSON.SET on a path, JSON.NUMINCRBY replace most list and map operations.
GeoJSON binA JSON property, plus a geo sorted set (GEOADD) for pointsGEOSEARCH replaces geo queries. Search indexes do not take GEO fields.
HyperLogLog binPFADD/PFCOUNTThe registers cannot be carried over. Rebuild them.
Secondary index (integer, string, blob, geo; list, map keys, map values)FT.CREATE on hashes or JSONNUMERIC and TAG fields; $.list[*] for list elements. No geo fields.
Query by secondary indexFT.SEARCH, FT.AGGREGATE
Expressions and filtersSearch query syntax, or the application
operate() (several operations on one record, atomically)MULTI/EXEC, or one JSON command
Record UDFs and stream UDFs (Lua)Application code, MULTI/EXEC; FT.AGGREGATE for aggregationsAerospike's Lua API does not carry over. KiviDB runs Redis-style Lua (EVAL) only in the lua and full builds.
Batch reads and writesPipelines, JSON.MGET, HMGET
Scans and queries without a filterSCAN, or a search index
Multi-record transactions (Enterprise)MULTI/EXEC on keys of one server, or one shard of a sharded database
Strong consistency mode (Enterprise)No equivalentKiviDB replicas follow the primary asynchronously.
Durable deletes (Enterprise)Not neededA deleted key does not come back after a restart.
XDR (Enterprise)KiviDB replicas; KiviDB Cloud Pro
Storage engines: memory, device (SSD), PMemIn memory, persisted to an append-only file and snapshotsKiviDB holds the whole dataset in RAM. Size for that.
Default port 3000Default port 6380KiviDB Cloud: 6379, or 6380 with TLS.