腾讯,干掉 Redis 项目,正式开源、太牛逼啦!

腾讯,干掉 Redis 项目,正式开源、太牛逼啦!
最新回答
追逐明天

2022-05-18 23:08:32

Tendis是腾讯开源的分布式高性能KV存储数据库,并非“干掉Redis项目”,而是作为Redis的兼容替代方案,提供大容量、低成本、强持久化的存储能力。

一、项目背景与定位
  • Tendis由腾讯互娱CROS DBA团队与腾讯云数据库团队联合研发,针对Redis在温冷数据存储场景中的局限性(如容量限制、持久化成本高、fork问题等)设计。
  • 其核心目标是兼容Redis协议与数据结构,同时通过分布式架构和持久化存储引擎(RocksDB)解决原生Redis的痛点,适用于需要大容量、高性价比、强持久化的业务场景。
二、核心特性与优势
  1. 兼容Redis协议

    支持Redis主要数据结构(如String、Hash、List、Set、ZSet)和接口,兼容大部分原生Redis命令,业务迁移成本低。

    示例:游戏、社交等场景中,原有Redis业务可直接切换至Tendis,无需修改代码。

  2. 持久化存储与大容量支持

    使用RocksDB作为存储引擎,数据以特定格式持久化存储,最大支持PB级容量,远超Redis的内存限制。

    对比:原生Redis依赖内存,成本高昂;Tendis通过磁盘存储降低80%成本,适合冷数据降冷。

  3. 去中心化集群架构

    类似Redis Cluster,所有节点通过Gossip协议通信,无中心节点单点故障风险。

    支持指定HashTag控制数据分布,运维成本低,可扩展至1000个节点。

  4. 水平扩展与故障自动切换

    集群支持动态增删节点,数据按Slot在节点间迁移,扩容/缩容对业务透明。

    主备节点通过Binlog复制数据,故障时Slave自动提升为Master,保障服务连续性。

  5. 冷热混合存储优化

    Redis与Tendis存储版协同工作,热数据保留在Redis保证性能,冷数据降冷至Tendis降低成本。

    效果:冷数据存储成本降低80%,同时热数据访问性能不受影响。

三、适用场景
  1. 温冷数据存储

    兼容Redis协议,需大容量(如用户画像、日志、历史订单)且访问频率较低的场景。

  2. 高持久化要求业务

    金融、电商等对数据安全性要求高的场景,避免Redis因内存故障导致数据丢失。

  3. 成本敏感型业务

    通过磁盘存储替代内存,显著降低存储成本,同时保持较高性能。

  4. 解决Redis固有问题

    避免Redis因Fork子进程导致的主线程阻塞问题,减少内存预留开销。

四、项目规划与开源生态
  1. 功能完善

    持续兼容Redis特性(如LUA脚本支持)、优化RocksDB性能抖动问题。

  2. 性能提升

    探索软硬结合方案(如利用新硬件特性)进一步提升吞吐量与延迟。

  3. 异构数据互通

    支持与其他数据库(如MySQL、MongoDB)的迁移工具,降低数据迁移成本。

  4. 运维能力增强

    提供PaaS化运维平台,简化集群管理、监控与故障排查。

五、开源意义与共建邀请
  • Tendis已在腾讯内外部(游戏、视频、社交、电商等行业)大规模应用,开源旨在推动行业技术发展,打造标杆级分布式KV存储数据库。
  • 开源地址

    GitHub:

    https://github.com/Tencent/Tendis

    国内镜像:

    https://git.code.tencent.com/TencentOpenSource/Tendis

  • 腾讯期待与开发者共建生态,完善功能、优化性能,共同推动Tendis成为行业首选的KV存储解决方案。

总结:Tendis并非替代Redis,而是通过兼容协议与分布式架构,为温冷数据存储提供更优选择。其大容量、低成本、强持久化的特性,结合腾讯的规模化验证与开源生态,有望成为分布式KV存储领域的重要力量。