news.volyx.in

Dragonflydb – A modern replacement for Redis and Memcached (github.com)

914 points by avielb · 1567 days ago · 366 comments on HN

Article summary

Dragonflydb is an in-memory data store designed to replace Redis and Memcached, offering higher throughput and better cache hit rates with lower tail latency. It is fully compatible with Redis and Memcached APIs and requires no code changes to adopt. Dragonflydb has a novel cache eviction algorithm and supports atomicity guarantees for all operations. It also has a unified, adaptive caching algorithm that is simple and memory efficient.

Main themes

  • in-memory data stores
  • Redis and Memcached alternatives
  • multi-threaded architecture
  • atomicity guarantees
  • cache eviction algorithms
  • performance benchmarks
  • scalability and fault tolerance
  • database modernity and design tradeoffs
  • io_uring and networking performance

What commenters say

  • The performance benefits of Dragonflydb come from its ability to utilize multiple CPU cores, unlike Redis which is single-threaded.
  • Dragonflydb's architecture is fundamentally different from Redis cluster, with an orchestrator that handles incoming requests and ensures atomicity guarantees.
  • The use of io_uring for networking and disk I/O contributes to Dragonflydb's modern design and performance.
  • Some commenters question whether Dragonflydb's performance advantages are due to its multi-threaded design rather than any fundamental improvements over Redis.
  • Others are interested in seeing benchmarks that stress test Dragonflydb's atomicity guarantees and compare its performance to Memcached.
  • There is discussion about the potential for Dragonflydb to scale across multiple machines, but this would likely introduce new challenges such as fault tolerance and latency.
  • Some commenters note that the concept of a 'modern' database is relative and depends on the specific use case and requirements.
  • The comparison between Dragonflydb and Redis is not always straightforward, as they have different design centers and use cases.