Poster: Load Balancing for In-Memory Key-Value Data Stores

Ainhoa Azqueta-Alzúaz, Marta Patiño-Martı́nez · 2024

Key-value data stores have become more and more popular and are widely used nowadays either on premises or managed in the cloud. This type of data stores distribute data in order to scale. Data is sharded among the different nodes using a hash function. This partitioning of the data does not change over time in some data stores, for instance in Redis. Depending on the access pattern to the data, this partitioning may lead to overloaded nodes while others are idle. This poster presents a non-intrusive protocol for data migration to balance the load in in-memory key-value data stores. The load balancer migrates data from one overloaded node to a least loaded node without stopping processing. The goal is to distribute the data so that the performance of the whole data store improves. The protocol is implemented in KeyDB, a multi-threaded version of Redis, and its performance is evaluated using the Memtier benchmark. Results show an improvement in throughput of up to 30 % and 3x latency decrease.

Read the paper · More papers on PaperTik