news.volyx.in

A multithreaded fork of Redis that is faster (docs.keydb.dev)

450 points by ericblenkarn · 2566 days ago · 159 comments on HN

Article summary

KeyDB is a multithreaded fork of Redis that claims to be 5x faster with nearly 5x lower latency. The project aims to provide a more powerful and simplified alternative to Redis, with features like Active Replication and multithreading. KeyDB's architecture allows for concurrent execution of network I/O and query parsing, while maintaining atomicity guarantees through locking. The project provides benchmarking data and instructions on how to reproduce the tests.

Main themes

  • Redis fork
  • multithreading
  • performance optimization
  • database architecture
  • compatibility and simplicity
  • benchmarking and testing
  • production environments and use cases

What commenters say

  • Some users are skeptical about the need for a multithreaded Redis fork, citing the single-threaded nature of Redis as a benefit for simplicity and atomicity.
  • Others argue that multithreading can significantly improve performance in certain scenarios, such as high-traffic environments or complex workloads.
  • The use of a binary client-server protocol could potentially improve performance by reducing parsing overhead, but it may require significant changes to the Redis codebase and client libraries.
  • Some commenters have expressed interest in exploring the use of KeyDB in production environments, while others have reported mixed results in testing the software.
  • There is disagreement about the effectiveness of running multiple instances of Redis on the same machine as a way to achieve parallelism, with some arguing that it can lead to data duplication and wasted resources.
  • The importance of maintaining compatibility with Redis is highlighted, with some commenters noting that KeyDB's goal of 100% compatibility may limit its ability to innovate and improve performance.
  • The trade-offs between simplicity, performance, and maintainability are a recurring theme in the discussion, with different commenters prioritizing these factors differently.