互聯(lián)網(wǎng)/程序員/技術(shù)/資料共享?
來自:騰訊開源
tips:文末有好書推薦~
項目簡介
Tendis是騰訊互娛CROS DBA團隊 & 騰訊云數(shù)據(jù)庫團隊自主設計和研發(fā)的分布式高性能KV存儲數(shù)據(jù)庫,兼容Redis核心數(shù)據(jù)結(jié)構(gòu)與接口,可提供大容量、低成本、強持久化的數(shù)據(jù)庫能力,適用于兼容Redis協(xié)議、需要大容量且較高訪問性能的溫冷數(shù)據(jù)存儲場景。Tendis目前已經(jīng)被應用到騰訊內(nèi)、外部大型項目中。集群架構(gòu)
Tendis使用去中心化集群架構(gòu),每個數(shù)據(jù)節(jié)點都擁有全部的路由信息,用戶可以訪問集群中的任意節(jié)點,并且通過redis的move協(xié)議,最終路由到正確的節(jié)點。
每個Tendis節(jié)點維護各自的slot數(shù)據(jù),任意兩個master節(jié)點之間的slot不重復,master節(jié)點之間支持基于slot的數(shù)據(jù)搬遷,主備節(jié)點之間通過binlog實現(xiàn)數(shù)據(jù)復制。所有節(jié)點之間通過gossip協(xié)議進行通訊,類似于redis cluster的分布式實現(xiàn),所有節(jié)點通過gossip協(xié)議通訊,可指定hashtag來控制數(shù)據(jù)分布和訪問,使用和運維成本極低。適用場景
1、兼容Redis協(xié)議,需要大容量且較高訪問性能的溫冷數(shù)據(jù)存儲場景2、適合成本為主要考慮因素,業(yè)務數(shù)據(jù)有高持久化要求的業(yè)務場景3、解決原生Redis固有的fork問題而預留部分內(nèi)存問題主要特性
兼容Redis協(xié)議
完全兼容redis協(xié)議,支持redis主要數(shù)據(jù)結(jié)構(gòu)和接口,兼容大部分原生Redis命令。持久化存儲
使用 rocksdb 作為存儲引擎,所有數(shù)據(jù)以特定格式存儲在 rocksdb 中,最大支持 PB 級存儲。去中心化架構(gòu)
類似于redis cluster的分布式實現(xiàn),所有節(jié)點通過gossip協(xié)議通訊,可指定hashtag來控制數(shù)據(jù)分布和訪問,使用和運維成本極低。水平擴展
集群支持增刪節(jié)點,并且數(shù)據(jù)可以按照slot在任意兩節(jié)點之間遷移,擴容和縮容過程中對應用運維人員透明,支持擴展至1000個節(jié)點。故障自動切換
自動檢測故障節(jié)點,當故障發(fā)生后,slave會自動提升為master繼續(xù)對外提供服務。Tendis冷熱混合存儲關鍵組件
得益于Tendis存版的設計和內(nèi)部優(yōu)化,Redis和Tendis存儲版可以一起工作成為Tendis冷熱混合存儲 ?;旌洗鎯^(qū)非常適用于KV存儲場景,并平衡了性能和成本。對于redis占用大量存儲空間的冷數(shù)據(jù)降冷后可以最多減少80%的成本,同時保證了熱數(shù)據(jù)在redis的訪問性能。項目規(guī)劃
1、持續(xù)完善對Redis的兼容性,包括支持LUA等命令2、進一步提升Tendis的性能,減少rocksdb本身的性能抖動問題。3、探索更多軟硬結(jié)合方案,基于新硬件特性,發(fā)揮更大的數(shù)據(jù)庫性能。4、支持異構(gòu)數(shù)據(jù)互通能力,降低異構(gòu)數(shù)據(jù)庫的遷移成本5、運維管理能力全面提升,PaaS能力持續(xù)增強Tendis期待與您開源共建
Tendis目前已在騰訊內(nèi)外部包括游戲、視頻、社交、電商等多個行業(yè)提供數(shù)據(jù)庫支撐。我們期望通過將Tendis開源,能夠有助于業(yè)界其他相關領域的應用。同時通過Tendis開源項目的平臺,打造一個行業(yè)標桿級的分布式KV存儲數(shù)據(jù)庫產(chǎn)品,期待與您一起共建Tendis項目!https://github.com/Tencent/Tendishttps://git.code.tencent.com/TencentOpenSource/Tendis
好書推薦

《Java高并發(fā)編程指南》內(nèi)容由淺入深,采用理論與實踐相結(jié)合的方式講解Java高并發(fā)編程的相關知識。
大佬的"搶茅臺"腳本過于強大,剛開源就被封殺!但是,我備份了....
Java外賣點餐系統(tǒng)
5T技術(shù)資源大放送!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,單片機,樹莓派,等等。在公眾號內(nèi)回復「2048」,即可免費獲?。?!微信掃描二維碼,關注我的公眾號
朕已閱?