騰訊開源分布式存儲系統 Tendis,可完全兼容 Redis
近日,騰訊宣布開源一個與 Redis 協議完全兼容的高性能分布式存儲系統Tendis。
據悉,Tendis 是騰訊互娛 CROS DBA 團隊 & 騰訊云數據庫團隊自主設計和研發的分布式高性能 KV 存儲數據庫,兼容 Redis 核心數據結構與接口,可提供大容量、低成本、強持久化的數據庫能力,適用于兼容 Redis 協議、需要大容量且較高訪問性能的溫冷數據存儲場景。Tendis 目前已經被應用到騰訊內、外部大型項目中。
據項目官方文檔介紹,Tendis 的主要特性包括:
- 兼容 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 本身的性能抖動問題,探索更多軟硬結合方案,基于新硬件特性發揮更大的數據庫性能,支持異構數據互通能力等。
Tendis 官網地址: http://tendis.cn/#/