

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 분할되지 않은 테이블에서 데이터 아카이브
<a name="archive-unpartitioned-tables"></a>

분할이 불가능한 데이터베이스 테이블에서는 Percona Toolkit [pt-archiver](https://docs.percona.com/percona-toolkit/pt-archiver.html) 도구를 사용하여 테이블의 데이터를 MySQL 데이터베이스의 다른 테이블에 아카이브할 수 있습니다.

pt-archiver 도구는 큰 테이블의 레코드를 다른 테이블이나 파일로 아카이브하는 데 사용됩니다. 읽기/쓰기 도구이므로 소스 테이블을 아카이브한 후 소스 테이블에서 데이터를 삭제합니다. 따라서 소스 데이터 삭제를 별도로 관리하지 않아도 됩니다. 이 스크립트의 기본 목적은 기존 온라인 트랜잭션 처리(OLTP) 쿼리 로드(부록 I 참조)에 영향을 주지 않고 테이블에서 이전 데이터를 아카이브하고 데이터를 동일한 서버나 다른 서버의 다른 테이블에 삽입하는 것입니다.

[Percona Toolkit](https://www.percona.com/downloads/percona-toolkit/2.2.14/)을 다운로드하여 데이터베이스에 연결하는 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스 또는 로컬 시스템에서 [설치](https://docs.percona.com/percona-toolkit/installation.html)할 수 있습니다. 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
```

`HOST`, `DATABASE`, `TABLE`, `USER`를 소스 및 대상 데이터베이스 세부 정보 및 자격 증명으로 바꿉니다.

[AWS Batch](https://docs.aws.amazon.com/batch/latest/userguide/what-is-batch.html)를 사용하여 테이블에 대해 이 작업을 생성하고 예약할 수도 있습니다.

pt-archiver 도구를 사용하여 테이블의 데이터를 아카이브하는 경우 다음 사항을 고려합니다.
+ 소스 테이블에 프라이머리 키가 있으면 이 도구의 성능이 향상됩니다. 테이블에 프라이머리 키가 없는 경우 [고유 열에서 인덱스를 생성](https://dev.mysql.com/doc/refman/8.0/en/create-index.html#create-index-unique)할 수 있습니다. 그러면 pt-archiver가 테이블의 모든 행을 살펴보고 아카이브하는 데 도움이 됩니다.
+ 기본적으로 pt-archiver는 테이블을 아카이브한 후 데이터를 삭제합니다. 프로덕션 서버에서 실행하기 전에 `--dry-run`을 사용하여 아카이빙 작업을 테스트해야 합니다. 또는 `--no-delete` 옵션을 사용할 수 있습니다.
+ pt-archiver 도구는 시스템의 로드에 따라 아카이브 속도를 조정합니다(부록 II 참조). 로드가 높을수록 아카이브 성능이 느려질 수 있습니다.

pt-archiver를 실행한 후 아카이브된 데이터는 아카이브 스키마에서 대응하는 테이블에 있어야 합니다. 여기에서 Amazon S3로 이동할 수 있습니다.