대상 메타데이터 작업 설정 - AWS Database Migration Service

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

대상 메타데이터 작업 설정

대상 메타데이터 설정에는 다음이 포함됩니다. 작업 구성 파일을 사용하여 작업 설정을 지정하는 방법에 관한 자세한 내용은 작업 설정 예제을 참조하십시오.

  • TargetSchema – 대상 테이블 스키마 이름입니다. 이 메타데이터 옵션이 비어 있는 경우, 원본 테이블의 스키마가 사용됩니다. AWS DMS 는 원본 스키마가 정의되지 않은 경우 대상 데이터베이스의 소유자 접두사를 모든 테이블에 자동으로 추가합니다. 이 옵션은 MySQL 유형 대상 엔드포인트에서 비어두어야 합니다. 데이터 매핑에서 스키마 이름을 바꾸는 것이 이 설정보다 우선합니다.

  • LOB 설정 – 대형 객체(LOB)가 관리되는 방법을 결정하는 설정입니다. SupportLobs=true를 설정하는 경우, 다음 중 하나를 true로 설정해야 합니다.

    • FullLobMode – 이 옵션을 true로 설정하는 경우, LobChunkSize 옵션 값을 입력해야 합니다. 데이터를 대상으로 복제할 때 사용할 LOB 청크의 크기(단위: 킬로바이트[KB])를 입력합니다. FullLobMode 옵션은 매우 큰 LOB 크기에서 최고 성능을 발휘하지만 로드가 느려지는 경향이 있습니다. LobChunkSize의 권장값은 64킬로바이트[KB]입니다. LobChunkSize의 값을 64KB 이상으로 늘리면 작업이 실패할 수 있습니다.

    • InlineLobMaxSize— 이 값은 전체 로드 중에 인라인으로 AWS DMS 전송할 LOB를 결정합니다. 작은 LOB를 전송하면 소스 테이블에서 조회하는 것보다 효율적입니다. 전체 로드 중에는 모든 LOB를 AWS DMS 검사하고 보다 작은 LOB에 대해 인라인 전송을 수행합니다. InlineLobMaxSize AWS DMS in보다 큰 모든 LOB를 전송합니다. InlineLobMaxSize FullLobMode InlineLobMaxSize의 기본값은 0이고 범위는 1~102400킬로바이트(100MB)입니다. 모든 LOB가 InlineLobMaxSize에 지정된 값보다 작으면 InlineLobMaxSize 값만 지정하십시오.

    • LimitedSizeLobMode – 이 옵션을 true로 설정하는 경우, LobMaxSize 옵션 값을 입력해야 합니다. 개별 LOB에서 최대 크기(단위: 킬로바이트[KB])를 입력합니다. LobMaxSize의 최대 권장값은 102400킬로바이트(100MB)입니다.

    이러한 작업 LOB 설정을 사용하기 위한 기준에 관한 자세한 내용은 태스크의 소스 데이터베이스에 대한 LOB 지원 설정 AWS DMS 단원을 참조하십시오. 개별 테이블에 대한 LOB 관리를 제어할 수도 있습니다. 자세한 정보는 테이블 및 컬렉션 설정 규칙과 작업을 참조하세요.

  • LoadMaxFileSize – 데이터 로드에 쉼표로 구분된 값(.csv) 파일을 사용할 수 있도록 지원하는 MySQL, PostgreSQL, Amazon Redshift와 같은 CSV 기반 대상 엔드포인트를 위한 옵션입니다. LoadMaxFileSize는 저장되었지만 로드되지 않은 데이터(예: .csv 파일)의 디스크 최대 크기를 정의합니다. 이 옵션은 대상 엔드포인트 연결 속성 maxFileSize보다 우선합니다. 값은 0부터 제공할 수 있으며, 이는 이 옵션이 연결 속성을 100,000KB로 재정의하지 않음을 나타냅니다.

  • BatchApplyEnabled – 각 트랜잭션이 개별적으로 적용되는지 또는 변경 사항이 배치 단위로 커밋되는지 여부를 결정합니다. 기본 값은 false입니다.

    BatchApplyEnabledtrue로 설정된 경우, DMS는 소스 테이블에 기본 키(PK) 또는 고유 키(UK)를 필요로 합니다. 소스 테이블에 PK 또는 UK가 없으면 배치 삽입만 적용되며 배치 업데이트 및 삭제는 적용되지 않습니다.

    BatchApplyEnabledtrue로 설정할 때 대상 테이블에 고유한 제약 조건과 기본 키가 있는 경우 AWS DMS 에서는 오류 메시지가 생성됩니다. BatchApplyEnabledtrue로 설정된 경우, 고유 제약조건과 기본 키가 모두 있는 대상 테이블은 지원되지 않습니다.

    BatchApplyEnabled가 true로 설정되고 기본 오류 처리 정책이 적용된 테이블에서 데이터 오류가 AWS DMS 발생하면 나머지 테이블의 AWS DMS 작업이 배치 모드에서 one-by-one 모드로 전환됩니다. 이러한 동작을 변경하려면 작업 설정 JSON 파일의 "ErrorBehavior" 그룹 속성에서 다음 정책에 대한 "SUSPEND_TABLE" 작업을 설정할 수 있습니다.

    • DataErrorPolicy

    • ApplyErrorDeletePolicy

    • ApplyErrorInsertPolicy

    • ApplyErrorUpdatePolicy

    "ErrorBehavior" 그룹 속성에 관한 자세한 내용은 AWS Database Migration Service 작업에 대한 작업 설정 지정의 예제 작업 설정 JSON 파일을 참조하십시오. 이러한 정책을 로 "SUSPEND_TABLE" 설정한 후에는 오류가 발생하는 모든 테이블에서 데이터 오류가 일시 중단되고 모든 테이블에 대해 일괄 처리 모드로 AWS DMS 작업이 계속됩니다.

    BatchApplyEnabled 파라미터를 BatchApplyPreserveTransaction 파라미터와 함께 사용할 수 있습니다. BatchApplyEnabledtrue로 설정되면 BatchApplyPreserveTransaction 파라미터는 트랜잭션 무결성을 결정합니다.

    BatchApplyPreserveTransactiontrue로 설정되면 트랜잭션 무결성이 유지되며 배치는 원본의 트랜잭션 내에 있는 모든 변경 사항을 포함하게 됩니다.

    BatchApplyPreserveTransactionfalse로 설정되면 트랜잭션 무결성이 일시적인 시간 경과가 있어 성능이 개선될 수 있습니다.

    BatchApplyPreserveTransaction 파라미터는 Oracle 대상 엔드포인트에만 적용되고 BatchApplyEnabled 파라미터가 true로 설정되는 경우에만 관련됩니다.

    복제에 LOB 열이 포함되면 BatchApplyEnabled를 제한된 LOB 모드에서만 사용할 수 있습니다.

    CDC(Change Data Capture) 로드에 이 설정을 사용하는 방법에 관한 자세한 내용은 변경 처리 튜닝 설정 단원을 참조하십시오.

  • MaxFullLoadSubTasks – 동시에 로드할 최대 테이블 수를 나타냅니다. 기본값은 8이며 최대값은 49입니다.

  • ParallelLoadThreads— 각 테이블을 대상 데이터베이스에 로드하는 데 AWS DMS 사용하는 스레드 수를 지정합니다. 이 파라미터는 RDBMS가 아닌 대상에 대한 최대값을 가집니다. DynamoDB 대상의 최대값은 200입니다. Amazon Kinesis Data Streams, 아파치 카프카 또는 OpenSearch 아마존 서비스 대상의 최대값은 32입니다. 이 최대 한도를 늘리도록 요청할 수 있습니다. ParallelLoadThreads는 전체 로드 작업에 적용됩니다. 개별 테이블의 병렬 로드 설정에 관한 자세한 내용은 테이블 및 컬렉션 설정 규칙과 작업 단원을 참조하십시오.

    이 설정은 다음 엔드포인트 엔진 유형에 적용됩니다.

    • DynamoDB

    • Amazon Kinesis Data Streams

    • Amazon MSK

    • 아마존 OpenSearch 서비스

    • Amazon Redshift

    AWS DMS ParallelLoadThreadsMySQL을 추가 연결 속성으로 지원합니다. ParallelLoadThreadsMySQL에는 작업 설정으로 적용되지 않습니다.

  • ParallelLoadBufferSize는 데이터를 대상에 로드하기 위해 병렬 로드 스레드에 사용되는 버퍼에 저장할 최대 레코드 수를 지정합니다. 기본값은 50입니다. 최대값은 1,000입니다. 이 설정은 현재 DynamoDB, Kinesis, Apache Kafka 또는 이 대상인 경우에만 유효합니다. OpenSearch 이 파라미터는 ParallelLoadThreads와 함께 사용하십시오. ParallelLoadBufferSize는 둘 이상의 스레드가 있는 경우에만 유효합니다. 개별 테이블의 병렬 로드 설정에 관한 자세한 내용은 테이블 및 컬렉션 설정 규칙과 작업 단원을 참조하십시오.

  • ParallelLoadQueuesPerThread – 대기열에서 데이터 레코드를 가져오고 대상에 대한 배치 로드를 생성하기 위해 각 동시 스레드가 액세스하는 대기열의 수를 지정합니다. 기본 값은 1입니다. 현재 이 설정은 Kinesis 또는 Apache Kafka가 대상일 때만 유효합니다.

  • ParallelApplyThreads— CDC를 로드하는 동안 Amazon DocumentDB, Kinesis, Amazon MSK 또는 Amazon Redshift 대상 엔드포인트로 데이터 레코드를 푸시하는 데 AWS DMS 사용하는 동시 스레드 수를 지정합니다. OpenSearch 기본값은 0입니다.

    이 설정은 CDC 전용입니다. 이 설정은 전체 로드에 적용되지 않습니다.

    이 설정은 다음 엔드포인트 엔진 유형에 적용됩니다.

    • Amazon DocumentDB(MongoDB 호환)

    • Amazon Kinesis Data Streams

    • Amazon Managed Streaming for Apache Kafka

    • 아마존 OpenSearch 서비스

    • Amazon Redshift

  • ParallelApplyBufferSize— CDC 로드 중에 동시 스레드가 Amazon DocumentDB, Kinesis, Amazon OpenSearch MSK 또는 Amazon Redshift 대상 엔드포인트로 푸시할 수 있도록 각 버퍼 대기열에 저장할 최대 레코드 수를 지정합니다. 기본 값은 100입니다. 최대값은 1000입니다. ParallelApplyThreads가 둘 이상의 스레드를 지정할 때 이 옵션을 사용합니다.

  • ParallelApplyQueuesPerThread— CDC 중에 각 스레드가 액세스하여 대기열에서 데이터 레코드를 제거하고 Amazon DocumentDB, Kinesis, Amazon MSK 또는 엔드포인트에 대한 배치 로드를 생성하는 대기열의 수를 지정합니다. OpenSearch 기본값은 1입니다.