如果我告诉您有一个 Redis 的分支版本,它的性能比原生的 Redis 快 5 倍,而且延迟却降低近 5 倍,你会不会想了解一下这个项目?而如果您不再需要哨兵节点并且您的副本可以接受读取和写入,这将有可能使分片数量减少 10 倍,这样对你的吸引力是不是更大了呢?
我说的这个分支版本,它其实是 Redis 的一个分叉版本,名叫 KeyDB 。KeyDB 是 Redis 开源的多线程分叉版本。本文我们将提供最新的基准测试结果,并讨论更强大的 KeyDB 实例如何减少集群大小以及简化堆栈。同时我们还将讨论了多线程体系结构,并演练了如何利用它实现性能的提升。
为什么要取个新名字,为什么要做 Redis 的分叉?
凭借着我们不受限制的代码库开发能力,KeyDB 能够在短时间内取得长足的进步,并且所走的道路将在未来几个月内破坏整个数据库格局。
关于为什么首先搞一个 Redis 分叉的原因,这是因为 KeyDB 和 Redis 在如何发展方面有不同的理念。我们认为易用性、高性能和“内置动力”的方法是创造良好用户体验的最佳方法。尽管我们非常尊重 Redis 维护者,但我们认为 Redis 的方法过于注重代码的简单性,而以牺牲用户的便利性为代价。这导致经常需要借助外部组件和方案来解决很多常见问题。
由于存在意见分歧,因此适合 KeyDB 的功能可能不适用于 Redis。而做一个新的分叉版本可以允许我们探索这一新的开发路径并实现可能永远不会成为 Redis 一部分的功能。KeyDB 将与上游的 Redis 代码变更保持同步,在适用的情况下,我们还给 Redis 提交错误修复和改进。我们希望这两个项目能够继续发展并相互学习。