View a markdown version of this page

분할되지 않은 테이블에서 데이터 아카이브 - AWS 권장 가이드

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

분할되지 않은 테이블에서 데이터 아카이브

분할이 불가능한 데이터베이스 테이블에서는 Percona Toolkit pt-archiver 도구를 사용하여 테이블의 데이터를 MySQL 데이터베이스의 다른 테이블에 아카이브할 수 있습니다.

pt-archiver 도구는 큰 테이블의 레코드를 다른 테이블이나 파일로 아카이브하는 데 사용됩니다. 읽기/쓰기 도구이므로 소스 테이블을 아카이브한 후 소스 테이블에서 데이터를 삭제합니다. 따라서 소스 데이터 삭제를 별도로 관리하지 않아도 됩니다. 이 스크립트의 기본 목적은 기존 온라인 트랜잭션 처리(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

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

AWS Batch를 사용하여 테이블에 대해 이 작업을 생성하고 예약할 수도 있습니다.

pt-archiver 도구를 사용하여 테이블의 데이터를 아카이브하는 경우 다음 사항을 고려합니다.

  • 소스 테이블에 프라이머리 키가 있으면 이 도구의 성능이 향상됩니다. 테이블에 프라이머리 키가 없는 경우 고유 열에서 인덱스를 생성할 수 있습니다. 그러면 pt-archiver가 테이블의 모든 행을 살펴보고 아카이브하는 데 도움이 됩니다.

  • 기본적으로 pt-archiver는 테이블을 아카이브한 후 데이터를 삭제합니다. 프로덕션 서버에서 실행하기 전에 --dry-run을 사용하여 아카이빙 작업을 테스트해야 합니다. 또는 --no-delete 옵션을 사용할 수 있습니다.

  • pt-archiver 도구는 시스템의 로드에 따라 아카이브 속도를 조정합니다(부록 II 참조). 로드가 높을수록 아카이브 성능이 느려질 수 있습니다.

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