기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
분할되지 않은 테이블에서 데이터 아카이브
분할이 불가능한 데이터베이스 테이블에서는 Percona Toolkit pt-archiver
pt-archiver 도구는 큰 테이블의 레코드를 다른 테이블이나 파일로 아카이브하는 데 사용됩니다. 읽기/쓰기 도구이므로 소스 테이블을 아카이브한 후 소스 테이블에서 데이터를 삭제합니다. 따라서 소스 데이터 삭제를 별도로 관리하지 않아도 됩니다. 이 스크립트의 기본 목적은 기존 온라인 트랜잭션 처리(OLTP) 쿼리 로드(부록 I 참조)에 영향을 주지 않고 테이블에서 이전 데이터를 아카이브하고 데이터를 동일한 서버나 다른 서버의 다른 테이블에 삽입하는 것입니다.
Percona Toolkit
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로 이동할 수 있습니다.