An Implementation of Memcached Data Partitioning and Sharding Optimization using Apache Benchmark

Prince Raj, Kulvinder Singh, Mritunjay Pandey, Surbhi Rajput · 2023

This research paper presents an efficient novel algorithm for implementing data partitioning and sharding in distributed caching systems with Memcached. It focuses on key stages for efficient resource utilization, load balancing, and system resilience. The methodology involves segmenting the key space based on data nature, determining the number of Memcached shards considering infrastructure and expected load. Consistent hashing maps keys to shards for balanced distribution and flexible shard management. Strategic deployment of Memcached nodes across the infrastructure using consistent hashing and a simple partitioning logic allocates keys to shards. Load-adjusting mechanisms evenly distribute read and write requests among nodes to prevent delays. Monitoring key metrics enables auto-scaling mechanisms to dynamically adjust shard numbers based on load for optimal performance. Failover handling and cache negation procedures enhance system reliability and data integrity. Simulation results using Apache Benchmark demonstrate the algorithm’s effectiveness in various test scenarios, showcasing its ability to handle different aspects of distributed caching systems. Load balancing, data partitioning, auto-scaling, and failover handling tests confirm its suitability for real-world scenarios by efficiently managing workloads and ensuring continuous service availability during node failures.

Read the paper · More papers on PaperTik