阿里雲資料庫Redis正式上線Tair持久儲存系列

程式碼派就是我發表於2020-10-28

2020年9月20日,阿里云云資料庫Redis正式上線Tair(又稱阿里雲Redis企業版)持久儲存系列,該系列包含兩種產品形態:持久記憶體型和容量儲存型。該系列產品是Tair系列繼效能增強型和混合儲存型後又一力作,其相容原生Redis的資料結構和介面,並具備更大容量規格、抖動更低且命令級資料持久化的能力。該自研產品打破了傳統Redis中的資料只能在易失性儲存上進行讀寫的刻板印象,針對客戶不同業務階段的資料儲存要求與服務成本考量,全新實現了永續性更強、成本更低的KV資料庫。

>>釋出會傳送門

點選瞭解產品詳情


開源Redis的三大痛點

Redis 是目前全球最主流的Key-Value 資料庫產品,作為快取記憶體,在緩解系統大併發高壓力的場景上已經被無數開發者和企業所認可,尤其在各種行業和場景都有著非常廣泛的應用,可以說Redis是應對高併發、大流量、低延遲業務場景的不二選擇。然而,隨著客戶業務的快速發展,Redis對業務的重要性持續上升的同時系統壓力和資料量也不斷地攀升,這時原生開源Redis便會出現如下的一些矛盾:

1.資料可靠性與在各場景種廣泛使用Redis之間的矛盾。Redis有豐富的資料結構和操作,除了作為後端資料庫的前置快取記憶體外,還在諸多實際涉及到資料更改的業務場景上發揮著重要的作用,這是使用者往往會關注資料持久化能力。在開源Redis中,使用者可以使用AOF的Always對每條命令都進行fsync刷盤來保證資料可靠性,但是該配置會導致整體效能大幅度下降,因此生產環境往往採用另一個AOF策略,即Everysecond每秒持久化。即便如此,在一個高吞吐的場景下(例如10萬TPS),一秒的資料丟失可能就意味著數萬條資料記錄的丟失,這是一些對資料可靠性要求很高的使用者無法接受的,這個特點也在本質上直接制約了Redis在更多場景下的深入使用。

2.服務高效能與資料可靠性之間的矛盾。當開源Redis使用AOF得到秒級資料持久化能力的同時,該機制還需要進行定期的BGREWRITEAOF操作,透過fork一個程式在後臺清理持續增長的AOF檔案,在大容量例項下的fork問題會帶來服務明顯的抖動,在一些服務抖動敏感的場景,例如遊戲對戰,使用者體驗會大打折扣。另外,在大容量Redis啟動時載入持久化檔案會耗時很久,快取無法做到快速恢復。可以說,開源版無法同時擁有服務全程高效能和資料持久化。

3.快速攀升的成本與業務不同階段的服務訪問熱度之間的矛盾。開源Redis的資料讀寫均發生在記憶體,隨著資料規模增大,記憶體資源佔用會隨之遞增,而每臺伺服器可使用記憶體又是一個較小的有限值,因此伺服器數量也隨著被迫快速上升,整體服務成本會大幅度攀升。另一方面,隨著業務的發展,當業務進入發展後期,資料量已經形成一定規模,而資料的訪問頻度則慢慢降下來,如果在保持現有應用架構和邏輯不變的情況下降低資料儲存的成本便是首位考慮要素。而開源Redis只能使用較為昂貴的記憶體進行資料存取,沒有平滑的替代方案,客戶往往在這種情況下陷入兩難。

綜上所述,隨著客戶放在Redis中的資料越來越多且愈加重要,開源Redis本身可能在上述三個方面都無法滿足客戶更高的業務場景與服務成本要求。

Tair 完美解決上述三大痛點

基於上述的痛點,阿里雲Redis團隊在自研記憶體資料庫系列Tair中推出了針對不同資料溫度場景的持久記憶體型和容量儲存型,二者作為持久儲存系列的兩種產品形態,其工作原理均是將資料放置在非易失性儲存介質上,在資料庫啟動時無需進行資料載入,應用直接訪問相關資料,在寫入資料時也能保證命令級的資料可靠性,寫入一條資料即持久化存入非易失性介質,同時也消除了fork帶來的服務抖動,而對業務應用則保持Redis的通訊協議和資料結構與API,使用者像使用一個原生Redis一樣輕鬆上手使用它們。在硬體上,利用Intel傲騰(AEP)與阿里雲ESSD雲盤等先進硬體,在實現命令級持久化的同時有效的為客戶降低了整體服務擁有成本。

9989c5b90f96dedb20d3e717592eeed2c54bdb86.jpeg

圖1. 原生Redis與阿里雲Tair的持久化機制對比

持久記憶體型是基於Intel 傲騰(AEP)持久記憶體技術,相容絕大部分Redis資料結構和命令,並利用AEP的App Direct模式實現了高效能下的命令級持久化能力。在效能測試中其讀寫效能約為開源Redis的90%,而在定價上,由於新硬體帶來的成本紅利,該產品形態的定價是阿里雲社群版Redis價格的70%左右,整體價效比更高,適用於要求高吞吐、低延遲同時對資料可靠性要求高的熱資料存取場景。

容量儲存型是基於阿里雲ESSD雲盤技術,相容Redis 核心資料結構與命令,對標市面上基於RocksDB構建的大容量、相容Redis的資料儲存系統,提供了超大容量、平均效能有所妥協的溫冷資料存取服務。在基準效能測試中其基礎資料型別讀效能中位數約為開源Redis的70%,寫效能中位數約為開源記憶體版的55%,而服務擁有成本最低可降低至阿里雲Redis社群版的15%左右,適用於高儲存密度、低訪問頻率,對資料持久化要求高,且成本作為首要考慮因素的溫冷資料存取場景。

9989c5b90f96dedb20d3e717592eeed2c54bdb86.jpeg

圖2.阿里雲Tair持久記憶體型與容量儲存型

阿里雲產品負責人黃鵬程(花名馬格)表示,隨著Tair持久儲存系列的兩種產品形態的釋出,Tair的產品系列已經覆蓋了從高訪問強度到高儲存密度的全線企業級Redis服務。阿里云云資料庫Redis會將Redis作為使用者上雲快速接入、體驗原汁原味開源Redis的雲上服務,同時重點打造集團自研KV儲存Tair這款企業級雲原生記憶體資料庫,全面覆蓋客戶不同業務階段對於Redis效能、功能與成本的更高要求。

9989c5b90f96dedb20d3e717592eeed2c54bdb86.jpeg

圖3.阿里雲Tair產品矩陣

隨著雲端計算的技術發展,雲原生資料庫已取代傳統資料庫成為市場主流。阿里雲是國內最早推出雲資料庫的廠商之一,至今為止已經形成了完整的產品佈局,擁有關係型資料庫、NoSQL資料庫、資料倉儲、資料庫生態工具和雲資料庫專屬叢集五大板塊。其中NoSQL資料庫中的阿里雲 Redis 從 2015 年商用以來,一直是全球領先的雲記憶體資料庫產品,擁有Redis和Tair兩個主要產品,其背後的研發團隊擁有眾多頂級Redis社群Committer,並在Redis全球核心團隊(共五人)中擁有一名核心成員,在Redis技術發展中持續為社群做出貢獻。

除此之外,我們還為使用者提供了Redis雲資料庫專屬叢集:()
這是阿里雲專為大中型企業使用者定製最佳化的解決方案,填補了市場空白,具有資源獨享、自主可運維、多資料庫混合部署等特點,讓使用者既享受到雲資料庫的靈活性,又滿足了企業對資料庫合規性、高效能和安全性要求,最大限度地保留了企業 IDC 運維管理模式,減少企業上雲阻力,助力企業數字化轉型。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31550522/viewspace-2730475/,如需轉載,請註明出處,否則將追究法律責任。

相關文章