亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.430618.com 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

作者:黃鵬程(馬格)

 

一、Tair背景介紹

 

(一)什么是阿里云Tair云原生內存數據庫

 

阿里云Tair云原生內存數據庫線上名字為阿里云數據庫redis企業版(又稱阿里云Tair),從2009年開始正式承載集團業務,是一款歷經磨練的企業級產品。它完全兼容Redis的數據結構和通訊協議,包括API接口,并且在內部逐步打磨的過程中,基于Tair研發云上托管云內存數據庫。

Beyond the Cache——阿里云Tair云內存數據庫場景解讀

 

如上圖所示,Tair產品分為三個類型,從性能到性價比有不同的產品排布,下面用1.0X表示開源的Redis的性能與價格,從性能和價格上與三個類型的Tair產品進行對比。

 

  1. Tair性能增強型性能約為開源Redis的兩倍,支持多種常見數據結構,在天貓/淘寶/高德/優酷中大規模使用,并擁有任意時間點恢復/全球分布式/熱點散列等特性。
  2. Tair持久內存型基于Intel傲騰持久內存做的數據庫,后文會重點闡述其特點。
  3. Tair容量存儲型直接對標社區Pika等開源存儲型Redis產品。然后因為我們會用阿里云的高效的高效云盤,所以說整個的功能和性能都會比Pika強很多。

 

Beyond the Cache——阿里云Tair云內存數據庫場景解讀

 

如上圖所示,從內存存儲方面,Tair三個類型的產品適應不同的場景。

 

  • Tair性能增強型

1)數據讀寫頻繁,要求低延遲,支持大連接;

2)成本相對不敏感,以滿足業務性能需求為主。

 

  • Tair持久內存型

1)數據讀寫較頻繁,延遲要求可稍微放寬,存儲數據量有一定較大容量要求;

2)成本控制較之熱數據要求更高。

 

  • Tair容量存儲型

1)數據讀寫密集程度低,延遲要求不高,整體存儲容量要求高;

2)成本是最大考量因素。

 

(二)阿里云Tair面向業務的數據結構讓業務創新更容易

 

在業務方面,阿里云Tair與基于傳統Redis存在許多不一樣的地方,阿里云Tair業務結構如下所示。

Beyond the Cache——阿里云Tair云內存數據庫場景解讀

 

除此之外,阿里云Tair有以下優點:

1)高性能

性能增強型,流量上漲淡然處之,性能是開源Redis的2倍。

2)持久化

持久內存型,數據可靠,方便業務使用,不再擔心數據丟失。(RPO=0)

3)低成本

多種存儲介質,選擇最優性價比,性價比高于ECS自建。

4)豐富數據模型

在社區Redis上提供了更多面向應用的數據結構,應用開發更簡便。

5)企業級能力

全球多活,數據閃回,混合多云(熱點散列)。

 

(三)阿里云Tair歷史

Beyond the Cache——阿里云Tair云內存數據庫場景解讀

 

上圖為Tair的發展歷史。從Tair1.0開始,團隊就孵化出了云Redis社區版和云Memcache,這是線上社區托管的兩個版本。

在Tair1.0的時候,就會整個孵化出來,2.0逐步上云,3.0會孵化出來一款叫GDB的產品,是一款線上的圖數據庫。

再往下是Tair(Redis企業版/Tair 3.0),集團和云上是同一個版本,有很多種形態來支持用戶在各種業務場景下的需求。

 

二、Tair功能介紹

 

(一)做一個不丟數據的內存數據庫—Tair持久內存型

 

我們希望做一個不丟數據的數據庫,做法是通過新硬件和新軟件來進行。

 

1.新硬件

Beyond the Cache——阿里云Tair云內存數據庫場景解讀

 

  • 引入英特爾® 傲騰™ 數據中心級持久內存;
  • 與DRAM內存相近的性能表現,而且其大容量和非易失性的特性還可幫助系統獲得更優的可用性;
  • 它相比于DRAM內存的成本和容量優勢,也可幫助客戶有效地降低總擁有成本。

 

Beyond the Cache——阿里云Tair云內存數據庫場景解讀

 

上圖為存儲介質圖,速度延遲從上到下逐步增大,相反,容量逐步減少,成本逐步降低。Storage Class Memory處于中間,性價比較高。

 

2.新軟件

 

  • 模式選擇

新軟件的開發模式方案有兩種,分別是內存模式(Memory Mode)應用程序直接訪問模式(App Direct Mode)

Beyond the Cache——阿里云Tair云內存數據庫場景解讀

 

在內存模式下,應用和OS將其視為易失性內存池,雖對應用透明,但掉電即失,因此不采用。

在應用程序直接訪問模式下,持久內存和 DRAM充當獨立內存資源,通過構建符合Redis協議和數據結構的軟件利用兩塊存儲資源構建兼容Redis、具備命令級持久化能力的內存數據庫。

 

  • 全新的挑戰

 

Beyond the Cache——阿里云Tair云內存數據庫場景解讀

 

我們選擇重新寫兼容Redis的東西,而不是在Redis基礎上進行更改,是因為新軟件有著全新的挑戰:

1)替代原有的內存分配器,同時要保證內存分配器元數據的持久化;

2)Redis數據結構與索引的持久化要保持一致性;

3)持久內存和易失內存如何協同工作,讓整個數據庫高性能工作,同時還具備強大的持久化能力。

 

3.產品化能力

 

上文結合軟硬件的能力闡述了如何去構建持久化內存的形態,下面可以看一下所帶來的成果。

Beyond the Cache——阿里云Tair云內存數據庫場景解讀

 

  • 消除aofrewrite與fsync的無Fork設計,服務更順滑,P95延時較之內存版Redis更低更穩定;
  • 讀寫性能吞吐為內存版Redis的90%以上。

 

Beyond the Cache——阿里云Tair云內存數據庫場景解讀

 

  • 原生命令級持久化能力,操作寫入即持久化;
  • 緩存主存合一成為可能,成本更低,架構更優雅。

 

4.應用場景

 

應用場景主要分為如下兩種。

 

場景一:大數據量、高性能、成本的綜合選型考慮

  • 機器學習平臺、推薦系統等計算數據對性能和容量的要求很高;
  • 全內存又使得成本壓力巨大;
  • 可采用Tair持久內存型以有效降低成本,并能夠保持高性能運行;
  • 同時用戶也無需為降本而綜合使用其他數據存儲,有效地平衡了系統復雜度與成本。

 

場景二:用作持久化數據存儲

  • 游戲、直播、數據分析中大數據結果集對外提供查詢服務等場景可以使用;
  • 可采用Tair持久內存型作為數據最終的存儲;
  • 對比緩存+主存的兩層架構,數據同樣可靠;
  • 性價比更高,代碼更簡化,架構更優雅。

 

(二)做一個具備時光機能力的數據庫--數據閃回

Beyond the Cache——阿里云Tair云內存數據庫場景解讀

 

我們希望這個內存數據庫具備有時光機能力。時光機能力表示可以將數據恢復到過去指定的任何時間點,也稱為數據閃回,它有如下兩大特點:

 

  • 七天內任意時間點的數據恢復

1)Backup/Restore的終極形態

2)支持按秒級的數據恢復(可支持到按條)

3)防止刪庫跑路場景

4)Clone & Switching:隨時回切

 

  • 根據按照指定Key或者Key Glob Pattern進行原地數據部分恢復

1)靈活應對部分數據異常

2)其余未指定數據不變化

3)游戲數據回檔實現

 

(三)做一個全球多地寫入的數據庫--全球多活

 

1.基本概念

 

我們希望數據庫能夠多地寫入,把多地的內存數據庫進行多活操作,用戶可以在多地訪問與寫入,我們幫用戶做數據按序同步。

Beyond the Cache——阿里云Tair云內存數據庫場景解讀

 

2. 三地六向同步

Beyond the Cache——阿里云Tair云內存數據庫場景解讀

 

  • 全區全服同時在線,解決漫游(roaming)和DNS漂移問題。
  • 數據本地訪問(locally data access)的流暢性。
  • 單元化:獨立部署,區域容災,按需調度。
  • 數據的高可靠和性能提升。

 

3. 低時延SLA保障

Beyond the Cache——阿里云Tair云內存數據庫場景解讀

 

  • 推送模式(Push),Latency= T1 (binlog落盤時延)+ T2 (Replicator發現時延) + T3 (Apply時延)

1)整體看,T1 + T2 穩定在10ms,最差100ms;T3基本上時延是網絡RTT。

2)忙時下不敏感,replicator具備獨立的資源,點到點同步通道帶寬穩定。

 

  • 適合寫入量大,對平均時延要求高的客戶。
  • 目前全球分布式緩存只能做3地6向。
  • 適合跨域多活及單元化業務(阿里內部經驗)。
  • Tair全球同步時延測試白皮書:https://help.aliyun.com/document_detail/199010.html

 

4. Session場景

Beyond the Cache——阿里云Tair云內存數據庫場景解讀

 

Session的容災至關重要

  • 隨著業務擴展,session訪問壓力幾何級數增長。
  • 對抖動敏感,遠距離訪問體驗差。
  • 單元化部署,全球化部署。
  • 除去容災(跨域備份),還要能就近讀寫(跨域雙活,多活)。

 

5. 游戲場景

Beyond the Cache——阿里云Tair云內存數據庫場景解讀

 

架構特點:玩家可就近接入,本身邏輯就近計算數據讀取,基本不存在數據一致性問題,靈活調整分布式節點。

可以靈活跨地域部署,數據通過Tair同步延遲根據網絡速度決定通常在100ms以下。

場景:聊天室,彈幕信息同步;跨服對戰;全球道具商城。

 

6.出行場景

 

Tair也在高德地圖中深度使用,并解決了出行場景的一些問題。

 

使用前:導航時地理位置信息推送問題

  1. DNS漂移是一個邊界效應,通常大概影響邊界上5%-7%的用戶。
  2. 在導航中跨越邊界時,會大量出現交叉訪問不同數據區的場景;業務邏輯復雜,可靠性低,用戶體驗差。

 

使用后:高德交通三地六向同步(Tair only)

  1. Redis-enterprise跨域多活提供百萬OPS每秒的數據同步。
  2. 交通在三地都可高速寫入/訪問;極高性能的優勢提供流暢的用戶體驗。
  3. 用戶可以靈活的在SDK層控制讀寫,比例等。

 

(四)做一個有計算的內存數據庫

 

1. TairCPC高精度計數

Beyond the Cache——阿里云Tair云內存數據庫場景解讀

 

TairCPC是一種數據的壓縮算法(sketches)的內存實現,可以利用很小的空間對采樣數據做高性能的計算,適合在實時和流式計算場景下做高性能的風控和安全場景。

 

  • 主要特性

1)內存占用低

2)增量讀寫,IO最小化

3)毫秒級高性能去重

4)超高去重精度

5)誤差率穩定收斂

 

  • 適用場景

1)想以較低的內存實現對海量數據的去重計算;

2)容忍一定的四舍五入的誤差率;

3)適用于實時計算的滾窗和滑窗去重。

 

2. TairTS時序數據處理

Beyond the Cache——阿里云Tair云內存數據庫場景解讀

 

TairTS是基于Redis Module開發的時序數據結構,提供低時延高并發的內存讀寫訪問,以及快速的過濾聚合查詢功能。將存儲與計算集于一身,極大地簡化用戶處理時序數據的流程,結合Tair持久內存型單集群最大規模可達65T。

 

  • 主要特性

1)TairTS相對于TSDB類傳統時序數據庫,可提供更快的寫入性能,并提供數10倍的查詢性能。

2)針對小規模數據場景,TairTS可將批量查詢與聚合計算集成到單條命令中,減少網絡交互,實現毫秒級響應。

3)針對大規模數據場景,可利用索引命令,將大規模數據,分批查詢與聚合,實現秒級響應。

 

  • 適用場景

1)監控數據的存儲與計算

2)車聯網、工業互聯網實時IOT數據處理

3)APM秒級監控等

 

三、面向未來

 

Beyond the Cache——阿里云Tair云內存數據庫場景解讀

 

最后談一下未來面對的事情,關注云產品的人可能都知道存儲計算分離,我們希望在這基礎上能再進行一層分離。將內存也分離出來,做一個大的內存存儲池。希望我們的再分離一層,就是把內存也分離出來,因為現在可能是一個大的存儲池,為用戶提供更加彈性的服務。

分享到:
標簽:Tair
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定