Tendis是騰訊互娛CROS DBA團隊 & 騰訊云資料庫團隊自主設計和研發的分布式高性能KV存盤資料庫,兼容Redis核心資料結構與介面,可提供大容量、低成本、強持久化的資料庫能力,適用于兼容Redis協議、需要大容量且較高訪問性能的溫冷資料存盤場景,
Tendis目前已經被應用到騰訊內、外部大型專案中,
集群架構

Tendis使用去中心化集群架構,每個資料節點都擁有全部的路由資訊,用戶可以訪問集群中的任意節點,并且通過redis的move協議,最終路由到正確的節點,
每個Tendis節點維護各自的slot資料,任意兩個master節點之間的slot不重復,master節點之間支持基于slot的資料搬遷,主備節點之間通過binlog實作資料復制,
所有節點之間通過gossip協議進行通訊,類似于redis cluster的分布式實作,所有節點通過gossip協議通訊,可指定hashtag來控制資料分布和訪問,使用和運維成本極低,
適用場景
1、兼容Redis協議,需要大容量且較高訪問性能的溫冷資料存盤場景
2、適合成本為主要考慮因素,業務資料有高持久化要求的業務場景
3、解決原生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的訪問性能,
專案規劃
1、持續完善對Redis的兼容性,包括支持LUA等命令
2、進一步提升Tendis的性能,減少rocksdb本身的性能抖動問題,
3、探索更多軟硬結合方案,基于新硬體特性,發揮更大的資料庫性能,
4、支持異構資料互通能力,降低異構資料庫的遷移成本
5、運維管理能力全面提升,PaaS能力持續增強
Tendis期待與您開源共建
Tendis目前已在騰訊內外部包括游戲、視頻、社交、電商等多個行業提供資料庫支撐,我們期望通過將Tendis開源,能夠有助于業界其他相關領域的應用,
同時通過Tendis開源專案的平臺,打造一個行業標桿級的分布式KV存盤資料庫產品,期待與您一起共建Tendis專案!
https://github.com/Tencent/Tendis
國內鏡像地址:
https://git.code.tencent.com/TencentOpenSource/Tendis
總結了一些2020年的面試題,這份面試題的包含的模塊分為19個模塊,分別是: Java 基礎、容器、多執行緒、反射、物件拷貝、JavaWeb例外、網路、設計模式、Spring/Spring MVC、SpringBoot/SpringCloud、Hibernate、MyBatis、RabbitMQ、Kafka、Zookeeper、MySQL、Redis、JVM,獲取資料以上資料關注公眾號:有故事的程式員,獲取學習資料,
記得點個關注+評論哦~

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/246033.html
標籤:其他
上一篇:小技巧 | 作為一名程式員,你是怎么保護自己的眼睛得?
下一篇:appium 自動化環境搭建
