建立Tair執行個體前,您需要結合產品效能、價格、業務情境、工作負載等因素,做出性價比與穩定性最優的決策。本文圍繞以上因素,著重介紹執行個體類型、引擎版本、架構、儲存介質,為您的選型提供相關參考。
選項流程
通常,您需要結合產品效能、價格、業務情境(例如用作快取或記憶體資料庫)、工作負載等因素,選擇執行個體的類型與規格,推薦的選型流程如下:
在選型過程中 ,您可以在價格計算機中擷取不同執行個體規格的價格資訊。
選型操作 | 說明 |
Tair(Redis OSS-compatible)在提供Redis開源版的同時,還基於阿里雲內部使用的Tair產品研發並推出Tair(企業版),為您提供更強的效能、更多的資料結構和更靈活的儲存方式。 | |
推薦選擇雲原生版。 | |
Tair(Redis OSS-compatible)支援標準架構、叢集架構和讀寫分離架構,可滿足不同的業務情境對業務讀寫能力、資料量和效能的要求。 | |
當執行個體因不可預料的原因(例如裝置故障、機房斷電等)發生故障,容災機制可用於保障資料的一致性和業務可用性。Tair(Redis OSS-compatible)提供多種災備方案供您選擇,可滿足不同的業務情境。 | |
推薦使用更新的大版本以支援更多的功能和特性。 | |
提前預估可能消耗的記憶體容量,可以協助節約成本、避免頻繁變更規格給業務帶來的影響。 | |
完成上述執行個體的選型後,您可以通過控制台或調用OpenAPI建立Redis執行個體。 | |
當您完成選型並開始使用Redis執行個體後,您需要觀察業務正常運行狀態下的效能監控資訊,驗證當前執行個體的服務能力是否符合預期。 |
選擇開源版或企業版
Tair(Redis OSS-compatible)在提供Redis開源版的同時,還基於阿里雲內部使用的Tair產品研發並推出企業級記憶體資料庫產品,即Tair(企業版)。Tair(企業版)從訪問延時、持久化需求、整體成本這三個核心維度考量,基於DRAM、NVM和ESSD雲端硬碟儲存介質,推出了多種系列,為您提供更強的效能、更多的資料結構和更靈活的儲存方式,滿足不同情境下的業務需求。
Tair(企業版)在相容Redis開源版的基礎上,還支援了一些進階特性(例如通過資料閃回按時間點恢複資料、代理查詢快取、全球多活等),關於Redis開源版和Tair(企業版)的能力和效能的詳細對比,請參見特性對比。
各系列支援的命令與參數,請參見Redis命令支援概覽和設定執行個體參數。
類別 | 系列 | 特點 | 適用情境 |
Tair(企業版) |
| 以效能為中心的關鍵業務情境。 | |
| 需要高效能且高資料持久化要求,且成本作為次要考慮因素的資料緩衝與儲存情境。 | ||
| 大儲存、低訪問密度、低訪問延遲要求,且成本作為首要考慮因素的資料存放區情境。 | ||
Redis開源版 | 無 | 相容開源Redis,高效能。 | 適用於標準化Redis使用和遷移情境。 |
選擇雲原生版或經典版
雲原生版或經典版的對比如下。
對比項 | 雲原生執行個體(推薦) | 經典執行個體 |
架構 | 基於新一代管控架構,更靈活、擴容能力更強。後續的產品將基於此架構演化。 | 基於傳統管控架構。叢集架構執行個體為預設固定規格,不支援自訂。 |
擴容能力 |
|
|
選擇部署架構
Tair(Redis OSS-compatible)支援三種不同的部署架構,可滿足不同的業務情境對業務讀寫能力、資料量和效能的要求。
下文預設介紹高可用類型的執行個體架構。標準架構和叢集架構還支援單副本類型,但單副本類型無高可用功能,僅適用於測試等純緩衝情境。
執行個體架構 | 簡介 | 適用情境 |
採用主從(master-replica)模式搭建。主節點提供日常服務訪問,從節點提供HA高可用。當主節點發生故障,系統會自動在30秒內切換至從節點,保障業務平穩運行。 |
| |
|
| |
|
說明 由於資料同步至唯讀節點存在一定延遲,不適用於資料一致性要求高的情境,如對資料一致性要求高建議選用叢集架構。 |
叢集架構可選擇不同的串連模式:
代理模式:用戶端的請求由代理節點轉寄至資料分區,可享受代理節點帶來的負載平衡、讀寫分離、容錯移轉、代理查詢快取(僅記憶體型支援)、長串連等特效能力。更多資訊,請參見Tair Proxy特性說明。
直連模式:可通過直連地址繞過代理,直接存取後端的資料分區(類似串連開源Redis叢集)。相比代理模式,直連模式節約了通過代理處理請求的時間,可以在一定程度上提高Tair服務的響應速度。
選擇容災方案
災備方案 | 災備層級 | 說明 |
★★★☆☆ | 主從節點部署在同一可用性區域中的不同機器上,當任一節點發生故障時,由高可用HA(High Availability)系統自動執行故障切換,避免單點故障引起的服務中斷。 | |
★★★★☆ | 主從節點分別部署在同一地區下兩個不同的可用性區域,當任一可用性區域因電源、網路等不可抗因素失去通訊時,高可用HA系統將執行故障切換,確保整個執行個體的持續可用。 | |
★★★★★ | 由多個子執行個體構成全球分布式執行個體,所有子執行個體通過同步通道保持即時資料同步,由通道管理器負責子執行個體的健康狀態監測、主從切換等等例外狀況事件的處理,適用於異地災備、異地多活、應用就近訪問、分攤負載等情境。更多介紹,請參見全球多活。 |
選擇大版本
可根據業務需求選擇大版本(各大版本均長期維護),推薦您使用較新的大版本以支援更多的特性,更多資訊請參見Redis開源版大版本新特性與相容性。
大版本的選擇存在一定的約束,具體如下:
執行個體及其建立方法 | 支援的執行個體類型 | 支援的引擎版本 | 支援的架構 |
雲原生版執行個體 | Redis開源版 | 7.0 6.0 5.0 | 標準架構 叢集架構 讀寫分離架構 |
Tair(企業版)記憶體型 | 相容Redis 7.0 相容Redis 6.0 相容Redis 5.0 | 標準架構 叢集架構 讀寫分離架構 | |
Tair(企業版)持久記憶體型 | 相容Redis 6.0 | 標準架構 叢集架構 讀寫分離架構 | |
Tair(企業版)磁碟型 | 相容Redis 6.0 | 標準架構 | |
經典版執行個體 | Redis開源版 | 5.0 4.0 | 叢集架構 標準架構 讀寫分離架構 |
Tair(企業版)記憶體型 | 5.0 | 叢集架構 標準架構 讀寫分離架構 |
預估記憶體規格
通常情況下,您需要考慮下述因素預估可能消耗的記憶體容量並在建立執行個體時選擇對應的規格,該操作有助於節約成本、避免頻繁變更規格給業務帶來的影響,助力業務快速上雲。
在確定Tair(Redis OSS-compatible)執行個體的記憶體容量時,首先要考慮儲存的業務資料大小,除此之外,您還需額外考慮Redis自身運行佔用的必要記憶體開銷(例如進程中繼資料、複製緩衝區、片段等)。
不同於自建Redis資料庫,選用Tair(Redis OSS-compatible)時,您無需再額外考慮持久化Fork寫時複製佔用的記憶體開銷以及增強功能(如安全白名單、審計、大Key、熱Key等)的記憶體開銷,這些開銷由阿里雲承擔,不計入購買的執行個體記憶體容量。
Key的資料類型、長度和數量。
說明如果使用可包含元素的資料類型(例如Hash),您還需要計算每個Key中,各元素的數量和長度。
Value的長度。
Key的到期時間與逐出策略。
訪問模型,例如大量的用戶端串連、使用Lua指令碼或事務等,均需要為其預留適量的記憶體。
中長期的業務增長情況。
建立Redis執行個體
完成上述執行個體的選型後,您可以通過控制台或調用OpenAPI建立Tair執行個體:
控制台:建立Redis執行個體。
OpenAPI:CreateInstance。
服務能力驗證與調整
Tair(Redis OSS-compatible)支援非常豐富的監控指標,當您完成選型並開始使用Tair執行個體後,建議您觀察業務正常運行狀態下的效能監控資訊,驗證當前執行個體的服務能力是否符合預期。具體操作,請參見查看監控資料。
您也可以使用Redis-benchmark執行效能壓測進行驗證,更多資訊,請參見Redis-benchmark使用說明。
例如,當您通過效能監控發現執行個體記憶體使用量率一直較高,您需要先排查記憶體使用量率較高的原因,如無異常,可升級至更高的規格,具體操作,請參見變更執行個體配置。關於執行個體效能類問題的排查方法,請參見: