天天看點

阿裡雲資料庫Redis正式上線Tair持久存儲系列 提供大規格指令級持久化能力的雲上Redis服務

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雲盤等先進硬體,在實作指令級持久化的同時有效的為客戶降低了整體服務擁有成本。

阿裡雲資料庫Redis正式上線Tair持久存儲系列 提供大規格指令級持久化能力的雲上Redis服務

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

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

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

阿裡雲資料庫Redis正式上線Tair持久存儲系列 提供大規格指令級持久化能力的雲上Redis服務

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

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

阿裡雲資料庫Redis正式上線Tair持久存儲系列 提供大規格指令級持久化能力的雲上Redis服務

圖3.阿裡雲Tair産品矩陣

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

除此之外,我們還為使用者提供了Redis雲資料庫專屬叢集:(

https://www.aliyun.com/product/apsaradb/cddc

這是阿裡雲專為大中型企業使用者定制優化的解決方案,填補了市場空白,具有資源獨享、自主可運維、多資料庫混合部署等特點,讓使用者既享受到雲資料庫的靈活性,又滿足了企業對資料庫合規性、高性能和安全性要求,最大限度地保留了企業 IDC 運維管理模式,減少企業上雲阻力,助力企業數字化轉型。