骰子数据库
DiceDB

原始链接: https://dicedb.io/

在一台配置为4个vCPU和16GB内存的Hetzner CCX23机器上,与其他内存数据库相比,当`num_clients = 4`时,我们获得了以下吞吐量和GET/SET延迟数据: | 指标 | DiceDB | Redis | |-----------------|-------------|-------------| | 吞吐量 (ops/sec) | 15655 | 12267 | | GET p50 (ms) | 0.227327 | 0.270335 | | GET p90 (ms) | 0.337919 | 0.329727 | | SET p50 (ms) | 0.230399 | 0.272383 | | SET p90 (ms) | 0.339967 | 0.331775 | -> 详细的基准测试数据和复现方法。

DiceDB是一个用Go语言编写的反应式内存数据库,其灵感来自Redis,但并不完全兼容。它通过将命令输出的更新推送给订阅的客户端来实现实时数据更新,但这使用的是自定义协议,并非Redis的直接替代品。最初的用户反馈集中在首页上缺乏对DiceDB是什么以及其理想用例的清晰定义。 一个关键的讨论点是DiceDB用于WATCH命令的“重新执行”机制。它不是仅仅通知客户端键值变化,而是重新执行整个命令。这种方法旨在简化客户端逻辑,但引发了关于可扩展性和性能的问题,尤其是在处理复杂的watch命令时。 基准测试结果存在争议,一些人认为这些结果与实际情况不符,并对Go语言的垃圾回收机制以及缺乏持久性作为潜在障碍提出了质疑。
相关文章
  • 优化 Lichess 表库服务器 2024-07-14
  • (评论) 2024-07-11
  • Ceph:1 TiB/s 之旅 2024-01-21
  • 性能还不够 2024-03-12
  • (评论) 2025-03-15

  • 原文

    On a Hetzner CCX23 machine with 4 vCPU and 16GB RAM here are our numbers around throughput and GET/SET latencies when compared with other in-memory databases for `num_clients = 4`.

    | Metric               | DiceDB   | Redis    |
    | -------------------- | -------- | -------- |
    | Throughput (ops/sec) | 15655    | 12267    |
    | GET p50 (ms)         | 0.227327 | 0.270335 |
    | GET p90 (ms)         | 0.337919 | 0.329727 |
    | SET p50 (ms)         | 0.230399 | 0.272383 |
    | SET p90 (ms)         | 0.339967 | 0.331775 |

    -> detailed benchmark numbers and ways to reproduce them.

    联系我们 contact @ memedata.com