双11特刊|购物车实时显示到手价,看云原生内存数据库Tair如何提升用户体验?
阿里云自研內(nèi)存數(shù)據(jù)庫Tair誕生于2009年,是一種支持高并發(fā)低延遲訪問的云原生內(nèi)存數(shù)據(jù)庫,完全兼容Redis,已歷經(jīng)多年雙11大促考驗,提供核心在線訪問加速能力,顯著提升系統(tǒng)吞吐量。
作為雙11大促承載流量洪峰的利器,Tair支撐了電商交易核心體驗場景。不僅在數(shù)十億QPS的峰值下保持著亞毫秒級別的順滑延遲,同時在電商交易核心體驗場景上也做出了技術(shù)創(chuàng)新。
2021雙十一Tair在核心檢驗場景做出的技術(shù)創(chuàng)新,來源于一款內(nèi)部代號為TairSQL的子產(chǎn)品,TairSQL通過持久內(nèi)存存儲、高效事務(wù)處理模型、輕量級用戶接口訪問等最新技術(shù)來服務(wù)相應(yīng)場景,支撐新零售實時優(yōu)惠計算引擎獲取用戶級別的優(yōu)惠券、紅包、積分等資產(chǎn)數(shù)據(jù),確保價格一致性。助力購物車場景首次實現(xiàn)高并發(fā)流量下、實時顯示券后到手價,讓用戶對商品實付價一目了然,顯著提升消費者購物體驗和用戶效率。
雙11高峰期,用戶下單自動領(lǐng)券,以及交易成功后資產(chǎn)的核銷都會為數(shù)據(jù)庫系統(tǒng)帶來相應(yīng)的寫入流量,毫秒級別的寫入延時必須維持在較低水平才能保證用戶在商品搜索、詳情展示等導購場景感受到到手價格的一致性變化。在激增的寫入給系統(tǒng)帶來挑戰(zhàn)的同時,TairSQL需要響應(yīng)高吞吐的查詢負載,而且延時要求更為苛刻。
TairSQL使用持久內(nèi)存作為數(shù)據(jù)最終存儲介質(zhì),降低了訪問鏈路上的IO延遲,無需再進行傳統(tǒng)數(shù)據(jù)庫產(chǎn)品耗時的緩存、磁盤上的數(shù)據(jù)頻繁淘汰交換,而且針對索引據(jù)、用戶區(qū)數(shù)據(jù)的訪問頻率進行了合理的數(shù)據(jù)分布,讓高頻的索引查詢更新DRAM中完成;
水平擴展的集群中,每個節(jié)點服務(wù)數(shù)十個分區(qū),每個分區(qū)使用單獨線程響應(yīng)的事務(wù)處理模型避免了鎖競爭的開銷,提供了更為平滑的P99訪問延時;輕量級的用戶接口訪問技術(shù)降低了用戶每次請求的SQL解析編譯開銷,結(jié)合事務(wù)處理模型讓用戶的讀寫請求都能夠在數(shù)百us內(nèi)處理完成并返回。
TairSQL最為關(guān)鍵的持久內(nèi)存存儲技術(shù)是Tair在技術(shù)應(yīng)用上持續(xù)創(chuàng)新的又一里程碑:基于英特爾(Intel)傲騰?持久化內(nèi)存硬件,Tair于2018年正式開始投入持久化內(nèi)存的研究和落地,成功應(yīng)用于當年雙11的電商商品核心集群中,服務(wù)于KV緩存場景,大幅降低了成本,是中國首個在生產(chǎn)環(huán)境正式部署應(yīng)用Intel 持久化內(nèi)存硬件的產(chǎn)品。
Tair持久內(nèi)存型兼容Redis,數(shù)據(jù)持久化不依賴傳統(tǒng)磁盤,確保每個操作持久化的同時,提供近乎Redis社區(qū)版的吞吐和延時,極大提升了業(yè)務(wù)數(shù)據(jù)可靠性。基于Tair持久內(nèi)存架構(gòu)的TairSQL,兼容SQL寫入查詢,服務(wù)于高吞吐下對延時要求苛刻的業(yè)務(wù),單集群峰值可達400w寫、800w讀,查詢延時穩(wěn)定在1.5ms以下,進一步拓寬了Tair支持的計算場景的廣度。
不僅在新的計算場景應(yīng)用上不斷探索,Tair針對已覆蓋的場景也時刻關(guān)注系統(tǒng)運行細節(jié)和日常用戶反饋,深耕細作持續(xù)優(yōu)化:
通過服務(wù)越來越多云上和集團內(nèi)的用戶場景,Tair收集的用戶反饋對支持的場景范圍、訪問性能、性價比等方面都提出了更高的要求。基于這些需求,Tair持久內(nèi)存型攻關(guān)了核心優(yōu)化技術(shù),讓數(shù)據(jù)在DRAM、持久內(nèi)存之間動態(tài)自適應(yīng)移動,確保用戶索引占用空間、數(shù)據(jù)區(qū)占用空間維持在固定比例范圍內(nèi),滿足了不同用戶場景下的數(shù)據(jù)存儲需求。
同時與Aliyun Linux操作系統(tǒng)內(nèi)核技術(shù)深度結(jié)合,兼容了主備復制、實時備份等場景對于數(shù)據(jù)快照的需求,并大幅度降低了超大內(nèi)存占用空間下實時快照的延時影響。除了覆蓋更多支持場景和進行高頻場景的性能優(yōu)化,在提供更高性價比方面,Tair持久內(nèi)存型精簡了自主研發(fā)的持久內(nèi)存存儲結(jié)構(gòu)的元數(shù)據(jù)占用空間,并針對List、Hash等用戶高頻使用的數(shù)據(jù)結(jié)構(gòu)進行精細化的透明壓縮,在維持數(shù)據(jù)持久化性能穩(wěn)定下,實現(xiàn)1-2倍的數(shù)據(jù)壓縮率,大幅降低了數(shù)據(jù)持久化版本的硬件成本。
在2020年雙十一中首次登場的TairCPC,今年也將能力下沉到了Tair持久內(nèi)存型產(chǎn)品中。TairCPC提供的聚合算子Sketches化能力,以Module的形式下沉到存儲引擎內(nèi)部,可以利用很小的空間對采樣數(shù)據(jù)做高性能的計算,用戶增量寫入后直接返回實時計算結(jié)果。使用TairCPC的風控業(yè)務(wù),作為集團交易鏈路核心模塊,直接影響線上整個交易的安全性,該產(chǎn)品最核心的實時計算鏈路進行實時風控的場景使用了TairCPC。
今年雙十一這個場景在Tair持久內(nèi)存型的助力下,節(jié)省了約1/3的存儲空間,加上持久內(nèi)存的成本優(yōu)勢,讓用戶成本大大降低。針對TairCPC,Tair持久內(nèi)存型進行了大量的性能優(yōu)化,使得眾多場景下性能與內(nèi)存相當,在慢查的性能上提升了一個數(shù)量級,有效的提升了系統(tǒng)穩(wěn)定性。在幾乎不影響性能的情況下,實現(xiàn)了數(shù)據(jù)的完全持久化(RPO=0)。
Tair所做的創(chuàng)新,離不開阿里云完善的基礎(chǔ)設(shè)施的支持:云原生數(shù)據(jù)庫管控平臺DBaaS快速實現(xiàn)阿里云數(shù)據(jù)庫提供的安全審計、高可用、彈性伸縮、智能診斷等通用能力,以及Tair提供的數(shù)據(jù)閃回、全球分布等企業(yè)級能力。針對Tair持久內(nèi)存型,DBaaS結(jié)合阿里云容器服務(wù) ACK,支持了持久內(nèi)存資源和計算資源的親和性調(diào)度以降低持久內(nèi)存訪問延遲,提供持久內(nèi)存的QoS策略支持,保障服務(wù)的安全可控和產(chǎn)品的一致性體驗;
神龍裸金屬服務(wù)器提供的持久內(nèi)存系列產(chǎn)品,為Tair提供了彈性服務(wù)的基礎(chǔ),針對突發(fā)流量進行針對性優(yōu)化的網(wǎng)絡(luò)技術(shù)讓Tair應(yīng)對高吞吐場景游刃有余,對內(nèi)存等硬件風險的智能預測讓Tair可以提前預見大促高峰期的風險級別進行規(guī)避;
Aliyun Linux不僅對持久內(nèi)存硬件進行了適配,還針對Tair獨有的持久內(nèi)存數(shù)據(jù)快照支持、實時快照延時降低等業(yè)務(wù)場景提供了針對性的優(yōu)化。
2021天貓雙11雖已落下帷幕,但我們不會停下腳步,云原生內(nèi)存數(shù)據(jù)庫Tair將不斷探索新的應(yīng)用場景,為用戶提供更優(yōu)質(zhì)、更全面的數(shù)據(jù)庫服務(wù)。
原文鏈接
本文為阿里云原創(chuàng)內(nèi)容,未經(jīng)允許不得轉(zhuǎn)載。?
總結(jié)
以上是生活随笔為你收集整理的双11特刊|购物车实时显示到手价,看云原生内存数据库Tair如何提升用户体验?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 技术人生第5篇——浅谈如何成为技术一号位
- 下一篇: 21克:仅需3天,我们就用Quick B