本文檔介紹了PolarDB MySQL版數據與緩存一站式功能,如功能概覽、適用場景、核心優勢、技術原理等。
簡介
傳統的數據與緩存一站式的解決方案通常為Cache Aside模式。Cache Aside模式下,持久化層和緩存層的一致性問題主要是“雙寫”,即數據既在數據庫中保存一份,又在緩存中保存一份,通過應用側來維護兩份數據的一致性。這種情況下會遇到很多數據一致性的問題,比如數據庫和緩存的操作先后順序、緩存是更新還是刪除、數據庫和緩存的操作原子性如何保證、操作失敗后如何重試以及同時保證數據一致等。因此,在這種模式下大部分應用會選擇犧牲一定的數據一致性。
為了面向在線業務場景構建一套完整的數據庫+緩存的解決方案,實現對在線業務場景的數據訪問、存儲和加速,為客戶提供一站式的解決方案,PolarDB MySQL版推出了數據與緩存一站式的功能。
發布日期
2024年3月12日
該功能當前為灰度發布中,您可單擊此處申請試用。
支持地域
新加坡。
技術原理
PolarDB MySQL版數據與緩存一站式的功能中,將Tair作為PolarDB集群的RO節點——Tair緩存節點,并向用戶提供關系型數據庫和緩存的一站式解決方案。
下圖為數據與緩存一站式功能的技術架構圖:
提供基于Tair內存引擎的能力與Redis接口語義兼容性,并將其融合到PolarDB作為RO節點支持Cache訪問。
基于PolarStore的數據訪問,提供高性能緩存,基于PolarDB的SCC功能(全局一致性(高性能模式)),提供了強一致性能力。
Tair Proxy和Polar Proxy融合,提供了統一的Proxy。
核心優勢
數據庫與緩存一致性
提供開箱即用的一站式能力,替換傳統的MySQL+緩存+MQ的方案,成本更低
提供了數據強一致性,業務無需額外開發,即可解決一致性問題;同時無需自行運維額外的一致性組件,節約了MQ、同步組件等的購買和運維成本。
豐富的PolarDB產品能力:提供PolarDB+Tair的能力,同時提供關系型數據庫+Key-Value等NoSQL數據庫的能力,利用Tair豐富的數據結構,滿足多樣化的業務場景。
優異的性能:PolarDB MySQL版的Tair緩存節點擁有接近Redis的性能。
版本要求
PolarDB MySQL版支持數據和緩存一站式功能的集群需滿足如下要求:
數據庫引擎版本:8.0.2版本,且內核小版本需為8.0.2.2.21及以上
產品版本:標準版
CPU架構:X86
存儲類型:PSL4和PSL5
高壓縮引擎(X-Engine)不支持數據和緩存一站式功能,無法添加Tair緩存節點。
數據和緩存一站式功能與列存索引(IMCI)互斥。若集群中已有只讀列存節點,則不支持在該集群中添加Tair緩存節點。
費用說明
該功能只收取Tair緩存節點的費用。
Tair緩存節點按照普通的計算節點收費,當前支持的規格與價格見下表。其中,價格以中國內地地域為例。
規格類型 | 節點規格碼 | CPU和內存 | 包月價格(中國內地地域) | 按量付費每小時價格(中國內地地域) |
獨享規格 | polar.mysql.x8.medium.c | 2核16 GB | 490元 | 1.02元/小時 |
polar.mysql.x8.large.c | 4核32 GB | 980元 | 2.04元/小時 | |
polar.mysql.x8.xlarge.c | 8核64 GB | 1930元 | 4.02元/小時 | |
polar.mysql.x8.2xlarge.c | 16核128 GB | 3800元 | 7.92元/小時 | |
polar.mysql.x8.4xlarge.c | 32核256 GB | 7610元 | 15.85元/小時 | |
通用規格 | polar.mysql.g8.medium.c | 2核16 GB | 440元 | 0.92元/小時 |
polar.mysql.g8.large.c | 4核32 GB | 880元 | 1.83元/小時 | |
polar.mysql.g8.xlarge.c | 8核64 GB | 1760元 | 3.67元/小時 |
關于以上各個規格詳細的規格參數,請參見標準版計算節點規格。
關于更多地域的Tair節點價格信息,請參見PolarDB價格計算器。
使用說明
性能對比
PolarDB MySQL版的Tair緩存節點擁有接近Redis的性能。關于詳細的性能對比,具體請參見性能對比。