On March 20th, Microsoft open-sourced Garnet, a cache storage system designed to maximize hardware capabilities and accelerate application performance.
According to Badrish Chandramouli, Senior Principal Research Scientist at Microsoft Research's Database Group, the Garnet project was built from scratch on C# .NET8.0 with a relentless focus on performance.
Specifically, Garnet boasts several key strengths:
Garnet leverages the widely adopted RESP wire protocol as its starting point, allowing most users to connect to Garnet directly with unmodified Redis clients written in most programming languages.
Garnet offers improved scalability and throughput through multiple client connections and batching, helping large applications and services save on operational costs.
Garnet demonstrates superior client latency at the 99th and 99.9th percentiles, providing a critical stability advantage for real-world scenarios.
Built on modern .NET technology, Garnet offers cross-platform, scalability, and modernity, designed to be both extensible and performant for common scenarios without sacrificing throughput.
To illustrate Garnet's performance merits, the Microsoft Research team conducted a study comparing key performance indicators with other leading open-source cache storage solutions:
Experiment 1: Throughput Comparison with Varying Number of Client Sessions Throughput对比,使用不同客户端会话时的Database Size为1024 keys(a)和2.56M keys(b)(对数坐标)
Experiment 2: Throughput Comparison for Different Batch Size Database Throughput Comparison (Log Scale) with Batch Sizes for (a) 1024 Keys and (b) 256M Keys
Experiment 3: Latency Comparison for Varying Concurrency Levels Latency levels at the (a) median, (b) 99th percentile, and (c) 99.9th percentile for varying numbers of concurrent client sessions.
Experiment Four: Latency comparison for different batch sizes Configuration impact on latency