本文为您介绍冷数据归档的常见问题。
历史归档数据保存在哪里?
所有被归档的历史数据都会被保存到OSS存储。
创建归档表是一个怎样的过程?
创建归档表实质是一个创建列存索引的过程。详细信息,请参见冷数据的归档过程。
业务能否使用原来的表名来查询归档数据?
可以,但需要您开通单独的列存只读实例。
创建归档表之后,您可以使用如下两种方式查询归档表:
应用直连列存只读实例:归档表和原表同名,可以直接查询,无需修改业务SQL。
应用直连主实例:归档表和原表不同名,应用需要修改业务SQL。
说明
两种方式使用的URL不同,请您自行判断需要连接的实例。
业务TTL时间列的范围查询是否支持自动路由到在线表或归档表?
暂不支持。应用需要自行判断业务查询是查在线数据还是归档数据。
业务TTL时间列的范围查询若同时跨越在线数据与归档数据,应用该如何处理?
使用归档表进行查询。因为归档表具有提前归档的特性,会保存在线所有的数据,所以当存在查询跨在线表和归档表数据时,您可以直接使用归档表查询。
如果按行清理冷数据的速度若跟不上在线表的新增数据的产生速度,这种情况如何处理?
TTL表按行清理的算法,默认是“从前往后”逐渐清理的思路。 但如果清理速度比新数据的产生速度慢,目前有3种处理办法:
调整按行清理的速度限制,提升清理速度,但会占用DN更多的CPU和IOPS资源。
变更在线表的分区方案,改为按时间列分区,并按分区清理。
手动使用Online DDL重建新表,并保留最近数据到新表,以实现对历史数据的清理。
已归档的历史数据是否允许被修改?
无法修改。冷数据归档的整体方案为提前归档、定期清理,TTL表中已被清理的冷数据,业务无法在对其修改。可以在清理之前使用DML进行修改,并且这些修改会通过Binlog的方式自动同步到归档表,直到这些数据被TTL表自动清理。
该文章对您有帮助吗?