I’m working on setting up aerospike as a blob storage where each record is 2-4 MB in size. I have currently set it up as 2 separate namespaces -
segments-disk (SSD backed) and
segments-memory (memory backed) - where every record is written to both namespaces. The idea is to store the same data in
segments-memory with a small ttl and in
segments-disk with a large ttl. Currently, this is implemented as 2 separate
Put operations (written in the go client library). Is there a way to copy a record from the
segments-memory to the
segments-disk namespace without having to send it over the wire twice? In production, we need to write 1.5 GB/s to the aerospike cluster so sending it over the wire twice increases the network egress to 3 GB/s which is expensive.
I’m using the go client library but examples in any client library will be helpful.