开源内存数据库可不止Redis,还有它们,据说比Redis吞吐量高25倍

开源内存数据库可不止Redis,还有它们,据说比Redis吞吐量高25倍

现在Redis肯定是最受欢迎的内存数据库,不管大大小小的项目,都喜欢缓存一点东西。在Redis火起来之前,memcached是非常受欢迎的一个开源内存数据库,那么,除了这两个外,还有哪些开源的内存数据库呢?

KeyDB

KeyDB项目是从redis fork出来的分支。专注于多线程、内存效率和高吞吐量。除了多线程之外,KeyDB 还具有仅在 Redis Enterprise 中可用的功能,另外KeyDB 保持与 Redis 协议、模块和脚本的完全兼容性。

代码地址:https://github.com/Snapchat/KeyDB.git

dragonfly

dragonfly号称全世界最快的内存数据库。是一种针对现代应用程序负荷需求而构建的内存数据库,完全兼容Redis和Memcached的 API,迁移时无需修改任何代码。相比于这些传统的内存数据库,Dragonfly提供了其25倍的吞吐量,高缓存命中率和低尾延迟,同时Dragonfly还能轻松进行垂直扩展。




代码地址:https://github.com/dragonflydb/dragonfly.git

Tendis

腾讯开源的KV存储数据库,Tendis SSD是第一代tendis,基于redis 2.8.17实现。Tendis和Redis的差别在于:Redis 使用内存存储介质,能够在计算和缓存场景提供超高并发和超低延迟。Tendis分存储版(全量数据存储在磁盘)和混合存储版(由分布式缓存(Redis)和分布式存储(RocksDB)构成),相较于Redis延时更大。

Tendis存储版 vs Redis cluster
优点:
. 所有数据存储到磁盘,提供更大的容量和更低的成本,数据可靠性更高
. 多线程架构,单进程的性能吞吐比redis单进程更高(30wQPS vs 13wQPS)
. 独立的gossip网络线程,支持更多的节点通讯,支持更大规模的集群
. 更强大的数据搬迁能力,原redis cluster的搬key实现,如果遇到大key,会导致比较恶劣的全局阻塞
. 基于rocksdb的镜像和完善的binlog实现,支持任意时间点的回档,社区版redis暂无这个能力
. 支持增量复制及复制断开断点续传,redis复制断开需要全量复制
缺点:
. 对比纯内存的redis,Tendis存储版的延时更大
. 部分命令还不支持(pubsub, geo等),正在完善中
. 对于单key更新,由于Tendis存储版内部并发控制,无法发挥多线程的优势,会退化为单线程,性能较低

代码地址:https://github.com/Tencent/Tendis.git

大家都说自己最强,那么,到底强不强?哪家强?只有用过、踩过坑之后才知道。是吧?

开源内存数据库可不止Redis,还有它们,据说比Redis吞吐量高25倍

https://blogs.52fx.biz/posts/463397855.html

作者

eyiadmin

发布于

2023-03-31

更新于

2024-05-31

许可协议

评论