加强版 Redis,又一款国产高性能 KV 存储数据库开源了!
来源:腾讯开源项目简介Tendis是腾讯互娱CROS DBA团队 & 腾讯云数据库团队自主设计和研发的分布式高性能KV存储数据库,兼容Redis核心数据结构与接口。可提供大容量、低成本、强持久化的数据库能力,适用于兼容Redis协议、需要大容量且较高访问性能的温冷数据存储场景。Tendis目前已经被应用到腾讯内、外部大型项目中。集群架构图片Tendis使用去中心化集群架构,每个数据节点都拥
来源:腾讯开源
项目简介
Tendis是腾讯互娱CROS DBA团队 & 腾讯云数据库团队自主设计和研发的分布式高性能KV存储数据库,兼容Redis核心数据结构与接口。
可提供大容量、低成本、强持久化的数据库能力,适用于兼容Redis协议、需要大容量且较高访问性能的温冷数据存储场景。
Tendis目前已经被应用到腾讯内、外部大型项目中。
集群架构
Tendis使用去中心化集群架构,每个数据节点都拥有全部的路由信息,用户可以访问集群中的任意节点,并且通过redis的move协议,最终路由到正确的节点。
每个Tendis节点维护各自的slot数据,任意两个master节点之间的slot不重复,master节点之间支持基于slot的数据搬迁,主备节点之间通过binlog实现数据复制。
所有节点之间通过gossip协议进行通讯,类似于redis cluster的分布式实现,所有节点通过gossip协议通讯,可指定hashtag来控制数据分布和访问,使用和运维成本极低。
适用场景
-
兼容Redis协议,需要大容量且较高访问性能的温冷数据存储场景
-
适合成本为主要考虑因素,业务数据有高持久化要求的业务场景
-
解决原生Redis固有的fork问题而预留部分内存问题
主要特性
兼容Redis协议
完全兼容redis协议,支持redis主要数据结构和接口,兼容大部分原生Redis命令。
持久化存储
使用rocksdb作为存储引擎,所有数据以特定格式存储在rocksdb中,最大支持PB级存储。
去中心化架构
类似于redis cluster的分布式实现,所有节点通过gossip协议通讯,可指定hashtag来控制数据分布和访问,使用和运维成本极低。
水平扩展
集群支持增删节点,并且数据可以按照slot在任意两节点之间迁移,扩容和缩容过程中对应用运维人员透明,支持扩展至1000个节点。
故障自动切换
自动检测故障节点,当故障发生后,slave会自动提升为master继续对外提供服务。
Tendis冷热混合存储关键组件
得益于Tendis存版的设计和内部优化,Redis和Tendis存储版可以一起工作成为Tendis冷热混合存储。混合存储区非常适用于KV存储场景,并平衡了性能和成本。对于redis占用大量存储空间的冷数据降冷后可以最多减少80%的成本,同时保证了热数据在redis的访问性能。
项目规划
-
持续完善对Redis的兼容性,包括支持LUA等命令
-
进一步提升Tendis的性能,减少rocksdb本身的性能抖动问题。
-
探索更多软硬结合方案,基于新硬件特性,发挥更大的数据库性能。
-
支持异构数据互通能力,降低异构数据库的迁移成本
-
运维管理能力全面提升,PaaS能力持续增强
Tendis目前已在腾讯内外部包括游戏、视频、社交、电商等多个行业提供数据库支撑。感兴趣的童鞋可以去GitHub详细了解一下:
https://github.com/Tencent/Tendis
Springboot与MQTT集成实战:构建高效消息发布/订阅系统
实习生把https 改成 http,带宽减少了 70%!
全网最全34张架构师知识图谱(纯干货)
程序员必备的30款IDEA插件,开发效率翻倍!
接口级故障怎么办?降级、熔断、限流、排队4种策略,点击学习
雷军自述:我的10年编程生涯!
大厂都怎么防止重复下单?别说你没试过
多人同时导出Excel把服务器干崩了?后悔没早点知道这个方案
回复【干货】获取精选干货视频教程
回复【加群】加入疑难问题攻坚交流群
回复【mat】获取内存溢出问题分析详细文档教程
回复【赚钱】获取用java写一个能赚钱的微信机器人
回复【副业】获取程序员副业攻略一份
好文请点赞+分享
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)