概述

本文档介绍了PolarDB MySQL版数据与缓存一站式功能,如功能概览、适用场景、核心优势、技术原理等。

简介

传统的数据与缓存一站式的解决方案通常为Cache Aside模式。Cache Aside模式下,持久化层和缓存层的一致性问题主要是“双写”,即数据既在数据库中保存一份,又在缓存中保存一份,通过应用侧来维护两份数据的一致性。这种情况下会遇到很多数据一致性的问题,比如数据库和缓存的操作先后顺序、缓存是更新还是删除、数据库和缓存的操作原子性如何保证、操作失败后如何重试以及同时保证数据一致等。因此,在这种模式下大部分应用会选择牺牲一定的数据一致性。

为了面向在线业务场景构建一套完整的数据库+缓存的解决方案,实现对在线业务场景的数据访问、存储和加速,为客户提供一站式的解决方案,PolarDB MySQL版推出了数据与缓存一站式的功能。

发布日期

2024年3月12日

说明

该功能当前为灰度发布中,您可单击此处申请试用。

支持地域

新加坡。

技术原理

PolarDB MySQL版数据与缓存一站式的功能中,将Tair作为PolarDB集群的RO节点——Tair缓存节点,并向用户提供关系型数据库和缓存的一站式解决方案。

下图为数据与缓存一站式功能的技术架构图:

image
  • 提供基于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元/小时

说明

使用说明

性能对比

PolarDB MySQL版的Tair缓存节点拥有接近Redis的性能。关于详细的性能对比,具体请参见性能对比