為餘勢負天工背,雲原生記憶體資料庫Tair助力使用者體驗最佳化

作為雙11大促承載流量洪峰的利器,Tair支撐了電商交易核心體驗場景。不僅在數十億QPS的峰值下保持著亞毫秒級別的順滑延遲,同時在電商交易核心體驗場景上也做出了技術創新。

一  前言

2021年雙十一,是天貓的第十三次雙十一,也是 Tair 的第十三次雙十一。每個參與備戰的 Tair 同學各有不同,有的同學是第一次,感受到了技術大團建的獨特氛圍;有的同學稍多點,集齊了七件戰袍來召喚神龍。今年是我經歷過的最緊張的一次:備戰過程跌宕起伏,今年上線的新產品壓測過程不太順利;同時也是經歷過的最暖的一次:在業務夥伴們鼎力支援下,團隊兄弟們並肩作戰,最終做到了“順滑如絲安穩如磐”。

二  背景

Tair 從2009年4月誕生開始,經歷了多次迭代,為豐富的業務場景支援了不同的引擎。其中 MDB / LDB 是發展時間最長的子產品,也依然是今天雙十一的絕對主力,順滑地承擔了雙十一流量洪峰,壓測階段也表現良好。這背後是成熟的核心能力對場景的全面覆蓋,以及不斷迭代的產品能力對維護效率的提升。當然,擁有 10K+ 例項的資料庫產品是離不開系統 Owner 們精進的專業能力、對產品執行的關注、對需求的快速響應。
除了產品自身的穩定,Tair MDB / LDB  還是 Tair產品線其它所有產品發展的基石,比如Tair MDB With PMem,作為Tair 在持久記憶體上的第一個里程碑,後面迭代出了2020年雲棲大會發布的 Tair 持久記憶體型;在今年雙十一中,基於持久記憶體架構的 TairSQL,擴寬了記憶體資料庫Tair支援的計算場景。Tair 持久記憶體型在今年雙十一的不同場景中發揮了重要作用,下面的章節詳細介紹。

三  Tair 持久記憶體型

Tair 持久記憶體型是在阿里雲官網公開售賣的提供大容量、相容 Redis 的記憶體資料庫產品,同時也為阿里巴巴集團核心心應用提供服務。單例項成本對比 Redis 社群版最高可降低30%,且資料持久化不依賴傳統磁碟,保證每個操作持久化的同時提供近乎 Redis 社群版的吞吐和延時,極大提升業務資料可靠性。
Tair 持久記憶體型所用的儲存介質英特爾® 傲騰™ 持久記憶體(Optane PMem)是兼具出色的記憶體與儲存效能的解決方案,將高性價比的大容量記憶體與對資料永續性的支援巧妙地結合在一起,可以將更多資料儲存在更靠近CPU的地方,加速大記憶體計算,加快資料庫重啟時間並減少I/O, 降低大記憶體節點的功耗,並在斷電時保護資料。
英特爾®傲騰™持久記憶體彌補了傳統SSD和DRAM之間的空白,以創新的技術提供獨特的操作模式,滿足針對各種工作負載的需求,特別是從雲到資料庫,再到記憶體分析,虛擬化基礎設施等資料密集型和計算密集型工作負載,助力從更大的資料集中獲取更深入的洞察。
2020年雲棲大會發布之後,透過服務越來越多雲上和集團內的使用者場景,Tair 持久記憶體型收集的使用者反饋對支援的場景範圍、訪問效能、價效比等方面都提出了更高的要求。基於這些需求,Tair 持久記憶體型攻關了核心最佳化技術,讓資料在 DRAM 、持久記憶體之間動態自適應移動,確保使用者索引佔用空間、資料區佔用空間維持在固定比例範圍內,滿足了不同使用者場景下的資料儲存需求。
同時,Tair 持久記憶體型與 Aliyun Linux 作業系統核心技術深度結合,相容了主備複製、即時備份等場景對於資料快照的需求,並大幅度降低了超大記憶體佔用空間下即時快照的延時影響。除了覆蓋更多支援場景和進行高頻場景的效能最佳化,在提供更高性價比方面,Tair 持久記憶體型精簡了自主研發的持久記憶體儲存結構的元資料佔用空間,並針對 List、Hash 等使用者高頻使用的資料結構進行精細化的透明壓縮,在維持資料持久化效能穩定下,實現1-2倍的資料壓縮率,大幅降低了資料持久化版本的硬體成本。
Tair 持久記憶體型除了在 Redis 通用場景上深耕細作持續最佳化,也拓展對於成本,資料一致性,低延時和容量的綜合要求很高的諸如了在廣告領域和特徵儲存場景上也大放異彩。同時2021年雙十一中,在兩個不同的使用者場景做出了創新,幫助應用在系統穩定性、價效比、體驗等方面得到了顯著提升。首先介紹在風控場景中起到了重要作用的 TairCPC資料模型。

1  TairCPC

在2020年雙十一中首次登場的 TairCPC,今年被吸納進入Tair持久記憶體型產品,在雙十一的風控場景起到了重要作用。
TairCPC 提供的聚合運算元 Sketches 化能力,以 Module 的形式下沉到儲存引擎內部,可以利用很小的空間對取樣資料做高效能的計算,使用者增量寫入後直接返回即時計算結果。使用 TairCPC 的風控業務,作為集團交易鏈路核心模組,直接影響線上整個交易的安全性,該產品最核心的即時計算鏈路進行即時風控的場景使用了 TairCPC。
今年雙十一這個場景在 Tair 持久記憶體型的助力下,節省了約1/3的儲存空間,加上持久記憶體的成本優勢,讓使用者成本大大降低。針對 TairCPC,Tair 持久記憶體型進行了大量的效能最佳化,使得眾多場景下效能與記憶體相當,在慢查的效能上提升了一個數量級,有效的提升了系統穩定性。在幾乎不影響效能的情況下,實現了資料的完全持久化(RPO=0)。

2  TairSQL

2021雙十一 Tair 在核心檢驗場景做出的技術創新,來源於一款內部代號為 TairSQL 的子系統。雙11高峰期,使用者下單自動領券,以及交易成功後資產的核銷都會為資料庫系統帶來相應的寫入流量,毫秒級別的寫入延時必須維持在較低水平才能保證使用者在商品搜尋、詳情展示等導購場景感受到到手價格的一致性變化。
價格一致性場景對於資料庫產品的技術挑戰簡單來講就是:讀寫負載高,延時要求苛刻。為了應對這個場景的技術挑戰,下面的章節簡單介紹下 TairSQL 使用的核心技術。

TairSQL核心技術

針對雙十一的業務特徵,TairSQL 做了持久記憶體資料儲存改造、客戶端連線開銷降低、叢集初始化加速、記憶體使用最佳化等和價效比、穩定性相關的工作,但是服務於高吞吐低延遲的場景,主要得益於持久記憶體儲存、高效事務處理模型、輕量級使用者介面訪問等幾個核心特性:
  • 持久記憶體資料儲存,使用持久記憶體作為資料最終儲存介質,降低了訪問鏈路上的 IO 延遲,無需再進行傳統資料庫產品耗時的快取、磁碟上的資料頻繁淘汰交換,而且針對索引資料、使用者區資料的訪問頻率進行了合理的資料分佈,讓高頻的索引查詢更新在 DRAM 中完成。
  • 事務處理模型,水平擴充套件的叢集中,每個節點服務數十個分割槽,每個分割槽使用單獨執行緒響應的事務處理模型避免了鎖競爭的開銷,提供了更為平滑的 P99 訪問延時。
  • 輕量級使用者介面,輕量級的使用者介面訪問技術降低了使用者每次請求的SQL解析編譯開銷,結合事務處理模型讓使用者的讀寫請求都能夠在數百us內處理完成並返回。
合格的核心技術只是滿足了產品的 physiological needs,產品的 safety needs 需要提供相應的穩定性技術來滿足。

TairSQL穩定性技術

穩定性技術涉及到產品的方方面面,不僅包括開發中針對穩定性的特性,還包括能夠反映系統執行狀態的周邊元件。下面章節主要介紹監控、客戶端、服務端流控三部分穩定性技術。
監控。眾所周知,監控就是系統的眼睛,沒有監控,也不太容易看到產品執行的細節問題。TairSQL 目前主要有兩套監控,一套是用來監控叢集可用性相關的指標,另外一套是 Grafana+Prometheus+TairSQL Exporter 的鏈路來提供秒級的 RT、QPS 資料展示。監控的完善程度直接決定是否能夠發現系統上的一些細節性問題,比如 TairSQL 的秒級監控可以明確展示每個資料節點的 QPS,在熱點訪問沒有觸發流控就能被發現,從最終資料訪問源資料庫的視角熱點無處遁形。
客戶端。TairSQL 使用富客戶端的方式,請求可以直接路由到需要訪問到的節點上。客戶端的資源消耗控制、和服務端的互動開銷、建連斷連在 10K+ 應用節點時對服務端的衝擊、服務端拓撲變化時對客戶端的及時反饋,這些都是客戶端 SDK 上所做的實現考量和最佳化點。同時客戶端和集團內生態 VipServer、鷹眼等產品進行了適配,遮蔽後端節點變化對應用的影響,支援影子錶鏈路的訪問和全鏈路訪問的定位。
服務端流控。流控/背壓是一個成熟的服務端產品必備的功能,TairSQL 目前線上的服務端流控統計部分根據工作佇列佔用的記憶體大小和長度兩個緯度進行限制,根據極限壓測時的狀態作為預設值的參考,流控的觸發階段是相對寬鬆的,只有異常情況才會觸發。恢復階段是較為嚴格的,只有以較高的確信值認定節點已經恢復到正常情況之後,才會解除流控狀態。

四  兄弟系統

雲原生記憶體資料庫 Tair 所做的創新離不開阿里雲完善的基礎設施的支援:
  • 資料庫管控平臺 DBaaS,快速實現阿里雲資料庫提供的安全審計、高可用、彈性伸縮、智慧診斷等通用能力,以及 Tair 提供的資料閃回、全球分佈等企業級能力。針對Tair持久記憶體型,DBaaS 結合阿里雲容器服務 ACK,支援了持久記憶體資源和計算資源的親和性排程以降低持久記憶體訪問延遲,提供持久記憶體的 QoS 策略支援,保障服務的安全可控和產品的一致性體驗。
  • 神龍裸金屬伺服器,提供的持久記憶體系列產品,為雲原生記憶體資料庫Tair提供了彈性服務的基礎,針對突發流量進行針對性最佳化的網路技術讓Tair應對高吞吐場景遊刃有餘,對記憶體等硬體風險的智慧預測讓 Tair 可以提前預見大促高峰期的風險級別進行規避。
  • Aliyun Linux,不僅對持久記憶體硬體進行了適配,還針對Tair獨有的持久記憶體資料快照支援、即時快照延時降低等業務場景提供了針對性的最佳化。

五  總結

Tair 持久記憶體版在2021天貓全球購物節中的表現是雲原生記憶體資料庫 Tair在產品演進跟線上的重要里程碑。Tair 將持續以記憶體/持久記憶體 為核心儲存,重點建設雲原生、混合儲存介質上的資料智慧分佈、線上儲存和即時計算處理一體化等核心能力,加強雲原生記憶體資料庫的產品能力,在同一套系統中提供多種工作負載,幫助客戶的眾多場景真正線上化。
瞭解雲資料庫Redis企業版(Tair)持久記憶體型,請訪問:https://help.aliyun.com/document_detail/183956.html
瞭解英特爾® 傲騰™ 持久記憶體(Optane PMem),請訪問:https://www.intel.com/content/www/cn/zh/architecture-and-technology/optane-dc-persistent-memory.html

《面向雲遊戲的IaaS vGPU技術服務指南》重磅來襲!

點選閱讀原文檢視詳情!

相關文章