In March 2024, Redis announced the transition from the very liberal Berkeley Software Distribution (BSD) license to the Server Side Public License (SSPLv1). This comes with a new regulation enforcing the businesses who use Redis on a cloud platform to disclose all related source code. For this reason, businesses must purchase a commercial license if they do not want to disclose their source code.
At the same time, Microsoft also released Garnet which is an open-source cache store. People have talked about it quite a lot because Garnet is not only compatible with Redis but it also offers much better performance in many aspects.
Before we talk about Garnet, let’s see what tools like Redis or Garnet are.
In the world of system development, software developers often find that the database is a bottleneck in the system. As a result, developers implement the cache system like Redis which is a widely popular tool. (We can also use Redis efficiently in other ways, such as using it as a database, serving as a message broker, etc.). However, the above-mentioned license update might affect Redis’s popularity. Thus many software developers has started looking for other options. And that is the background of this article.
The Microsoft Research team has been secretly developing a cache system and implementing it in Microsoft’s systems. Microsoft published Garnet’s source code recently, allowing everyone to download and use it to further their needs. Additionally, Garnet was newly developed in an era where caching is essential, so Microsoft had a clear objective of developing Garnet better than the current one. Garnet offers several unique benefits:
- Adopting the RESP protocol, the same protocol used in Redis. This allows developers to use Garnet without having to modify the client-side code at all.
- Offering much better scalability and handling throughput than other tools on the market. This leads to cost savings for the development of large applications and services.
- Based on the latest .NET technology, Garnet is a cross-platform, extensible, and modern platform. It is designed to be easy to develop without sacrificing the performance of common system development.
Microsoft has also revealed performance test results, as shown in the image below. Garnet outperforms Redis 7.2, KeyDB, and Dragonfly, especially when sending large batch sizes of commands. Additionally, Garnet’s latency is lower compared to other systems.
From the above-mentioned points, it is clear that Garnet is quite interesting in both capabilities and performance. If you are looking for software to support high throughput, iCONEXT is ready to provide consultations and system development with our over 10 years of experience in the software development industry. Please feel free to contact us at thaisales@iconext.co.th or click our Inquiry Form.
Source: