列存快照功能简介

更新时间: 2024-11-22 14:00:17

本文介绍列存快照的主要功能特点,以帮助您快速了解列存快照功能。

版本限制

实例版本需要在5.4.20及以上,且引擎版本为MySQL 5.7或MySQL 8.0。

说明

功能特点

列存快照功能可以让您查询到在快照保留时间(最多一年)内的历史数据,通过列存快照功能您可以:

  • 恢复过去任意时间点的数据。

  • 可以对关键时间点的数据进行备份。

  • 可以对过去某一时间点的数据进行计算分析。

与行存快照的区别

  • 行存快照保留时间较短(建议保留时间不超过3天),列存快照允许保留更长时间(最多一年)。更多信息,请参见行存快照功能

  • 列存快照以列存索引的形式保存在OSS对象存储中,行存快照则以Undo Log的形式保存在存储节点的磁盘中。

  • 列存快照可用于引擎版本为MySQL 5.7和MySQL 8.0的PolarDB-X实例,行存快照目前仅在引擎版本为MySQL 8.0的PolarDB-X实例上支持。

  • 因主实例和列存只读实例之间的数据同步延迟,导致列存快照在查询历史数据时可能会存在一定的延迟,行存快照则无此延迟。

功能示例

创建列存快照

列存快照基于列存索引实现,您可以对已有数据表创建列存快照,也可以在创建表的同时创建列存快照。下图为您展示如何为已有的数据表创建列存快照:

image
说明

关于创建列存索引的更多信息,请参见创建列存快照

生成快照点

执行CALL polardbx.columnar_flush()函数会产生一个快照点,并返回一个unsigned long类型的值,代表该快照点的版本(一个与时区无关的时间戳)。下图为您展示如何生成快照点:

image
说明

关于生成快照点的更多信息,请参见生成快照点

查询列存快照

通过SELECT AS OF TSO 语法查询快照点的数据。下图为您展示查询示例:

image
说明

关于查询列存快照的更多信息,请参见查询历史列存快照

上一篇: 行存快照功能 下一篇: 创建列存快照
阿里云首页 云原生数据库 PolarDB 相关技术圈