Microsoft’s Garnet Alternative to Redis

Microsoft’s Garnet Alternative to Redis

Today, I came across good article related to cache mechanism design and developed by Microsoft - Garnet.

Garnet is a new remote cache-store from Microsoft Research, that is designed to be extremely fast, extensible, and low latency. Garnet is thread-scalable within a single node. It also supports sharded cluster execution, with replication, checkpointing, failover, and transactions. It can operate over main memory as well as tiered storage (such as SSD and Azure Storage). Garnet supports a rich API surface and a powerful extensibility model.

Garnet offers the following key advantages:

  • Orders-of-magnitude better server throughput (ops/sec) with small batches and many client sessions, relative to comparable open-source cache-stores.
  • Extremely low single operation latency (often less than 300 microseconds at the 99.9th percentile) on commodity cloud (Azure) machines with accelerated TCP enabled, on both Windows and Linux.
  • Better scalability as we increase the number of clients, with or without client-side batching.
  • The ability to use all CPU/memory resources of a server machine with a single shared-memory server instance (no intra-node cluster needed).
  • Support for larger-than-memory datasets, spilling to local and cloud storage devices.
  • Database features such as fast checkpointing and recovery, and publish/subscribe.
  • Support for multi-node sharded hash partitioning (Redis "cluster" mode), state migration, and replication.
  • Well tested with a comprehensive test suite (thousands of unit tests across Garnet and its storage layer Tsavorite).
  • A C# codebase that is easy to evolve and extend.

Onboarding for Garnet Development

Click for find the main steps to set up your work environment for developing in Garnet

Platforms Supported

Garnet server is based on high-performance .NET technology written from the ground up with performance in mind. Garnet has been extensively tested to work equally efficiently on both Linux and Windows, and on commodity Azure hardware as well as edge devices.

One can also view Garnet as an incredibly fast remote .NET data structure server that can be extended by leveraging the rich ecosystem of C# libraries, so we can expand beyond the core API. Garnet's storage layer is called Tsavorite, which supports for various backing storage devices such as fast local SSD drives and Azure Storage. It has devices optimized for Windows and Linux as well. Finally, Garnet supports TLS for secure connections.

Also good information at Introducing Garnet – an open-source, next-generation, faster cache-store for accelerating applications and services

Garnet’s ecosystem will likely grow quickly due to Microsoft’s backing. As a seasoned .NET developer, I am looking forward to Garnet’s development and post the insight on it.

Thanks

Happy Learning!!

要查看或添加评论,请登录

Amit Patriwala的更多文章

社区洞察

其他会员也浏览了