3月11日,Redis企業版(Tair)& 專屬主機組将召開重磅新品釋出會!

性能提升高達3倍,TCO最高降低90%!十年磨一劍,打造旗艦級緩存服務,邀您一同見證商業和技術的創新!
本文作者皓楠,阿裡雲資料庫産品專家
Redis 是世界上最流行的 KV 緩存資料庫,2009年誕生至今,已發展超過十個年頭,伴随着網際網路行業的發展,Redis 在過去十年取得了輝煌的成績。
Redis 服務在中國有着非常龐大的使用者群體和商業市場,根據 similarweb 的統計,redis.io 的流量通路中,超過 50% 來自于中國大陸,中國開發者對 Redis 的喜愛程度可見一斑。
2019年 阿裡雲 Redis 緩存服務取得了不小的成就,上線 5.0 版本,行業率先提供子產品服務,按時間點恢複能力等。在緻力于提供業内最優秀的緩存服務上,我們一直不遺餘力。
回顧2019
1.1上線 Redis 5.0
2019年4月,阿裡雲全地域上線了最新穩定版 Redis 5.0,提供 Stream 資料類型,ZPOPMIN/MAX,增強 HyperLogLog 等最新功能。
其中 Stream 是繼 Redis 3.2 版本 GEO 功能以來時隔兩年多全新的資料結構。Stream 類似于日志的資料結構,允許在單一 Key 上基于自動的有序時間序列存儲多個字段,在消息隊列,事件通知,統一日志架構等業務場景中有非常大的發揮空間。
阿裡雲 Redis 目前支援 2.8,4.0,5.0 三個大版本,版本豐富度國内領先。全系列支援主從雙副本,分片叢集,自動讀寫分離架構,滿足客戶多樣的業務需求。
1.2提供全新資料庫自治服務(DAS)
性能診斷和性能調優是資料庫使用中最棘手的問題。為了更好的幫助使用者找出資料庫性能隐患點、提升問題排查的效率。阿裡雲 Redis 緩存上線了全新自治服務工具 DAS 服務,支援 Redis 慢請求分析、實時性能檢視、緩存分析、會話管理:
Redis 慢請求分析,慢請求一目了然
實時性能
實時性能以5秒的采集粒度,實時的采集、分析和展示核心性能名額的趨勢,幫助使用者在大促、應用釋出等場景下一眼确認資料庫性能。
緩存分析
緩存健康情況對于Redis的性能是至關重要的,通過 DAS 的緩存分析功能,您可以直接确認确認Key分布情況,減少因為Key傾斜引發的記憶體不足、性能下降等問題。
會話管理
如果Redis的異常正在發生,我們第一時間需要确認正在執行的請求或者操作,該功能直接将正在執行的請求通過白屏化的方式直覺的展示給客戶,并且支援各個次元的統計和排序,同時也支援終止異常會話.
多個Redis執行個體批量管理的功能,是很多企業級客戶需要的,除了上述功能外,我們也新增了自定義監控大盤的功能,支援企業級使用者在管理多個執行個體的場景下,自定義跨執行個體的監控大盤,滿足日常運維中多執行個體、多名額的關聯、對比、檢視需求。
1.3審計日志系統全面更新
Redis 社群版最被客戶诟病的一點就是不支援審計,客戶無法實作快速定位曆史操作資訊。發生性能問題,誤操作時,沒有排查依據。阿裡雲 Redis 服務,通過核心改造提供全記錄檔(modify)及高危指令的審計功能,性能開銷通常低于 5%,為客戶提供 7x24 基本無業務無損的審計服務,近日又對審計功能進行了全面更新,提供關鍵字模糊查詢,代理及資料節點審計,賬号,DB,用戶端 IP 多條件過濾等能力,友善客戶在衆多審計日志中快速定位。同時提供通路使用者數,用戶端數,審計日志書,平均 RT,平均 QPS 的聚合展示,以及 Top 使用者,用戶端及指令的聚合展示,系統運作狀态一目了然。
審計日志提供,賬号,用戶端IP,DB,執行指令等資訊展示,并支援控制台直接導出。
同時我們還支援定期推送審計日報,基于審計資訊的郵件告警等功能,審計日志功能全面更新。
展望2020
“今天的最好表現, 是明天的最低要求”, 疫情阻止不了阿裡雲 Redis 前進的腳步, 2020 還有哪些值得期待的功能?
1. 推出 Redis 企業版(Tair)品牌系列
Tair 是阿裡雲自研分布式鍵值存儲(KVS)系統,幾乎涵蓋了淘寶、天貓、阿裡媽媽、菜鳥、釘釘、優酷、高德等阿裡巴巴所有核心業務。2019年底阿裡雲 Redis 企業版(Tair)系列全站釋出。
這裡要先聊一聊社群版 Redis 的一些核心問題:
單線程 C10K 問題,即在大連結狀态下抗沖擊能力很差。大型和超大型應用動辄就有一萬或者幾萬程序連接配接Redis,一個沖擊響應或者一個慢查詢就可能導緻連接配接數雪崩。
單分片處理能力有限。Redis單程序對于 O(1) 的操作大緻有10~13w OPS的服務能力,雖然對比其他資料庫,性能已經非常優秀,但是在網際網路極端和突發場景下處理能力依然不足。
資料結構子產品(Module)。Redis提供的基礎的Hash、List、Set等是通用的是對通用網際網路環境的總結,而在網際網路大型企業有着更多的子產品需求。
跨地域分布式緩存需求。随着網際網路全球化程序的發展,執行個體多活成為了愈來越多客戶的剛需。多活不但能夠實作高性能的“就近通路”,還能作為跨地域複制(Geo Replica)的一個重要容災手段,可以極大的提升客戶的業務穩定性和架構靈活度。
低成本緩存。針對大容量低通路但對RT(latency)不敏感的應用,純記憶體顯然代價過高。
針對上面的通點問題,阿裡雲 Redis 企業版(Tair)推出了兩個系列,性能增強系列和混合存儲系列。
性能增強系列,業内最快的緩存系統
多 IO 線程改造,引入更多計算資源,減少 IO 事件等待提升處理能力。單節點 30-40w OPS 是社群版處理能力 3 倍以上,30-50k 連結下穩定運作,輕松應對高并發,突發流量等業務場景。同時性能增強系列還提供了多達 5 種自研 module,進一步拓展 Redis 緩存的應用場景。
混合存儲系列,低成本超大規模持久化KV存儲解決方案
引入 SSD 磁盤作為緩存媒體,提升緩存容量的同時大大降低了緩存成本,單分片最高支援 1T 存儲,叢集版最高可擴充至 9TB,同時整體成本下降 70%-90%。為客戶帶來真正的實惠。混合存儲系列所有操作都在記憶體中完成,完全相容 Redis 協定,對于客戶來說可以 0 成本啟動。目前支援 DTS 和 redis-shake直接導入資料。
2. Redis 專享主機形态,雲上最靈活的大規模叢集解決方案
随着雲業務的發展,雲服務被越來越多的企業所接受,但是雲發展的過程中,如何解決規模化叢集管理,客戶級别資源隔離,定制化管控需求是當下雲 PaaS 服務面臨的一大挑戰。阿裡雲 Redis 服務推出專享主機形态是商業上的一次創新和技術上的一次突破。這裡有三個主要概念:
主機組:邏輯主機群的概念,主機組間資源互相不可通路,可以按需申請多個。我們建議按照業務垂直拆分主機組,提供業務間資源隔離。
主機:伺服器主機,一台主機可以開通多個執行個體,我們支援靈活地添加,删除主機,也支援針對主機的管理,比如替換主機,重新開機主機,清空主機執行個體,遷移主機執行個體等,友善客戶進行資源調配管理。
緩存執行個體:一台主機上面可以開通多個 Redis 緩存執行個體,這個執行個體概念等同于 PaaS 服務的 Redis 執行個體。我們提供雲上 Redis 緩存的全部能力,包括監控告警,日志管理,備份恢複,賬号管理等基礎能力。
專享主機形态,相當于将客戶的 IDC 無縫搬遷到雲上,提供大規模主機管理,調配能力,主機對使用者更透明。同時開放主機管理能力,支援使用者登陸采集資訊,同時支援自定義腳本,代理安裝,友善大客戶定制管控開發。
主機提供超賣比設定,可以将不同資源類型,業務高峰的業務錯峰部署,提升資源使用率,實作超高成本效益。同時 Redis 緩存執行個體無縫對接阿裡雲管控平台,可以輕松開通,删除執行個體并展開執行個體變配,監控告警,日志管理等基本運維管理工作,讓客戶享受雲平台技術紅利,降低運維成本,提高人效,讓客戶專注于核心業務。
3. 業内首先支援多種 module,使用更靈活,功能更強大
TairString
Redis String性能增強指令包含CAS和CAD,可以實作簡潔高效的Redis分布式鎖。使用說明及示例請參見CAS/CAD指令。
TairString資料結構及相關指令TairString是一種帶版本号的string類型資料結構。原有的Redis String由key和value組成,而TairString不僅包含key和value,還攜帶了版本(version),可用于樂觀鎖等場景。除此之外,TairString在Redis String加減功能的基礎上支援了邊界設定,可以将INCRBY、INCRBYFLOAT的結果限制在一定的範圍内,超出範圍則提示錯誤,适用于限流器等場景。
TairHash
TairHash是一種hash類型的資料,不但和原有的Redis Hash一樣支援豐富的資料接口和高處理性能,還突破了Redis Hash隻能為key設定過期時間的限制,支援為field設定過期時間和版本,極大地提高了hash資料結構的靈活性,簡化了很多場景下的業務開發工作。TairHash使用高效的Active Expire算法,可以在不對響應時間造成明顯影響的前提下,更高效的完成對field的逾時判斷和删除。
TairBloom
TairBloom是一種可動态擴容的布隆過濾器,完全相容RedisBloom子產品的指令。TairBloom首先是一種機率性資料結構(space-efficient probabilistic data structure),主要使用較低的記憶體消耗來判斷一個元素是否存在;其次,TairBloom具有動态擴容的能力,可在擴容的同時維持證誤判率的穩定。
TairDoc
TairDoc是一種文檔類型的資料結構,支援JSON标準,完全相容ReJSON子產品的指令。TairDoc資料以二進制樹的方式存儲,支援對JSON中子元素的快速通路。
TairGIS
TairGis是一種使用R-Tree做索引,支援地理資訊系統GIS(Geographic Information System)相關接口的資料結構。Redis的原生GEO指令是使用GeoHash和Redis Sorted Set結構完成的,使用1D索引,主要用于點的查詢,TairGIS使用2D索引,除了對點的查詢,還支援線、面的查詢,尤其适合用于判斷相交或包含關系,功能更加強大。
4,支援按時間點恢複
社群版 Redis 提供 RDB 和 AOF 兩種持久化方式,但是缺少類似于 Binlog 的日志形式,AOF 沒有記錄時間和位點資訊,導緻無法按照時間點恢複資料。雖然 Redis 純緩存的場景下,這種恢複模式可以滿足大多數業務場景需求,但是在遊戲等行業下,如果支援按照時間點恢複資料可以實作快速回檔,極大提減少停機維護時間。
阿裡雲 Redis 緩存服務,通過在 AOF 追加時間戳資訊,可以實作按照時間點恢複資料,實作了從緩存到資料庫的飛躍。這種日志改造在主從複制,跨地域備份等場景下也有非常好的應用,可以實作斷點續傳等能力。
5.全球分布式緩存服務助理企業級客戶全球化業務布局
随着企業級客戶全球化業務的發展,全球分布式緩存服務的需求應運而出,跨地域資料雙向,多向同步,全局就近通路,成熟的鍊路監控體系是這一類服務的标簽,2020 年阿裡雲 Redis 服務将在企業版基礎上推出全球分布式緩存服務形态,滿足企業級客戶業務出海,全球業務的訴求,友善客戶跨地域業務的展開。
結語
從 2009 年 Redis 服務面世以來,Redis 緩存已經經曆了 10多個年頭,緩存行業也經曆了翻天覆地的變化。
2019年底,Redis 6.0 RC 版面世,預計穩定版也會很快面向使用者正式開放。用作者的話說,這個版本是迄今為止最大的更新,從 RC 版 Release Note 來看,最新版 Redis 在用戶端緩存,多 IO 線程,叢集代理,SSL 加密,子產品 API 優化都有提及,可謂是賺足了眼球。
不過回頭看看阿裡雲 Redis 服務的發展曆史,我們早在幾年前就布局了 SSL 加密,多 IO 線程改造,叢集代理,混合存儲,子產品等方方面面,某種意義上來說,阿裡雲 Redis 服務是走在了緩存時代的最前沿。我們在為使用者提供最優秀,好用的緩存服務上一直不斷努力前行。
在可以預見的未來,緩存依然會是資料庫産品陣營中的主流,且不可替代,這裡我們也做個趨勢預測
緩存需要更貼近客戶業務,縮短 RT,多級緩存或成為标準。
産品架構會對客戶更加透明,對客戶無感,主從版與叢集版的使用差異會越來越小,客戶無需感覺後端産品架構。
彈性熱伸縮或成為剛需,滿足網際網路場景下突發流量,瞬間峰值等極端業務場景。
全球分布式緩存或成為大型國際化網際網路行業的标準訴求,雙向甚至多向複制成為行業基準能力。
面向 IOT & 5G 的爆發,緩存更輕量化,解決邊緣計算場景下的緩存需求。
最後打一個小廣告,阿裡雲 Redis 企業版(Tair)産品限時折扣中,1年7折,2年6折,歡迎采購。
👇
Redis企業版(Tair)& 專屬主機組
[重磅新品釋出會
](
https://yq.aliyun.com/live/2148)3月11日 15:00-16:30
邀您一同見證商業和技術的創新!