本文档介绍了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的性能。关于详细的性能对比,具体请参见性能对比。