列存快照功能簡(jiǎn)介
本文介紹列存快照的主要功能特點(diǎn),以幫助您快速了解列存快照功能。
版本限制
實(shí)例版本需要在5.4.20及以上,且引擎版本為MySQL 5.7或MySQL 8.0。
實(shí)例版本的規(guī)則說(shuō)明,請(qǐng)參見(jiàn)版本說(shuō)明。
實(shí)例版本的查看方式,請(qǐng)參見(jiàn)查看實(shí)例版本。
功能特點(diǎn)
列存快照功能可以讓您查詢(xún)到在快照保留時(shí)間(最多一年)內(nèi)的歷史數(shù)據(jù),通過(guò)列存快照功能您可以:
恢復(fù)過(guò)去任意時(shí)間點(diǎn)的數(shù)據(jù)。
可以對(duì)關(guān)鍵時(shí)間點(diǎn)的數(shù)據(jù)進(jìn)行備份。
可以對(duì)過(guò)去某一時(shí)間點(diǎn)的數(shù)據(jù)進(jìn)行計(jì)算分析。
與行存快照的區(qū)別
行存快照保留時(shí)間較短(建議保留時(shí)間不超過(guò)3天),列存快照允許保留更長(zhǎng)時(shí)間(最多一年)。更多信息,請(qǐng)參見(jiàn)行存快照功能。
列存快照以列存索引的形式保存在OSS對(duì)象存儲(chǔ)中,行存快照則以Undo Log的形式保存在存儲(chǔ)節(jié)點(diǎn)的磁盤(pán)中。
列存快照可用于引擎版本為MySQL 5.7和MySQL 8.0的PolarDB-X實(shí)例,行存快照目前僅在引擎版本為MySQL 8.0的PolarDB-X實(shí)例上支持。
因主實(shí)例和列存只讀實(shí)例之間的數(shù)據(jù)同步延遲,導(dǎo)致列存快照在查詢(xún)歷史數(shù)據(jù)時(shí)可能會(huì)存在一定的延遲,行存快照則無(wú)此延遲。
功能示例
創(chuàng)建列存快照
列存快照基于列存索引實(shí)現(xiàn),您可以對(duì)已有數(shù)據(jù)表創(chuàng)建列存快照,也可以在創(chuàng)建表的同時(shí)創(chuàng)建列存快照。下圖為您展示如何為已有的數(shù)據(jù)表創(chuàng)建列存快照:
關(guān)于創(chuàng)建列存索引的更多信息,請(qǐng)參見(jiàn)創(chuàng)建列存快照。
生成快照點(diǎn)
執(zhí)行CALL polardbx.columnar_flush()
函數(shù)會(huì)產(chǎn)生一個(gè)快照點(diǎn),并返回一個(gè)unsigned long
類(lèi)型的值,代表該快照點(diǎn)的版本(一個(gè)與時(shí)區(qū)無(wú)關(guān)的時(shí)間戳)。下圖為您展示如何生成快照點(diǎn):
關(guān)于生成快照點(diǎn)的更多信息,請(qǐng)參見(jiàn)生成快照點(diǎn)。
查詢(xún)列存快照
通過(guò)SELECT AS OF TSO
語(yǔ)法查詢(xún)快照點(diǎn)的數(shù)據(jù)。下圖為您展示查詢(xún)示例:
關(guān)于查詢(xún)列存快照的更多信息,請(qǐng)參見(jiàn)查詢(xún)歷史列存快照。