博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
加强版Redis,又一款国产高性能KV存储数据库开源了!
阅读量:2197 次
发布时间:2019-05-02

本文共 1341 字,大约阅读时间需要 4 分钟。

来源: 腾讯开源

项目简介

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

推荐阅读GitHub 下载神器强势回归!巧用枚举来干掉if-else,代码更优雅!如何正确访问Redis中的海量数据?服务才不会挂掉!超硬核!1.6W 字 Redis 面试知识点总结,建议收藏!

转载地址:http://uvoub.baihongyu.com/

你可能感兴趣的文章
搞懂分布式技术10:LVS实现负载均衡的原理与实践
查看>>
搞懂分布式技术11:分布式session解决方案与一致性hash
查看>>
搞懂分布式技术12:分布式ID生成方案
查看>>
搞懂分布式技术13:缓存的那些事
查看>>
搞懂分布式技术14:Spring Boot使用注解集成Redis缓存
查看>>
搞懂分布式技术15:缓存更新的套路
查看>>
搞懂分布式技术16:浅谈分布式锁的几种方案
查看>>
搞懂分布式技术17:浅析分布式事务
查看>>
搞懂分布式技术18:分布式事务常用解决方案
查看>>
搞懂分布式技术19:使用RocketMQ事务消息解决分布式事务
查看>>
搞懂分布式技术20:消息队列因何而生
查看>>
搞懂分布式技术21:浅谈分布式消息技术 Kafka
查看>>
后端技术杂谈1:搜索引擎基础倒排索引
查看>>
后端技术杂谈2:搜索引擎工作原理
查看>>
后端技术杂谈3:Lucene基础原理与实践
查看>>
后端技术杂谈4:Elasticsearch与solr入门实践
查看>>
后端技术杂谈5:云计算的前世今生
查看>>
后端技术杂谈6:白话虚拟化技术
查看>>
后端技术杂谈7:OpenStack的基石KVM
查看>>
后端技术杂谈8:OpenStack架构设计
查看>>