다음을 사용하여 Netezza에 연결하기 AWS Schema Conversion Tool - AWS Schema Conversion Tool

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

다음을 사용하여 Netezza에 연결하기 AWS Schema Conversion Tool

를 AWS SCT 사용하여 스키마, 코드 객체 및 애플리케이션 코드를 Netezza에서 Amazon Redshift로 변환할 수 있습니다.

Netezza를 소스로 사용하기 위한 권한

Netezza를 소스로 사용하기 위해 필요한 권한은 다음과 같습니다.

  • select on system.definition_schema.system view

  • select on system.definition_schema.system table

  • select on system.definition_schema.management table

  • 목록은 다음과 같습니다.<database_name>

  • 목록: <schema_name>

  • 목록: <database_name>.all.table

  • 목록: <database_name>.all.외부 테이블

  • 목록: <database_name>.all.view

  • 목록: <database_name>.all.구체화된 뷰

  • 목록: <database_name>.all. 프로시저

  • 목록: <database_name>.all.sequence

  • 목록: <database_name>.all.function

  • 목록: <database_name>.all.aggregate

이전 예제에서 다음과 같이 자리 표시자를 바꿉니다.

  • Replace database_name 소스 데이터베이스의 이름과 함께

  • Replace schema_name 소스 스키마의 이름과 함께.

AWS SCT 다음 시스템 테이블 및 뷰에 대한 액세스가 필요합니다. 위 목록의 system.definition_schema.system viewsystem.definition_schema.system tables에 대한 액세스 권한을 부여하는 대신 다음과 같은 객체에 대한 액세스 권한을 부여할 수 있습니다.

  • select on system.definition_schema._t_aggregate

  • select on system.definition_schema._t_class

  • select on system.definition_schema._t_constraint

  • select on system.definition_schema._t_const_relattr

  • select on system.definition_schema._t_database

  • select on system.definition_schema._t_grpobj_priv

  • select on system.definition_schema._t_grpusr

  • select on system.definition_schema._t_hist_config

  • select on system.definition_schema._t_object

  • select on system.definition_schema._t_object_classes

  • select on system.definition_schema._t_proc

  • select on system.definition_schema._t_type

  • select on system.definition_schema._t_user

  • select on system.definition_schema._t_usrobj_priv

  • select on system.definition_schema._vt_sequence

  • select on system.definition_schema._v_aggregate

  • select on system.definition_schema._v_constraint_depends

  • select on system.definition_schema._v_database

  • select on system.definition_schema._v_datatype

  • select on system.definition_schema._v_dslice

  • select on system.definition_schema._v_function

  • select on system.definition_schema._v_group

  • select on system.definition_schema._v_obj_relation

  • select on system.definition_schema._v_obj_relation_xdb

  • select on system.definition_schema._v_procedure

  • select on system.definition_schema._v_relation_column

  • select on system.definition_schema._v_relation_keydata

  • select on system.definition_schema._v_relobjclasses

  • select on system.definition_schema._v_schema_xdb

  • select on system.definition_schema._v_sequence

  • select on system.definition_schema._v_synonym

  • select on system.definition_schema._v_system_info

  • select on system.definition_schema._v_sys_constraint

  • select on system.definition_schema._v_sys_object_dslice_info

  • select on system.definition_schema._v_sys_user

  • select on system.definition_schema._v_table

  • select on system.definition_schema._v_table_constraint

  • select on system.definition_schema._v_table_dist_map

  • select on system.definition_schema._v_table_organize_column

  • select on system.definition_schema._v_table_storage_stat

  • select on system.definition_schema._v_user

  • select on system.definition_schema._v_view

  • select on system.information_schema._v_relation_column

  • select on system.information_schema._v_table

  • select on $hist_column_access_*

Netezza에 소스로 연결

다음 절차에 따라 AWS Schema Conversion Tool을 사용하여 Netezza 소스 데이터베이스에 연결합니다.

Netezza 소스 데이터베이스에 연결하려면
  1. 에서 소스 AWS Schema Conversion Tool추가를 선택합니다.

  2. Netezza를 선택한 후 다음을 선택합니다.

    소스 추가 대화 상자가 나타납니다.

  3. 연결 이름에 데이터베이스의 이름을 입력합니다. AWS SCT 는 왼쪽 패널의 트리에 이 이름을 표시합니다.

  4. 의 데이터베이스 자격 증명을 AWS Secrets Manager 사용하거나 수동으로 입력합니다.

    • Secrets Manager의 데이터베이스 보안 인증 정보를 사용하려면 다음 지침을 따릅니다.

      1. AWS Secret에서 보안 암호의 이름을 선택합니다.

      2. Populate를 선택하여 Secrets Manager에서 데이터베이스 연결 대화 상자에 있는 모든 값을 자동으로 채웁니다.

      Secrets Manager의 데이터베이스 보안 인증 사용에 대한 자세한 내용은 AWS Secrets Manager 에서 구성 AWS Schema Conversion Tool 섹션을 참조하세요.

    • Netezza 소스 데이터베이스 연결 정보를 수동으로 입력하려면 다음 지침을 사용합니다.

      파라미터 작업
      [서버 이름]

      원본 데이터베이스 서버의 도메인 이름 시스템 (DNS) 이름 또는 IP 주소를 입력합니다.

      [Server port]

      소스 데이터베이스 서버에 연결하는 데 사용되는 포트를 입력합니다.

      User namePassword

      소스 데이터베이스 서버에 연결하는 데 필요한 데이터베이스 보안 인증 정보를 입력합니다.

      AWS SCT 프로젝트에서 데이터베이스에 연결하도록 선택한 경우에만 암호를 사용하여 원본 데이터베이스에 연결합니다. 소스 데이터베이스의 암호가 노출될 위험을 방지하기 위해 AWS SCT 는 기본적으로 암호를 저장하지 않습니다. AWS SCT 프로젝트를 닫았다 다시 열 경우 필요에 따라 소스 데이터베이스에 연결하기 위한 암호를 입력하라는 메시지가 표시됩니다.

      Store password

      AWS SCT SSL인증서와 데이터베이스 암호를 저장할 보안 저장소를 만듭니다. 이 옵션을 켜면 데이터베이스 암호를 저장하고 암호 입력 없이 빠르게 데이터베이스에 연결할 수 있습니다.

      Netezza driver path

      소스 데이터베이스에 연결할 때 사용할 드라이버의 경로를 입력합니다. 자세한 내용은 에 대한 JDBC 드라이버 설치 AWS Schema Conversion Tool 단원을 참조하십시오.

      드라이버 경로를 전역 프로젝트 설정에 저장할 경우 드라이버 경로가 연결 대화 상자에 표시되지 않습니다. 자세한 내용은 전역 설정에 드라이버 경로 저장 단원을 참조하십시오.

  5. [연결 테스트] 를 선택하여 원본 데이터베이스에 연결할 AWS SCT 수 있는지 확인합니다.

  6. 연결을 선택하여 소스 데이터베이스에 연결합니다.

지속적인 데이터 복제 구성

Netezza 데이터베이스 스키마를 변환하여 Amazon Redshift 데이터베이스에 적용한 후, 데이터 추출 에이전트를 사용하여 데이터를 마이그레이션할 수 있습니다. AWS SCT 에이전트가 데이터를 추출하여 Amazon S3 버킷에 업로드합니다. 그런 다음 를 AWS SCT 사용하여 Amazon S3에서 Amazon Redshift로 데이터를 복사할 수 있습니다.

마이그레이션 프로세스 중에 원본 데이터베이스의 데이터가 변경되는 경우 AWS SCT 데이터 추출 에이전트를 사용하여 지속적인 변경 사항을 캡처할 수 있습니다. 그러면 초기 데이터 마이그레이션을 완료한 후 대상 데이터베이스에 이러한 진행 중인 변경 사항을 복제할 수 있습니다. 이 프로세스를 지속적 데이터 복제 또는 변경 데이터 캡처 (CDC) 라고 합니다.

Netezza에서 Amazon Redshift로의 마이그레이션을 위한 지속적인 데이터 복제를 구성하려면
  1. 소스 데이터베이스에서 기록 데이터베이스를 생성합니다. Netezza 명령줄 인터페이스 () 에서 다음 코드 예제를 사용할 수 있습니다. CLI

    nzhistcreatedb -d history_database_name -t query -v 1 -u load_user -o histdb_owner -p your_password

    위 예제에서는 다음을 대체하십시오.history_database_name 기록 데이터베이스의 이름으로. 다음으로 바꾸세요.load_user 기록 데이터를 데이터베이스에 로드하기 위해 정의한 사용자 이름을 입력합니다. 그런 다음 바꾸십시오.histdb_owner 기록 데이터베이스의 소유자로 정의한 사용자 이름을 입력합니다. 이 사용자를 이미 생성하고 CREATE DATABASE 권한을 부여했는지 확인합니다. 마지막으로, 교체하십시오.your_password 안전한 비밀번호를 사용하세요.

  2. 기록 로깅을 구성합니다. 이 작업을 수행하려면 다음 코드 예제를 사용합니다.

    CREATE HISTORY CONFIGURATION history_configuration_name HISTTYPE QUERY DATABASE history_database_name USER load_user PASSWORD your_password COLLECT PLAN, COLUMN LOADINTERVAL 1 LOADMINTHRESHOLD 0 LOADMAXTHRESHOLD 0 STORAGELIMIT 25 LOADRETRY 2 VERSION 1;

    위 예제에서는 다음을 대체합니다.history_configuration_name 그리고 history_database_name 히스토리 구성 및 히스토리 데이터베이스의 이름을 입력하세요. 다음으로 교체하세요.load_user 기록 데이터를 데이터베이스에 로드하기 위해 정의한 사용자 이름을 입력합니다. 그런 다음 바꾸십시오.your_password 안전한 비밀번호를 사용하세요.

  3. 기록 데이터베이스의 모든 테이블에 읽기 권한을 부여합니다. 다음 코드 예제를 사용하여 SELECT 권한을 부여할 수 있습니다.

    GRANT SELECT ON history_database_name.ALL.TABLE TO your_user;

    위 예제에서는 다음을 대체합니다.history_database_name 기록 데이터베이스의 이름으로. 다음으로 바꾸세요.your_user Netezza 데이터베이스를 사용할 수 있는 최소한의 권한을 가진 사용자의 이름을 입력하세요. 에서 이 데이터베이스 사용자의 자격 증명을 사용합니다. AWS SCT

  4. 소스 스키마의 각 테이블에 대한 통계를 수집하여 열의 카디널리티에 대한 정보를 가져옵니다. 다음 명령을 사용하여 기록 데이터베이스에 통계를 생성할 수 있습니다.

    GENERATE STATISTICS on "schema_name"."table_name";

    위 예제에서는 다음을 대체하십시오.schema_name 그리고 table_name 데이터베이스 스키마와 테이블의 이름으로

  5. 다음 쿼리를 실행하여 사전 조건을 완료해야 합니다.

    SELECT COUNT(*) FROM history_database_name.history_schema_name."$hist_column_access_N";

    위 예제에서는 다음을 대체합니다.history_database_name 그리고 history_schema_name 기록 데이터베이스 및 스키마의 이름으로 다음으로 교체하십시오.N 기록 데이터베이스의 버전 번호를 입력하세요. 기록 데이터베이스 버전에 대한 자세한 내용은 IBMNetezza 설명서를 참조하십시오.

  6. 데이터 추출 에이전트를 설치합니다. 자세한 내용은 추출 에이전트 설치 단원을 참조하십시오.

    모든 추출기 인스턴스에 대해 settings.properties 파일의 {working.folder} 파라미터가 동일한 폴더를 가리키는지 확인합니다. 이 경우 추출기는 CDC 세션을 조정하고 모든 하위 작업에 단일 트랜잭션 지점을 사용할 수 있습니다.

  7. 데이터 추출 에이전트를 등록합니다. 자세한 내용은 에 추출 에이전트 등록 AWS Schema Conversion Tool 단원을 참조하십시오.

  8. 작업을 생성하세요. CDC 자세한 내용은 AWS SCT 작업 생성, 실행, 모니터링 단원을 참조하십시오.

    1. AWS SCT에서 프로젝트를 엽니다. 왼쪽 창에서 소스 테이블을 선택합니다. 컨텍스트(마우스 오른쪽 버튼 클릭) 메뉴를 열고 Create local task를 선택합니다.

    2. 작업 이름에 데이터 마이그레이션 작업을 설명하는 이름을 입력합니다.

    3. Migration mode에서 Extract, upload, and copy를 선택합니다.

    4. 활성화CDC를 선택합니다.

    5. CDC설정 탭을 선택하고 CDC 세션의 범위와 일정을 정의합니다.

    6. Test task를 선택하여 작업 폴더, Amazon S3 버킷 및 Amazon Redshift 데이터 웨어하우스에 연결할 수 있는지 확인합니다.

    7. 생성을 선택하여 작업을 생성합니다.

    8. 작업 탭을 선택하고 목록에서 작업을 선택한 다음 시작을 선택합니다.

  9. 이 AWS SCT 작업은 대상 데이터베이스의 트랜잭션 일관성을 유지합니다. 데이터 추출 에이전트는 소스의 트랜잭션을 트랜잭션 ID 순서대로 복제합니다.

    마이그레이션 세션을 중지하거나 실패한 경우 CDC 처리도 중지됩니다.

Netezza에서 Amazon Redshift로의 변환 설정

Netezza에서 Amazon Redshift로의 변환 설정을 편집하려면 에서 AWS SCT설정을 선택한 다음 전환 설정을 선택합니다. 상단 목록에서 Netezza를 선택한 다음 Netezza — Amazon Redshift를 선택합니다. AWS SCT Netezza에서 Amazon Redshift로의 변환에 사용할 수 있는 모든 설정을 표시합니다.

Netezza에서 Amazon Redshift로의 변환 AWS SCT 설정에는 다음과 같은 옵션이 포함됩니다.

  • 변환된 코드에서 작업 항목이 포함된 설명의 수를 제한합니다.

    선택한 심각도 이상의 작업 항목에 대해 변환된 코드에 설명을 추가하려면 조치 항목의 심각도를 선택합니다. AWS SCT 선택한 심각도 이상의 작업 항목에 대해 변환된 코드에 설명을 추가합니다.

    예를 들어, 변환된 코드의 설명 수를 최소화하려면 오류만을 선택합니다. 변환된 코드의 모든 작업 항목에 대한 설명을 포함하려면 모든 메시지를 선택합니다.

  • 대상 Amazon Redshift 클러스터에 적용할 AWS SCT 수 있는 최대 테이블 수를 설정하려면

    대상 Amazon Redshift 클러스터의 최대 테이블 수에서 Amazon Redshift 클러스터에 적용할 AWS SCT 수 있는 테이블 수를 선택하십시오.

    Amazon Redshift에는 여러 클러스터 노드 유형에 사용하는 테이블을 제한하는 할당량이 있습니다. 자동을 선택하는 경우, 노드 유형에 따라 대상 Amazon Redshift 클러스터에 적용할 테이블 수를 AWS SCT 결정합니다. 값을 수동으로 선택할 수도 있습니다. 자세한 내용은 Amazon Redshift 관리 가이드Amazon Redshift의 할당량 및 제한 섹션을 참조하세요.

    AWS SCT Amazon Redshift 클러스터가 저장할 수 있는 양보다 크더라도 모든 소스 테이블을 변환합니다. AWS SCT 변환된 코드를 프로젝트에 저장하고 대상 데이터베이스에는 적용하지 않습니다. 변환된 코드를 적용할 때 테이블의 Amazon Redshift 클러스터 할당량에 도달하면 AWS SCT 에서 경고 메시지가 표시됩니다. 또한 테이블 수가 한도에 도달할 때까지 대상 Amazon Redshift 클러스터에 테이블을 AWS SCT 적용합니다.

  • Amazon Redshift 테이블 열에 압축을 적용합니다. 이렇게 하려면 Use compression encoding을 선택합니다.

    AWS SCT 기본 Amazon Redshift 알고리즘을 사용하여 열에 압축 인코딩을 자동으로 할당합니다. 자세한 내용은 Amazon Redshift 데이터베이스 개발자 안내서압축 인코딩을 참조하세요.

    기본적으로 Amazon Redshift는 정렬 및 배포 키로 정의된 열에 압축을 적용하지 않습니다. 이 동작을 변경하여 이러한 열에 압축을 적용할 수 있습니다. 이렇게 하려면 열에 압축 인코딩 사용을 KEY 선택합니다. Use compression encoding 옵션을 선택한 경우에만 이 옵션을 선택할 수 있습니다.

Netezza에서 Amazon Redshift로의 변환 최적화 설정

Netezza에서 Amazon Redshift로의 전환 최적화 설정을 편집하려면 에서 AWS SCT설정을 선택한 다음 전환 설정을 선택합니다. 상단 목록에서 Netezza를 선택한 다음 Netezza – Amazon Redshift를 선택합니다. 왼쪽 창에서 최적화 전략을 선택합니다. AWS SCT Netezza에서 Amazon Redshift로의 변환에 대한 변환 최적화 설정을 표시합니다.

Netezza에서 Amazon Redshift로의 전환 최적화 AWS SCT 설정에는 다음과 같은 옵션이 포함됩니다.

  • 자동 테이블 최적화 작업을 수행합니다. 이 작업을 수행하려면 Use Amazon Redshift automatic table tuning을 선택합니다.

    자동 테이블 최적화는 테이블 디자인을 자동으로 최적화하는 Amazon Redshift의 자체 조정 프로세스입니다. 자세한 내용은 Amazon Redshift 데이터베이스 개발자 안내서자동 테이블 최적화 작업을 참조하세요.

    자동 테이블 최적화만 사용하려면 Initial key selection strategy에서 없음을 선택합니다.

  • 전략을 사용하여 정렬 및 배포 키를 선택합니다.

    Amazon Redshift 메타데이터, 통계 정보 또는 두 옵션을 모두 사용하여 정렬 및 배포 키를 선택할 수 있습니다. Optimization strategies 탭의 Initial key selection strategy에서 다음 옵션 중 하나를 선택합니다.

    • 메타데이터 사용, 통계 정보 무시

    • 메타데이터 무시, 통계 정보 사용

    • 메타데이터 및 통계 정보 사용

    선택한 옵션에 따라 최적화 전략을 선택할 수 있습니다. 그런 다음 각 전략에 대해 값(0~100)을 입력합니다. 이러한 값은 각 전략의 가중치를 정의합니다. AWS SCT 는 이러한 가중치 값을 사용하여 각 규칙이 배포 및 정렬 키 선택에 미치는 영향을 정의합니다. 기본값은 마이그레이션 모범 사례를 기반으로 합니다. AWS

    Find small tables 전략에서 작은 테이블의 크기를 정의할 수 있습니다. 최소 테이블 행 수최대 테이블 행 수에 테이블의 최소 및 최대 행 수를 입력하여 테이블을 작은 테이블로 정의합니다. AWS SCT 작은 테이블에 ALL 분산 스타일을 적용합니다. 이 경우 전체 테이블의 사본이 모든 노드에 배포됩니다.

  • 전략 세부 정보를 구성합니다.

    각 최적화 전략의 가중치를 정의하는 것 외에 최적화 설정도 구성할 수 있습니다. 이 작업을 수행하려면 Conversion optimization을 선택합니다.

    • Sort key columns limit에 정렬 키의 최대 열 수를 입력합니다.

    • 치우친 임계값에는 열에 대한 치우친 값의 백분율 (0—100) 을 입력합니다. AWS SCT 왜곡 값이 임계값보다 큰 열을 배포 키 후보 목록에서 제외합니다. AWS SCT 열의 기울어진 값을 총 레코드 수 대비 가장 일반적인 값의 발생 횟수의 백분율 비율로 정의합니다.

    • Top N queries from the query history table에 분석할 가장 자주 사용되는 쿼리의 수(1~100)를 입력합니다.

    • Select statistics user에서 쿼리 통계를 분석하려는 데이터베이스 사용자를 선택합니다.

    또한 Optimization strategies 탭에서 Find small tables 전략을 위한 작은 테이블의 크기를 정의할 수 있습니다. 테이블의 최소 행 수최대 테이블 행 수에 대해 테이블의 최소 및 최대 행 수를 입력하여 테이블을 작은 테이블로 간주합니다. AWS SCT 작은 테이블에 ALL 분산 스타일을 적용합니다. 이 경우 전체 테이블의 사본이 모든 노드에 배포됩니다.