Amazon Redshift와 제로 ETL 통합을 사용할 때 고려할 사항
다음 고려 사항은 Amazon Redshift와의 제로 ETL 통합에 적용됩니다.
-
대상 Amazon Redshift 데이터 웨어하우스는 다음 사전 요구 사항을 충족해야 합니다.
-
Amazon Redshift Serverless 또는 RA3 노드 유형을 실행합니다.
-
암호화되어 있습니다(프로비저닝된 클러스터를 사용하는 경우).
-
대/소문자 구분이 활성화되어 있습니다.
-
-
Amazon Redshift 데이터 웨어하우스에 대해 권한이 부여된 통합 소스인 소스를 삭제하면 연결된 모든 통합이
FAILED
상태로 전환됩니다. 이전에 복제된 모든 데이터는 Amazon Redshift 데이터베이스에 남아 있으며 쿼리할 수 있습니다. -
대상 데이터베이스는 읽기 전용입니다. 대상 데이터베이스에서는 테이블, 뷰 또는 구체화된 뷰를 만들 수 없습니다. 하지만 대상 데이터 웨어하우스의 다른 테이블에서는 구체화된 뷰를 사용할 수 있습니다.
-
구체화된 뷰는 데이터베이스 간 쿼리에서 사용할 때 지원됩니다. 제로 ETL 통합을 통해 복제된 데이터로 구체화된 뷰를 생성하는 방법에 대한 자세한 정보는 구체화된 뷰로 복제된 데이터 쿼리 섹션을 참조하세요.
-
기본적으로
Synced
상태인 대상 데이터 웨어하우스의 테이블만 쿼리할 수 있습니다. 다른 상태의 테이블을 쿼리하려면 데이터베이스 파라미터QUERY_ALL_STATES
를TRUE
로 설정합니다.QUERY_ALL_STATES
설정에 대한 자세한 내용은 Amazon Redshift 데이터베이스 개발자 안내서의 CREATE DATABASE 및 ALTER DATABASE를 참조하세요. 데이터베이스 상태에 대한 자세한 내용은 Amazon Redshift 데이터베이스 개발자 안내서의 SVV_INTEGRATION_TABLE_STATE를 참조하세요. -
Amazon Redshift는 UTF-8 문자만 허용하므로 소스에 정의된 데이터 정렬을 따르지 않을 수 있습니다. 정렬 및 비교 규칙이 다를 수 있으며, 이로 인해 결국 쿼리 결과가 변경될 수 있습니다.
-
제로 ETL 통합은 Amazon Redshift 데이터 웨어하우스 대상당 50개로 제한됩니다.
-
통합 원본의 테이블에 프라이머리 키가 있어야 합니다. 그렇지 않으면 Amazon Redshift의 대상 데이터 웨어하우스에 테이블을 복제할 수 없습니다.
Amazon Aurora PostgreSQL에 프라이머리 키를 추가하는 방법에 대한 자세한 내용은 AWS Database Blog의 Handle tables without primary keys while creating Amazon Aurora PostgreSQL zero-ETL integrations with Amazon Redshift
를 참조하세요. Amazon Aurora MySQL 또는 RDS for MySQL에 프라이머리 키를 추가하는 방법에 대한 자세한 내용은 AWS 데이터베이스 블로그의 Amazon Redshift를 사용해 Amazon Aurora MySQL 또는 Amazon RDS for MySQL 제로 ETL 통합을 생성하는 동안 프라이머리 키가 없는 테이블 처리 를 참조하세요. -
Aurora 제로 ETL 통합의 데이터 필터링을 사용하여 소스 Aurora DB 클러스터에서 대상 Amazon Redshift 데이터 웨어하우스로의 복제 범위를 정의할 수 있습니다. 모든 데이터를 대상에 복제하는 대신 특정 테이블을 선택적으로 포함하거나 복제에 제외하는 필터를 하나 이상 정의할 수 있습니다. 자세한 내용은 Amazon Aurora 사용 설명서의 Data filtering for Aurora zero-ETL integrations with Amazon Redshift를 참조하세요.
-
Amazon Redshift와의 Aurora PostgreSQL 제로 ETL 통합의 경우 Amazon Redshift는 Aurora PostgreSQL에서 최대 100개의 데이터베이스를 지원합니다. 각 데이터베이스는 소스에서 대상으로 독립적으로 복제됩니다.
-
제로 ETL 통합은 트랜잭션 데이터 스토어의 데이터를 Amazon Redshift로 복제하는 동안에는 변환을 지원하지 않습니다. 데이터는 소스 데이터베이스에서 있는 그대로 복제됩니다. 하지만 Amazon Redshift에서 복제된 데이터에 변환을 적용할 수 있습니다.
-
제로 ETL 통합은 Amazon Redshift에서 병렬 연결을 사용하여 실행됩니다. 이는 통합에서 데이터베이스를 생성한 사용자의 자격 증명을 사용하여 실행됩니다. 쿼리가 실행되면 동기화(쓰기) 중에 이러한 연결에 대한 동시성 확장이 시작되지 않습니다. (Amazon Redshift 클라이언트에서) 동시성 확장 읽기는 동기화된 객체에 지원됩니다.
-
제로 ETL 통합에 대한
REFRESH_INTERVAL
을 설정하여 Amazon Redshift로의 데이터 복제 빈도를 제어할 수 있습니다. 자세한 내용은 Amazon Redshift 데이터베이스 개발자 안내서의 CREATE DATABASE 및 ALTER DATABASE을 참조하세요.
대상에서 기록 모드 사용 시 고려 사항
대상 데이터베이스에서 기록 모드를 사용하는 경우 다음 고려 사항이 적용됩니다. 자세한 내용은 기록 모드 단원을 참조하십시오.
소스에서 테이블을 삭제하면 대상에서 해당 테이블이 삭제되지 않고
DroppedSource
상태로 변경됩니다. Amazon Redshift 데이터베이스에서 테이블을 삭제하거나 이름을 바꿀 수 있습니다.소스에서 테이블을 잘라내면 해당 대상 테이블에서 삭제가 실행됩니다. 예를 들어 소스에서 모든 레코드가 잘린 경우 대상 열
_record_is_active
의 해당 레코드가false
로 변경됩니다.대상 테이블에서 TRUNCATE table SQL을 실행하면 활성 기록 행이 해당 타임스탬프와 함께 비활성으로 표시됩니다.
테이블의 행이 비활성으로 설정된 경우 짧은(약 10분) 지연 후 삭제할 수 있습니다. 비활성 행을 삭제하려면 Query Editor v2 또는 다른 SQL 클라이언트를 사용하여 제로 ETL 데이터베이스에 연결합니다.
기록 모드가 켜져 있는 테이블에서만 비활성 행을 삭제할 수 있습니다. 예를 들어 다음과 유사한 SQL 명령만 비활성 행을 삭제합니다.
delete from schema.user_table where _record_delete_time <= '2024-09-10 12:34:56'
이는 다음과 같은 SQL 명령과 동일합니다.
delete from schema.user_table where _record_delete_time <= '2024-09-10 12:34:56' and _record_is_active = False
테이블에 대해 기록 모드를 끄면 모든 기록 데이터가
<schema>.<table-name>_historical_<timestamp>
라는 테이블에 저장되고 원래 테이블<schema>.<table-name>
은 새로 고쳐집니다.기록 모드가 켜진 테이블을 테이블 필터를 사용하여 복제에서 제외하면 모든 행이 비활성으로 설정되고 테이블이
DroppedSource
상태로 변경됩니다. 자세한 내용은 Amazon Aurora 사용 설명서의 Amazon Redshift와 Aurora 제로 ETL 통합의 데이터 필터링를 참조하세요.기록 모드는
Synced
상태의 테이블에서만true
또는false
로 전환할 수 있습니다.
제로 ETL 통합 소스가 Aurora 또는 Amazon RDS인 경우 고려 사항
다음 고려 사항은 Amazon Redshift와의 Aurora 및 Amazon RDS 제로 ETL 통합에 적용됩니다.
-
Aurora 및 RDS for MySQL 제로 ETL 통합의 데이터 필터링을 사용하여 소스 DB 클러스터에서 대상 Amazon Redshift 데이터 웨어하우스로의 복제 범위를 정의할 수 있습니다. 모든 데이터를 대상에 복제하는 대신 특정 테이블을 선택적으로 포함하거나 복제에 제외하는 필터를 하나 이상 정의할 수 있습니다. 자세한 내용은 Amazon Aurora 사용 설명서의 Data filtering for Aurora zero-ETL integrations with Amazon Redshift를 참조하세요.
-
통합 원본의 테이블에 프라이머리 키가 있어야 합니다. 그렇지 않으면 Amazon Redshift의 대상 데이터 웨어하우스에 테이블을 복제할 수 없습니다.
Amazon Aurora PostgreSQL에 프라이머리 키를 추가하는 방법에 대한 자세한 내용은 AWS Database Blog의 Handle tables without primary keys while creating Amazon Aurora PostgreSQL zero-ETL integrations with Amazon Redshift
를 참조하세요. Amazon Aurora MySQL 또는 RDS for MySQL에 프라이머리 키를 추가하는 방법에 대한 자세한 내용은 AWS 데이터베이스 블로그의 Amazon Redshift를 사용해 Amazon Aurora MySQL 또는 Amazon RDS for MySQL 제로 ETL 통합을 생성하는 동안 프라이머리 키가 없는 테이블 처리 를 참조하세요. -
Amazon Redshift VARCHAR 데이터 유형의 최대 길이는 65,535바이트입니다. 소스의 콘텐츠가 이 제한에 맞지 않으면 복제가 진행되지 않고 테이블이 실패 상태가 됩니다. 데이터베이스 파라미터
TRUNCATECOLUMNS
를TRUE
로 설정하여 열에 맞게 콘텐츠를 잘라낼 수 있습니다.TRUNCATECOLUMNS
설정에 대한 자세한 내용은 Amazon Redshift 데이터베이스 개발자 안내서의 CREATE DATABASE 및 ALTER DATABASE를 참조하세요.제로 ETL 통합 소스와 Amazon Redshift 데이터베이스 간의 데이터 유형 차이에 관한 자세한 내용은 Amazon Aurora 사용 설명서의 Aurora와 Amazon Redshift 간의 데이터 유형 차이 섹션을 참조하세요.
Aurora 소스의 경우 Amazon Aurora 사용 설명서의 제한 사항을 참조하세요.
Amazon RDS 소스의 경우 Amazon RDS 사용 설명서의 제한 사항을 참조하세요.
제로 ETL 통합 소스가 DynamoDB인 경우 고려 사항
다음 고려 사항은 Amazon Redshift와의 DynamoDB 제로 ETL 통합에 적용됩니다.
127자를 초과하는 DynamoDB의 테이블 이름은 지원되지 않습니다.
DynamoDB 제로 ETL 통합의 데이터는 Amazon Redshift의 SUPER 데이터 유형 열에 매핑됩니다.
파티션 키의 열 이름 또는 127자를 초과하는 정렬 키는 지원되지 않습니다.
DynamoDB의 제로 ETL 통합은 하나의 Amazon Redshift 데이터베이스에만 매핑할 수 있습니다.
파티션 및 정렬 키의 경우 정밀도 및 스케일 최댓값은 (38,18)입니다. DynamoDB의 숫자 데이터 유형은 최대 38개의 최대 정밀도를 지원합니다. Amazon Redshift는 최대 정밀도 38도 지원하지만 Amazon Redshift의 기본 십진수 정밀도/스케일은 (38,10)입니다. 즉, 값 스케일 값을 잘라낼 수 있습니다.
성공적인 제로 ETL 통합을 위해 DynamoDB 항목의 개별 속성(이름+값으로 구성)은 64KB보다 크지 않아야 합니다.
활성화 시 제로 ETL 통합은 전체 DynamoDB 테이블을 내보내 Amazon Redshift 데이터베이스를 채웁니다. 이 초기 프로세스를 완료하는 데 걸리는 시간은 DynamoDB 테이블 크기에 따라 달라집니다. 그런 다음 제로 ETL 통합은 DynamoDB 증분 내보내기를 사용하여 DynamoDB에서 Amazon Redshift로 업데이트를 점진적으로 복제합니다. 따라서 Amazon Redshift에서 복제된 DynamoDB 데이터가 자동으로 최신 상태로 유지됩니다.
현재 DynamoDB 제로 ETL 통합의 최소 지연 시간은 15분입니다. 제로 ETL 통합에 대해 0이 아닌
REFRESH_INTERVAL
을 설정하여 더 늘릴 수 있습니다. 자세한 내용은 Amazon Redshift 데이터베이스 개발자 안내서의 CREATE DATABASE 및 ALTER DATABASE을 참조하세요.
Amazon DynamoDB 소스의 경우 Amazon DynamoDB 개발자 안내서의 사전 조건 및 제한 사항도 참조하세요.
제로 ETL 통합 소스가 Salesforce, SAP, ServiceNow 및 Zendesk와 같은 애플리케이션일 경우 고려 사항
다음 고려 사항은 Amazon Redshift와 통합하는 소스가 Salesforce, SAP, ServiceNow 및 Zendesk와 같은 애플리케이션일 경우 적용됩니다.
애플리케이션 소스의 127자를 초과하는 테이블 이름과 열 이름은 지원되지 않습니다.
-
Amazon Redshift VARCHAR 데이터 유형의 최대 길이는 65,535바이트입니다. 소스의 콘텐츠가 이 제한에 맞지 않으면 복제가 진행되지 않고 테이블이 실패 상태가 됩니다. 데이터베이스 파라미터
TRUNCATECOLUMNS
를TRUE
로 설정하여 열에 맞게 콘텐츠를 잘라낼 수 있습니다.TRUNCATECOLUMNS
설정에 대한 자세한 내용은 Amazon Redshift 데이터베이스 개발자 안내서의 CREATE DATABASE 및 ALTER DATABASE를 참조하세요.제로 ETL 통합 애플리케이션 소스와 Amazon Redshift 데이터베이스 간의 데이터 유형 차이에 대한 자세한 내용은 AWS Glue 개발자 안내서의 제로 ETL 통합을 참조하세요.
애플리케이션과의 제로 ETL 통합의 최소 지연 시간은 1시간입니다. 제로 ETL 통합에 대해 0이 아닌
REFRESH_INTERVAL
을 설정하여 더 늘릴 수 있습니다. 자세한 내용은 Amazon Redshift 데이터베이스 개발자 안내서의 CREATE DATABASE 및 ALTER DATABASE을 참조하세요.
애플리케이션과의 제로 ETL 통합 소스는 AWS Glue 개발자 안내서의 제로 ETL 통합도 참조하세요.