天天看點

2020年 Redis 這五大新功能你最期待哪一個?

3月11日,Redis企業版(Tair)& 專屬主機組将召開重磅新品釋出會!
2020年 Redis 這五大新功能你最期待哪一個?

性能提升高達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 慢請求分析,慢請求一目了然

2020年 Redis 這五大新功能你最期待哪一個?

實時性能

實時性能以5秒的采集粒度,實時的采集、分析和展示核心性能名額的趨勢,幫助使用者在大促、應用釋出等場景下一眼确認資料庫性能。

2020年 Redis 這五大新功能你最期待哪一個?

緩存分析

緩存健康情況對于Redis的性能是至關重要的,通過 DAS 的緩存分析功能,您可以直接确認确認Key分布情況,減少因為Key傾斜引發的記憶體不足、性能下降等問題。

2020年 Redis 這五大新功能你最期待哪一個?

會話管理

如果Redis的異常正在發生,我們第一時間需要确認正在執行的請求或者操作,該功能直接将正在執行的請求通過白屏化的方式直覺的展示給客戶,并且支援各個次元的統計和排序,同時也支援終止異常會話.

2020年 Redis 這五大新功能你最期待哪一個?
2020年 Redis 這五大新功能你最期待哪一個?

多個Redis執行個體批量管理的功能,是很多企業級客戶需要的,除了上述功能外,我們也新增了自定義監控大盤的功能,支援企業級使用者在管理多個執行個體的場景下,自定義跨執行個體的監控大盤,滿足日常運維中多執行個體、多名額的關聯、對比、檢視需求。

1.3審計日志系統全面更新

Redis 社群版最被客戶诟病的一點就是不支援審計,客戶無法實作快速定位曆史操作資訊。發生性能問題,誤操作時,沒有排查依據。阿裡雲 Redis 服務,通過核心改造提供全記錄檔(modify)及高危指令的審計功能,性能開銷通常低于 5%,為客戶提供 7x24 基本無業務無損的審計服務,近日又對審計功能進行了全面更新,提供關鍵字模糊查詢,代理及資料節點審計,賬号,DB,用戶端 IP 多條件過濾等能力,友善客戶在衆多審計日志中快速定位。同時提供通路使用者數,用戶端數,審計日志書,平均 RT,平均 QPS 的聚合展示,以及 Top 使用者,用戶端及指令的聚合展示,系統運作狀态一目了然。

2020年 Redis 這五大新功能你最期待哪一個?

審計日志提供,賬号,用戶端IP,DB,執行指令等資訊展示,并支援控制台直接導出。

2020年 Redis 這五大新功能你最期待哪一個?

同時我們還支援定期推送審計日報,基于審計資訊的郵件告警等功能,審計日志功能全面更新。

2020年 Redis 這五大新功能你最期待哪一個?

展望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 緩存的應用場景。

2020年 Redis 這五大新功能你最期待哪一個?

混合存儲系列,低成本超大規模持久化KV存儲解決方案

引入 SSD 磁盤作為緩存媒體,提升緩存容量的同時大大降低了緩存成本,單分片最高支援 1T 存儲,叢集版最高可擴充至 9TB,同時整體成本下降 70%-90%。為客戶帶來真正的實惠。混合存儲系列所有操作都在記憶體中完成,完全相容 Redis 協定,對于客戶來說可以 0 成本啟動。目前支援 DTS 和 redis-shake直接導入資料。

2020年 Redis 這五大新功能你最期待哪一個?

2. Redis 專享主機形态,雲上最靈活的大規模叢集解決方案

随着雲業務的發展,雲服務被越來越多的企業所接受,但是雲發展的過程中,如何解決規模化叢集管理,客戶級别資源隔離,定制化管控需求是當下雲 PaaS 服務面臨的一大挑戰。阿裡雲 Redis 服務推出專享主機形态是商業上的一次創新和技術上的一次突破。這裡有三個主要概念:

主機組:邏輯主機群的概念,主機組間資源互相不可通路,可以按需申請多個。我們建議按照業務垂直拆分主機組,提供業務間資源隔離。

主機:伺服器主機,一台主機可以開通多個執行個體,我們支援靈活地添加,删除主機,也支援針對主機的管理,比如替換主機,重新開機主機,清空主機執行個體,遷移主機執行個體等,友善客戶進行資源調配管理。

緩存執行個體:一台主機上面可以開通多個 Redis 緩存執行個體,這個執行個體概念等同于 PaaS 服務的 Redis 執行個體。我們提供雲上 Redis 緩存的全部能力,包括監控告警,日志管理,備份恢複,賬号管理等基礎能力。

2020年 Redis 這五大新功能你最期待哪一個?
2020年 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 追加時間戳資訊,可以實作按照時間點恢複資料,實作了從緩存到資料庫的飛躍。這種日志改造在主從複制,跨地域備份等場景下也有非常好的應用,可以實作斷點續傳等能力。

2020年 Redis 這五大新功能你最期待哪一個?

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

邀您一同見證商業和技術的創新!