View a markdown version of this page

归档未分区表中的数据 - AWS 规范性指导

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

归档未分区表中的数据

在无法进行分区的数据库表中,您可以使用 Percona Toolkit pt-archiver 工具将表的数据归档到 MySQL 数据库中的另一个表中。

pt-archiver 工具用于将记录从大表归档到其他表或文件。它是一种 read/write 工具,这意味着它会在存档源表后将其从源表中删除,因此您不必单独管理源数据的删除。此脚本的主要用途是在不影响现有在线事务处理(OLTP)查询负载的情况下归档表中的旧数据(参见附录 I),并将这些数据插入到相同或不同服务器上的另一个表中。

您可以下载 Percona Toolkit 并将其安装在本地计算机上,也可以安装在连接数据库的 Amazon Elastic Compute Cloud(Amazon EC2)实例上。要运行 pt-archiver 工具,请使用以下语法。

pt-archiver --source h=<HOST>,D=<DATABASE>,t=<TABLE>,u=<USER>,p=<PASSWORD> --dest h=<HOST>,D=<DATABASE>,t=<TABLE> --where ""1=1"" --statistics

HOSTDATABASETABLEUSER 替换为源和目标数据库的详细信息和凭证。

您也可以使用 AWS Batch 为您的表创建和计划此作业。

使用 pt-archiver 工具归档表的数据时,考虑以下几点:

  • 在源表上创建主键将提高此工具的性能。如果表没有主键,则可以在唯一列上创建索引,这将有助于 pt-archiver 遍历表中的所有行并将其归档。

  • 默认情况下,pt-archiver 会在归档表后删除数据。在生产服务器上运行它之前,务必使用 --dry-run 测试归档作业。或者,您也可以使用 --no-delete 选项。

  • pt-archiver 工具会根据系统的负载调整其归档速率(参见附录 II)。随着负载的增加,归档性能可能会变慢。

运行 pt-archiver 后,您的归档数据应位于归档架构的相应表中。从那里,您可以将其移动到 Amazon S3。