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