변경 처리 튜닝 설정 - AWS Database Migration Service

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

변경 처리 튜닝 설정

다음 설정은 변경 데이터 캡처 (CDC) 중에 대상 테이블의 변경을 AWS DMS 처리하는 방법을 결정합니다. 이 설정 중 몇 개는 대상 메타데이터 파라미터 BatchApplyEnabled의 값에 따라 달라집니다. BatchApplyEnabled 파라미터에 관한 자세한 내용은 대상 메타데이터 작업 설정를 참조하십시오. 작업 구성 파일을 사용하여 작업 설정을 지정하는 방법에 관한 자세한 내용은 작업 설정 예제을 참조하십시오.

변경 처리 튜닝 설정에는 다음이 포함됩니다.

다음 설정은 대상 메타데이터 파라미터 BatchApplyEnabledtrue로 설정되어 있는 경우에만 적용됩니다.

  • BatchApplyPreserveTransactiontrue로 설정하면 트랜잭션 무결성이 유지되고 배치에서는 원본의 트랜잭션 내에 있는 모든 변경 사항이 포함됩니다. 기본 값은 true입니다. 이 설정은 Oracle 대상 엔드포인트에만 적용됩니다.

    false로 설정되면 트랜잭션 무결성이 일시적인 시간 경과가 있어 성능이 개선될 수 있습니다. 원본 트랜잭션의 모든 변경 사항이 단일한 배치(batch)의 대상에 적용된다는 보장은 없습니다.

    기본적으로 은 트랜잭션 모드에서 변경을 AWS DMS 처리하므로 트랜잭션 무결성이 유지됩니다. 트랜잭션 무결성이 일시적으로 저하될 여지가 있다면 배치 최적화 적용 옵션을 대신 사용할 수 있습니다. 이 옵션은 효율성을 위해 트랜잭션을 효율적으로 그룹화하고 일괄적으로 적용합니다. 배치 최적화 적용 옵션을 사용하면 거의 항상 참조 무결성 제약 조건을 위반합니다. 따라서 마이그레이션 프로세스 중에 이러한 제약 조건을 해제한 다음, 전환 프로세스의 일부로 다시 설정하는 것이 좋습니다.

  • BatchApplyTimeoutMin— 각 일괄 변경 적용 사이에 AWS DMS 대기하는 최소 시간 (초) 을 설정합니다. 기본값은 1입니다.

  • BatchApplyTimeoutMax— 각 일괄 변경 적용 사이에 시간이 초과되기 전에 AWS DMS 대기하는 최대 시간 (초) 을 설정합니다. 기본값은 30입니다.

  • BatchApplyMemoryLimit배치 최적화 적용 모드에서 사전 처리를 위해 사용하는 최대 메모리 양(MB)을 설정합니다. 기본값은 500입니다.

  • BatchSplitSize – 단일 배치에서 적용되는 변경 사항의 최대 수를 설정합니다. 기본값이 0이면 적용되는 제한이 없음을 뜻합니다.

다음 설정은 대상 메타데이터 파라미터 BatchApplyEnabledfalse로 설정되어 있는 경우에만 적용됩니다.

  • MinTransactionSize – 각 트랜잭션에 포함할 변경 사항의 최소 수를 설정합니다. 기본값은 1000입니다.

  • CommitTimeout— 제한 시간을 선언하기 전에 트랜잭션을 일괄적으로 수집하는 최대 시간을 초 단위로 설정합니다. AWS DMS 기본값은 1입니다.

양방향 복제의 경우, 다음 설정은 대상 메타데이터 파라미터 BatchApplyEnabledfalse로 설정되어 있는 경우에만 적용됩니다.

  • LoopbackPreventionSettings – 이러한 설정은 양방향 복제와 관련된 작업 쌍으로 된 지속적 복제 작업마다 루프백 방지를 제공합니다. 루프백 방지는 동일한 변경 사항이 양방향 복제의 두 방향 모두에 적용되어 데이터가 손상되는 문제를 방지합니다. 양방향 복제에 관한 자세한 내용은 양방향 복제 수행 단원을 참조하십시오.

AWS DMS 트랜잭션이 소스, 타겟 또는 둘 다에 완전히 커밋될 때까지 트랜잭션 데이터를 메모리에 보관하려고 시도합니다. 그렇지만 할당된 메모리보다 크거나 지정된 시간 한도 내에서 커밋되지 않은 트랜잭션은 디스크에 기록됩니다.

다음 설정은 변경 처리 모드에 상관 없이 변경 처리 튜닝에 적용됩니다.

  • MemoryLimitTotal – 디스크에 기록되기 전에 모든 트랜잭션이 메모리에서 점유할 수 있는 최대 크기(MB 단위)를 설정합니다. 기본값은 1,024입니다.

  • MemoryKeepTime – 디스크에 기록되기 전에 각 트랜잭션이 메모리에 유지될 수 있는 최대 시간(초)을 설정합니다. 기간은 트랜잭션 캡처를 AWS DMS 시작한 시간부터 계산됩니다. 기본값은 60입니다.

  • StatementCacheSize – 변경 사항을 대상에 적용할 때 나중에 실행할 수 있도록 서버에서 저장하는 준비된 문의 최대 수를 설정합니다. 기본값은 50입니다. 최대값은 200입니다.

다음은 변경 처리 튜닝을 처리하는 작업 설정이 작업 설정 JSON 파일에 표시되는 방식의 한 가지 예에 속합니다.

"ChangeProcessingTuning": { "BatchApplyPreserveTransaction": true, "BatchApplyTimeoutMin": 1, "BatchApplyTimeoutMax": 30, "BatchApplyMemoryLimit": 500, "BatchSplitSize": 0, "MinTransactionSize": 1000, "CommitTimeout": 1, "MemoryLimitTotal": 1024, "MemoryKeepTime": 60, "StatementCacheSize": 50 }

데이터 복제 작업 중에 Amazon S3 대상에 대한 쓰기 빈도를 제어하기 위해 cdcMaxBatchIntervalcdcMinFileSize 추가 연결 속성을 구성할 수 있습니다. 따라서 추가 오버헤드 작업 없이 데이터를 분석할 때 성능이 향상될 수 있습니다. 자세한 정보는 Amazon S3를 AWS DMS의 대상으로 사용 시 엔드포인트 설정을 참조하세요.