AWS Database Migration Service(AWS DMS)를 사용하여 소스 데이터베이스를 Amazon Redshift로 마이그레이션할 때 데이터 복제 문제와 변경 데이터 캡처(CDC) 오류가 발생합니다.
해결 방법
CDC 실패
CDC 실패가 발생하면 AWS DMS 작업 로그에서 특정 테이블과 관련된 오류 메시지를 검토하십시오. 또한 AWS DMS 작업의 CDCLatencySource 및 CDCLatencyTarget Amazon CloudWatch 지표를 확인할 수 있습니다.
표시된 오류 메시지를 기반으로 다음 작업 중 하나 이상을 수행하십시오.
- 소스 테이블에 프라이머리 키가 있는지 확인합니다. PostgreSQL 소스의 경우 캡처된 테이블에 프라이머리 키가 있어야 AWS DMS에서 DELETE 및 UPDATE 작업을 처리할 수 있습니다.
- 소스 데이터베이스의 변경 로그 보존 기간을 24시간 이상으로 설정했는지 확인합니다.
- AWS DMS에서 사용하는 AWS 계정에 소스 데이터베이스와 대상 데이터베이스 모두에 필요한 권한이 있는지 확인합니다.
데이터 불일치
데이터 불일치를 해결하려면 다음 단계를 완료하십시오.
- 검증 전용 작업을 만들어 소스와 대상 간에 일치하지 않는 레코드를 파악합니다. 자세한 내용은 Redshift 검증 성능을 참조하십시오.
- 대상 데이터베이스의 awsdms_validation_failures_v1 테이블을 쿼리하여 불일치를 확인합니다.
- 실패한 마이그레이션에 대한 자세한 오류 정보는 대상 데이터베이스의 awsdms_apply_exceptions 테이블을 확인하십시오.
- 모든 복제된 대상 테이블에 프라이머리 키 또는 고유 인덱스가 있는지 확인합니다.
참고: Amazon Redshift는 고유, 프라이머리 키 및 외래 키 제약 조건을 적용하지 않습니다. 따라서 중복이 발생할 수 있습니다.
- PostgreSQL을 소스로 사용하는 경우 소스 및 대상 테이블의 프라이머리 키를 정의해야 합니다.
- 불일치가 있는 테이블의 경우 AWS DMS 작업을 사용하여 테이블을 다시 로드합니다.
유형 변환 문제
유형 변환 문제를 해결하려면 다음 단계를 완료하십시오.
-
AWS DMS 작업 로그에서 데이터 정의 언어(DDL) 길이를 초과하는 데이터 잘림 또는 문자열 길이와 관련된 오류가 있는지 검토합니다.
-
awsdms_apply_exceptions 테이블에서 실패한 마이그레이션을 확인합니다.
-
더 큰 데이터를 수용할 수 있도록 대상 Redshift 데이터베이스의 열 데이터 유형을 조정합니다. 예를 들어 길이 문제가 있는 열의 경우 varchar을 text로 변경하십시오.
-
더 큰 데이터를 수용할 수 있도록 다음 예와 같이 태스크 설정에서 MaxLobSize 파라미터를 수정합니다.
{
"TargetMetadata": {
"MaxLobSize": 32
}
}
-
지원되는 데이터 유형을 사용하고 있는지 확인하고 소스와 대상을 올바르게 매핑했는지 확인합니다.
성능 문제 및 높은 지연 시간
성능을 개선하고 지연 시간을 줄이려면 다음 작업을 수행하십시오.
중복 레코드
중복 레코드를 방지하려면 다음 작업을 수행하십시오.
- 복제된 대상 테이블에 프라이머리 키 또는 고유 인덱스가 있는지 확인합니다.
- 프라이머리 키를 사용하여 수동으로 대상에 테이블을 만들고 태스크 설정에서 TargetTablePrepMode를 DO_NOTHING 또는 TRUNCATE_BEFORE_LOAD로 설정합니다.
- primary-key-def AWS DMS 테이블 매핑 규칙을 사용하여 프라이머리 키를 명시적으로 정의합니다.
누락되거나 불완전한 데이터
누락되거나 불완전한 데이터를 해결하려면 다음 작업을 수행하십시오.
- AWS DMS 작업 로그에서 특정 테이블과 관련된 경고나 오류를 검토합니다.
- CDCIncomingChanges 지표를 확인하여 AWS DMS가 소스의 모든 변경 사항을 캡처하는지 확인합니다.
- AWS DMS에서 사용하는 소스 데이터베이스 사용자 계정에 필요한 모든 테이블 및 스키마에 액세스하는 데 필요한 권한이 있는지 확인합니다.
- 검증 전용 작업을 만들어 일치하지 않는 레코드를 파악합니다. 자세한 내용은 Redshift 검증 성능을 참조하십시오.
- 일관된 문제가 있는 테이블의 경우 개별 AWS DMS 작업을 만들어 문제를 보다 세부적으로 해결할 수 있습니다.
관련 정보
AWS Database Migration Service(AWS DMS) 모범 사례
AWS Database Migration Service에서 마이그레이션 작업 문제 해결
AWS DMS 데이터 검증