

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

# 를 사용하여 데이터 웨어하우스 스키마를 Amazon RDS로 변환 AWS SCT
<a name="CHAP_Converting.DW"></a>

 AWS Schema Conversion Tool (AWS SCT)는 데이터 웨어하우스 스키마를 Amazon RDS 또는 Aurora 데이터베이스 스키마로 변환하는 대부분의 프로세스를 자동화합니다. 소스 및 대상 데이터베이스 엔진에는 다양한 기능이 있을 수 있으므로는 가능한 경우 대상 데이터베이스에 동등한 스키마를 생성하려고 AWS SCT 시도합니다. 직접 변환이 불가능한 경우는 수행할 수 있는 작업 목록이 포함된 평가 보고서를 AWS SCT 제공합니다. AWS SCT를 사용하면 키를 관리하고, 데이터 유형 및 객체를 매핑하고, 수동 변환을 생성할 수 있습니다.

AWS SCT 는 다음 데이터 웨어하우스 스키마를 변환할 수 있습니다.
+ Amazon Redshift
+ Azure Synapse Analytics(버전 10)
+ BigQuery
+ Greenplum Database(버전 4.3)
+ Microsoft SQL Server(버전 2008 이상)
+ Netezza(버전 7.0.3 이상)
+ Oracle(버전 10.2 이상)
+ Snowflake(버전 3)
+ Teradata(버전 13 이상)
+ Vertica(버전 7.2 이상)

온라인 트랜잭션 처리(OLTP) 데이터베이스 스키마 변환에 대한 자세한 내용은 [에서 데이터베이스 스키마 변환 AWS Schema Conversion Tool](CHAP_Converting.md) 항목을 참조하세요.

데이터 웨어하우스 스키마를 변환하려면 다음 단계를 수행합니다.

1. 최적화 전략 및 규칙을 지정하고 AWS SCT 에서 사용할 마이그레이션 규칙을 지정합니다. 열의 데이터 형식을 변경하고, 한 스키마에서 다른 스키마로 객체를 이동하고, 객체 이름을 변경하는 규칙을 설정할 수 있습니다.

    **설정**에서 최적화 및 마이그레이션 규칙을 지정할 수 있습니다. 최적화 전략에 대한 자세한 내용은 [와 함께 사용할 최적화 전략 및 규칙 선택 AWS SCT](#CHAP_Converting.DW.Strategy) 항목을 참조하세요. 마이그레이션 규칙에 대한 자세한 내용은 [에서 마이그레이션 규칙 생성 AWS SCT](#CHAP_Converting.DW.MigrationRules) 항목을 참조하세요.

1.  AWS SCT 에서 데이터 웨어하우스 변환 방식을 최적화할 수 있도록 소스 데이터 웨어하우스에 대한 통계를 제공합니다. 데이터베이스에서 직접 통계를 수집하거나 기존 통계 파일을 업로드할 수 있습니다. 데이터 웨어하우스 통계 제공에 대한 자세한 내용은 [에 대한 통계 수집 또는 업로드 AWS SCT](#CHAP_Converting.DW.Statistics) 항목을 참조하세요.

1. 자동으로 변환할 수 없는 스키마 요소를 자세히 설명하는 데이터베이스 마이그레이션 평가 보고서를 생성합니다. 이 보고서를 사용하면 대상 데이터베이스에서 소스 데이터베이스와 호환되는 스키마를 수동으로 만들어야 하는 위치를 식별할 수 있습니다. 평가 보고서에 대한 자세한 내용은 [에서 평가 보고서 사용 AWS Schema Conversion Tool](CHAP_AssessmentReport.md) 섹션을 참조하세요.

1. 스키마를 변환합니다. AWS SCT 에서 사용자가 검토할 수 있도록 변환된 스키마의 로컬 버전을 생성하지만 준비가 될 때까지는 대상 데이터베이스에 적용되지 않습니다. 변환에 대한 자세한 내용은 [를 사용하여 스키마 변환 AWS SCT](#CHAP_Converting.DW.Convert) 섹션을 참조하세요.

1.  스키마를 변환한 후 키를 관리하고 편집할 수 있습니다. 키 관리는 데이터 웨어하우스 변환의 핵심입니다. 키 관리에 대한 자세한 내용은 [에서 키 관리 및 사용자 지정 AWS SCT](#CHAP_Converting.DW.Keys) 섹션을 참조하세요.

1.  자동으로 변환할 수 없는 스키마 요소가 있는 경우 소스 스키마를 업데이트한 다음 다시 변환하거나, 대상 데이터베이스에서 동일한 스키마 요소를 생성할 수 있습니다. 스키마 요소의 수동 변환에 대한 자세한 내용은 [에서 수동 변환 처리 AWS SCT](#CHAP_Converting.DW.Manual) 섹션을 참조하세요. 소스 스키마 업데이트에 대한 자세한 내용은 [에서 변환된 스키마 업데이트 및 새로 고침 AWS SCT](#CHAP_Converting.DW.UpdateRefresh) 섹션을 참조하세요.

1. 준비가 되면 변환된 스키마를 대상 데이터베이스에 적용할 수 있습니다. 변환된 스키마 저장 및 적용에 대한 자세한 내용은 [에서 변환된 스키마 저장 및 적용 AWS SCT](#CHAP_Converting.DW.SaveAndApply) 섹션을 참조하세요.

## Amazon Redshift를 대상으로 사용할 수 있는 권한
<a name="CHAP_Converting.DW.ConfigureTarget"></a>

Amazon Redshift를 대상으로 사용하기 위해 필요한 권한은 다음과 같습니다.
+ CREATE ON DATABASE - 데이터베이스에 새 스키마를 생성할 수 있습니다.
+ CREATE ON SCHEMA - 데이터베이스 스키마에 객체를 생성할 수 있습니다.
+ GRANT USAGE ON LANGUAGE - 데이터베이스에 새 함수와 프로시저를 생성할 수 있습니다.
+ GRANT SELECT ON ALL TABLES IN SCHEMA pg\$1catalog - Amazon Redshift 클러스터에 대한 시스템 정보를 사용자에게 제공합니다.
+ GRANT SELECT ON pg\$1class\$1info - 사용자에게 테이블 배포 스타일에 대한 정보를 제공합니다.

다음 코드 예제를 사용하여 데이터베이스 사용자를 생성하고 권한을 부여할 수 있습니다.

```
CREATE USER user_name PASSWORD your_password;
GRANT CREATE ON DATABASE db_name TO user_name;
GRANT CREATE ON SCHEMA schema_name TO user_name;
GRANT USAGE ON LANGUAGE plpythonu TO user_name;
GRANT USAGE ON LANGUAGE plpgsql TO user_name;
GRANT SELECT ON ALL TABLES IN SCHEMA pg_catalog TO user_name;
GRANT SELECT ON pg_class_info TO user_name;
GRANT SELECT ON sys_serverless_usage TO user_name;
GRANT SELECT ON pg_database_info TO user_name;
GRANT SELECT ON pg_statistic TO user_name;
```

이전 예제에서 *user\$1name*을 사용자 이름으로 바꿉니다. 그런 다음 *db\$1name*을 대상 Amazon Redshift 데이터베이스의 이름으로 바꿉니다. 그 다음으로, *schema\$1name*을 Amazon Redshift 스키마의 이름으로 바꿉니다. 변환된 코드를 적용하거나 데이터를 마이그레이션할 각 대상 스키마에 대해 `GRANT CREATE ON SCHEMA` 작업을 반복합니다. 마지막으로 *your\$1password*를 안전한 암호로 바꿉니다.

대상 Amazon Redshift 데이터베이스에 확장 팩을 적용할 수 있습니다. 확장 팩은 객체를 Amazon Redshift로 변환할 때 필요한 소스 데이터베이스 함수를 에뮬레이션하는 추가 기능 모듈입니다. 자세한 내용은 [에서 확장 팩 사용 AWS Schema Conversion Tool](CHAP_ExtensionPack.md) 단원을 참조하십시오.

이 작업을 수행하려면 사용자를 대신하여 Amazon S3 버킷에 액세스할 수 있는 권한이 AWS SCT 필요합니다. 이 권한을 제공하려면 다음 정책을 사용하여 AWS Identity and Access Management (IAM) 사용자를 생성합니다.

## 와 함께 사용할 최적화 전략 및 규칙 선택 AWS SCT
<a name="CHAP_Converting.DW.Strategy"></a>

가 데이터 웨어하우스 스키마를 AWS Schema Conversion Tool 변환하는 방법을 최적화하려면 도구에서 사용할 전략과 규칙을 선택할 수 있습니다. 스키마를 변환하고 제안된 키를 검토한 후 규칙을 조정하거나 전략을 변경하여 원하는 결과를 얻을 수 있습니다.

**최적화 전략 및 규칙을 선택하려면**

1. **설정**을 선택하고 **프로젝트 설정**을 선택합니다. [**Current project settings**] 대화 상자가 나타납니다.

1. 왼쪽 창에서 **Optimization Strategies**를 선택합니다. 최적화 전략은 기본값이 선택된 상태로 오른쪽 창에 표시됩니다.

1. **Strategy Sector**에서 사용하려는 최적화 전략을 선택합니다. 사용자는 다음 중에서 선택할 수 있습니다.
   + **Use metadata, ignore statistical information** - 이 전략에서는 메타데이터의 정보만 최적화 결정에 사용됩니다. 예를 들어 소스 테이블에 둘 이상의 인덱스가 있는 경우 소스 데이터베이스 정렬 순서가 사용되고 첫 번째 인덱스는 이 배포 키가 됩니다.

      
   + **Ignore metadata, use statistical information** - 이 전략에서는 통계 정보에서만 최적화 결정을 내립니다. 이 전략은 통계가 제공되는 테이블 및 열에만 적용됩니다. 자세한 내용은 [에 대한 통계 수집 또는 업로드 AWS SCT](#CHAP_Converting.DW.Statistics) 단원을 참조하십시오.

      
   + **Use metadata and use statistical information** - 이 전략에서는 메타데이터와 통계를 모두 최적화 결정에 사용합니다.

      

1. 최적화 전략을 선택한 후 사용할 규칙을 선택할 수 있습니다. 사용자는 다음 중에서 선택할 수 있습니다.
   + **Choose Distribution Key and Sort Keys using metadata**
   + **Choose fact table and appropriate dimension for collation**
   + **Analyze cardinality of indexes' columns**
   + **Find the most used tables and columns from the query log table**

   각 규칙에 대해 정렬 키의 가중치와 배포 키의 가중치를 입력할 수 있습니다. AWS SCT 에서는 스키마를 변환할 때 선택한 가중치를 사용합니다. 나중에 제안된 키를 검토할 때 결과가 만족스럽지 않으면 여기로 돌아와 설정을 변경할 수 있습니다. 자세한 내용은 [에서 키 관리 및 사용자 지정 AWS SCT](#CHAP_Converting.DW.Keys) 단원을 참조하십시오.

## 에 대한 통계 수집 또는 업로드 AWS SCT
<a name="CHAP_Converting.DW.Statistics"></a>

가 데이터 웨어하우스 스키마를 AWS Schema Conversion Tool 변환하는 방법을 최적화하기 위해 도구에서 사용할 수 있는 소스 데이터베이스의 통계를 제공할 수 있습니다. 데이터베이스에서 직접 통계를 수집하거나 기존 통계 파일을 업로드할 수 있습니다.

**통계를 제공 및 검토하려면**

1. 프로젝트를 열고 소스 데이터베이스에 연결합니다.

1. 프로젝트의 왼쪽 패널에서 스키마 객체를 선택하고 해당 객체에 대한 컨텍스트(마우스 오른쪽 버튼 클릭) 메뉴를 엽니다. 다음과 같이 **Collect Statistics** 또는 **Upload Statistics**를 선택합니다.  
![\[통계 수집이 있는 콘텍스트 메뉴\]](http://docs.aws.amazon.com/ko_kr/SchemaConversionTool/latest/userguide/images/collect-statistics.png)

1. 프로젝트의 왼쪽 패널에서 스키마 객체를 선택한 다음 **통계** 탭을 선택합니다. 객체에 대한 통계를 검토할 수 있습니다.  
![\[통계 탭\]](http://docs.aws.amazon.com/ko_kr/SchemaConversionTool/latest/userguide/images/statistics.png)

   나중에 제안된 키를 검토할 때 결과가 만족스럽지 않으면 추가 통계를 수집하고 이 절차를 반복할 수 있습니다. 자세한 내용은 [에서 키 관리 및 사용자 지정 AWS SCT](#CHAP_Converting.DW.Keys) 단원을 참조하십시오.

## 에서 마이그레이션 규칙 생성 AWS SCT
<a name="CHAP_Converting.DW.MigrationRules"></a>

로 스키마를 변환 AWS SCT하기 전에 마이그레이션 규칙을 설정할 수 있습니다. *마이그레이션 규칙*은 열의 데이터 유형 변경, 한 스키마에서 다른 스키마로 객체 이동, 객체 이름 변경 등의 작업을 수행할 수 있습니다. 예를 들어 소스 스키마에 `test_TABLE_NAME`이라는 테이블 세트가 있다고 가정해 봅니다. 대상 스키마의 접두사 `test_`를 접두사 `demo_`로 변경하는 규칙을 설정할 수 있습니다.

**참고**  
서로 다른 소스 및 대상 데이터베이스 엔진에 대한 마이그레이션 규칙만 생성할 수 있습니다.

다음 작업을 수행하는 마이그레이션 규칙을 생성할 수 있습니다.
+ 접두사 추가, 제거 또는 교체
+ 접미사 추가, 제거 또는 교체
+ 열 데이터 정렬 변경
+ 데이터 유형 변경
+ `char`, `varchar`, `nvarchar` 및 `string` 데이터 유형의 길이 변경
+ 객체 이동
+ 객체 이름 변경

다음 객체에 대한 마이그레이션 규칙을 생성할 수 있습니다.
+ Database 
+ 스키마 
+ 표 
+ 열 

### 마이그레이션 규칙 생성
<a name="CHAP_Converting.DW.MigrationRules.Map"></a>

마이그레이션 규칙을 생성하고 규칙을 프로젝트의 일부로 저장할 수 있습니다. 프로젝트를 연 상태에서 다음 절차를 사용하여 마이그레이션 규칙을 생성합니다.

**마이그레이션 규칙을 생성하려면**

1. **보기** 메뉴에서 **매핑 보기**를 선택합니다.

1.  **Server mappings**에서 소스 및 대상 서버 쌍을 선택합니다.

1. **New migration rule**을 선택합니다. **변환 규칙** 대화 상자가 나타납니다.

1. **새 규칙 추가**를 선택합니다. 규칙 목록에 새 행이 추가됩니다.

1. 규칙을 구성합니다.

   1. **Name**(이름)에 규칙의 이름을 입력합니다.

   1. **For**에서 규칙이 적용되는 객체 유형을 선택합니다.

   1. **where**에서 마이그레이션 규칙을 적용하기 전에 객체에 적용할 필터를 입력합니다. where 절은 like 절을 사용하여 평가됩니다. 정확한 이름을 입력하여 하나의 객체를 선택하거나 패턴을 입력하여 여러 객체를 선택할 수 있습니다.

      **where** 절에 사용할 수 있는 필드는 객체 유형에 따라 다릅니다. 예를 들어, 객체 유형이 스키마인 경우 스키마 이름에 사용할 수 있는 필드는 하나뿐입니다.

   1. **작업**에서 생성하려는 마이그레이션 규칙 유형을 선택합니다.

   1. 규칙 유형에 따라 하나 또는 두 개의 추가 값을 입력합니다. 예를 들어, 객체의 이름을 바꾸려면 객체의 새 이름을 입력합니다. 접두사를 바꾸려면 이전 접두사와 새 접두사를 입력합니다.

1. 마이그레이션 규칙을 구성한 후 **저장**을 선택하여 규칙을 저장합니다. **취소**를 선택하여 변경 사항을 취소할 수도 있습니다.  
![\[변환 규칙 대화 상자\]](http://docs.aws.amazon.com/ko_kr/SchemaConversionTool/latest/userguide/images/transformation-rules.png)

1. 규칙 추가, 편집 및 삭제를 완료한 후 **모두 저장**을 선택하여 변경 내용을 모두 저장합니다.

1. **닫기**를 선택하여 **변환 규칙** 대화 상자를 닫습니다.

토글 아이콘을 사용하면 마이그레이션 규칙을 삭제하지 않고 끌 수 있습니다. 복사 아이콘을 사용하면 기존 마이그레이션 규칙을 복제할 수 있습니다. 연필 아이콘을 사용하면 기존 마이그레이션 규칙을 편집할 수 있습니다. 삭제 아이콘을 사용하면 기존 마이그레이션 규칙을 삭제할 수 있습니다. 마이그레이션 규칙 변경 내용을 저장하려면 **모두 저장**을 선택합니다.

### 마이그레이션 규칙 내보내기
<a name="CHAP_Converting.DW.MigrationRules.Export"></a>

 AWS Database Migration Service (AWS DMS)를 사용하여 소스 데이터베이스에서 대상 데이터베이스로 데이터를 마이그레이션하는 경우 마이그레이션 규칙에 대한 정보를 제공할 수 있습니다 AWS DMS. 작업에 대한 자세한 내용은 [AWS Database Migration Service 복제 작업 작업을](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.html) 참조하세요.

**마이그레이션 규칙을 내보내려면**

1. 의 **보기 메뉴에서 매핑** **보기를** AWS Schema Conversion Tool선택합니다.

1.  **Migration rules**에서 마이그레이션 규칙을 선택한 다음, **Modify migration rule**을 선택합니다.

1.  **스크립트 내보내기를 AWS DMS** 선택합니다.

1. 스크립트를 저장할 위치로 이동한 다음 **저장**을 선택합니다. 마이그레이션 규칙은에서 사용할 수 있는 JSON 스크립트로 저장됩니다 AWS DMS.

## 를 사용하여 스키마 변환 AWS SCT
<a name="CHAP_Converting.DW.Convert"></a>

프로젝트를 소스 데이터베이스와 대상 데이터베이스 모두에 연결하면 AWS Schema Conversion Tool 프로젝트에 소스 데이터베이스의 스키마가 왼쪽 패널에 표시됩니다. 스키마는 트리 보기 형식으로 표시되며 트리의 각 노드는 지연 로드됩니다. 트리 보기에서 노드를 선택하면 이때 AWS SCT 가 소스 데이터베이스의 스키마 정보를 요청합니다.

소스 데이터베이스에서 스키마 항목을 선택한 다음 해당 스키마를 대상 데이터베이스의 데이터베이스 엔진에 해당하는 동일한 스키마로 변환할 수 있습니다. 소스 데이터베이스에서 변환할 스키마 항목을 선택할 수 있습니다. 선택한 스키마 항목이 상위 항목에 종속되는 경우는 상위 항목에 대한 스키마 AWS SCT 도 생성합니다. 예를 들어 변환할 테이블에서 열을 선택하면는 열, 열이 있는 테이블 및 테이블이 있는 데이터베이스에 대한 스키마를 AWS SCT 생성합니다.

### 스키마 변환
<a name="CHAP_Converting.DW.Convert.Convert"></a>

소스 데이터베이스의 스키마를 변환하려면 변환할 스키마 이름의 확인란을 선택합니다. 그런 다음 프로젝트의 왼쪽 패널에서 이 스키마를 선택합니다. 그러면 AWS SCT 가 스키마 이름을 파란색으로 강조 표시합니다. 스키마의 컨텍스트(마우스 오른쪽 버튼 클릭) 메뉴를 열고 아래와 같이 **스키마 변환**을 선택합니다.

![\[스키마 변환\]](http://docs.aws.amazon.com/ko_kr/SchemaConversionTool/latest/userguide/images/transform_schema.png)


소스 데이터베이스에서 스키마를 변환한 후 프로젝트의 왼쪽 패널에서 스키마 항목을 선택하고 프로젝트의 중앙 패널에서 변환된 스키마를 볼 수 있습니다. 하단 중앙 패널에는 다음과 같이 변환된 스키마를 생성하기 위한 속성 및 SQL 명령이 표시됩니다.

![\[소스 스키마 항목 선택\]](http://docs.aws.amazon.com/ko_kr/SchemaConversionTool/latest/userguide/images/select_schema_item.png)


스키마를 변환한 후 프로젝트를 저장할 수 있습니다. 소스 데이터베이스의 스키마 정보는 프로젝트와 함께 저장됩니다. 이 기능을 사용하면 소스 데이터베이스에 연결하지 않고도 오프라인으로 작업할 수 있습니다. 소스 데이터베이스에 대해 **데이터베이스에서 새로 고침**을 선택하면 AWS SCT 가 소스 데이터베이스에 연결하여 프로젝트의 스키마를 업데이트합니다. 자세한 내용은 [에서 변환된 스키마 업데이트 및 새로 고침 AWS SCT](#CHAP_Converting.DW.UpdateRefresh) 단원을 참조하십시오.

자동으로 변환할 수 없는 항목의 데이터베이스 마이그레이션 평가 보고서를 생성할 수 있습니다. 평가 보고서는 자동으로 변환할 수 없는 스키마 항목을 식별하고 처리하는 데 유용합니다. 자세한 내용은 [에서 평가 보고서 사용 AWS Schema Conversion Tool](CHAP_AssessmentReport.md) 단원을 참조하십시오.

가 변환된 스키마를 AWS SCT 생성하면 대상 데이터베이스에 즉시 적용되지 않습니다. 대신 대상 데이터베이스에 적용할 준비가 될 때까지 변환된 스키마를 로컬에 저장합니다. 자세한 내용은 [변환된 스키마 적용](#CHAP_Converting.DW.Applying) 단원을 참조하십시오.

### 변환된 스키마 편집
<a name="CHAP_Converting.DW.Convert.Edit"></a>

변환된 스키마를 편집하고 변경 내용을 프로젝트의 일부로 저장할 수 있습니다.

**변환된 스키마를 편집하려면**

1. 소스 데이터베이스의 스키마를 표시하는 왼쪽 패널에서 변환된 스키마를 편집할 스키마 항목을 선택합니다.

1. 선택한 항목에 대해 변환된 스키마를 표시하는 하단 중앙 패널에서 **SQL** 탭을 선택합니다.

1. **SQL** 탭에 표시된 텍스트에서 필요에 따라 스키마를 변경합니다. 프로젝트를 업데이트하면 스키마가 프로젝트에 자동으로 저장됩니다.  
![\[대상 데이터베이스에서 스키마 새로 고침\]](http://docs.aws.amazon.com/ko_kr/SchemaConversionTool/latest/userguide/images/edit_converted_schema.png)

변환된 스키마에 대한 변경 내용은 업데이트 시 프로젝트와 함께 저장됩니다. 소스 데이터베이스에서 스키마 항목을 새로 변환하고 해당 항목에 대해 이전에 변환된 스키마로 업데이트한 경우 해당하는 기존 업데이트는 소스 데이터베이스를 기반으로 새로 변환된 스키마 항목으로 대체됩니다.

### 변환된 스키마 지우기
<a name="CHAP_Converting.DW.Convert.Clear"></a>

대상 데이터베이스에 스키마를 적용할 때까지는 변환된 스키마 AWS SCT 만 프로젝트에 로컬로 저장합니다. 대상 데이터베이스의 트리 보기 노드를 선택한 다음 **데이터베이스에서 새로 고침**을 선택하면 프로젝트에서 계획된 스키마를 지울 수 있습니다. 대상 데이터베이스에 기록된 스키마가 없으므로 데이터베이스에서 새로 고치면 대상 데이터베이스에 있는 것과 일치하도록 AWS SCT 프로젝트에서 계획된 스키마 요소가 제거됩니다.

## 에서 키 관리 및 사용자 지정 AWS SCT
<a name="CHAP_Converting.DW.Keys"></a>

를 사용하여 스키마를 변환 AWS Schema Conversion Tool한 후 키를 관리하고 편집할 수 있습니다. 키 관리는 데이터 웨어하우스 변환의 핵심입니다.

키를 관리하려면 대상 데이터베이스에서 테이블을 선택하고 다음과 같이 **키 관리** 탭을 선택합니다.

![\[키 관리 탭\]](http://docs.aws.amazon.com/ko_kr/SchemaConversionTool/latest/userguide/images/key-management.png)


왼쪽 창에는 주요 제안 사항과 각 제안 사항에 대한 신뢰도가 포함되어 있습니다. 제안 사항 중 하나를 선택하거나 오른쪽 창에서 편집하여 키를 사용자 지정할 수 있습니다.

키 선택 항목이 예상과 다를 경우 최적화 전략을 편집한 다음 변환을 다시 시도할 수 있습니다. 자세한 내용은 [와 함께 사용할 최적화 전략 및 규칙 선택 AWS SCT](#CHAP_Converting.DW.Strategy) 단원을 참조하십시오.

### 관련 주제
<a name="w2aac21c25c13"></a>
+ [최상의 정렬 키 선택](https://docs.aws.amazon.com/redshift/latest/dg/c_best-practices-sort-key.html)
+ [최상의 배포 스타일 선택](https://docs.aws.amazon.com/redshift/latest/dg/c_best-practices-best-dist-key.html)

## 에서 평가 보고서 생성 및 사용 AWS SCT
<a name="CHAP_Converting.DW.AssessmentReport"></a>

는 스키마를 변환하는 데 도움이 되는 *데이터베이스 마이그레이션 평가 보고서를* AWS Schema Conversion Tool 생성합니다. 데이터베이스 마이그레이션 평가 보고서는 소스 데이터베이스에서 대상 데이터베이스로의 스키마 변환에 대한 중요한 정보를 제공합니다. 이 보고서는 모든 스키마 변환 작업을 요약하고 대상 데이터베이스의 DB 엔진으로 변환할 수 없는 스키마에 대한 작업 항목을 자세히 설명합니다. 또한 이 보고서에는 대상 데이터베이스에서 자동으로 변환할 수 없는 동등한 코드를 작성하는 데 드는 예상 작업량도 포함되어 있습니다.

### 데이터베이스 마이그레이션 평가 보고서 생성
<a name="CHAP_Converting.DW.AssessmentReport.Create"></a>

다음 절차에 따라 데이터베이스 마이그레이션 평가 보고서를 생성합니다.

**데이터베이스 마이그레이션 평가 보고서를 생성하려면**

1. 소스 데이터베이스의 스키마를 표시하는 왼쪽 패널에서 평가 보고서를 생성할 스키마 객체를 선택합니다.

1. 객체의 컨텍스트(마우스 오른쪽 버튼 클릭) 메뉴를 열고 **보고서 생성**을 선택합니다.  
![\[데이터베이스 마이그레이션 평가 보고서 생성\]](http://docs.aws.amazon.com/ko_kr/SchemaConversionTool/latest/userguide/images/create_assessment_report.png)

### 평가 보고서 요약
<a name="CHAP_Converting.DW.AssessmentReport.Summary"></a>

평가 보고서를 생성하면 평가 보고서 보기가 열리고 **요약** 탭이 표시됩니다. **요약** 탭에는 데이터베이스 마이그레이션 평가 보고서의 요약 정보가 표시됩니다. 자동으로 변환된 항목과 자동으로 변환되지 않은 항목이 표시됩니다.

![\[평가 보고서 요약\]](http://docs.aws.amazon.com/ko_kr/SchemaConversionTool/latest/userguide/images/summary_tab.png)


대상 데이터베이스 엔진으로 자동 변환할 수 없는 스키마 항목의 경우, 요약에는 대상 DB 인스턴스에서 소스에 있는 것과 동일한 스키마 항목을 생성하는 데 필요한 예상 작업량이 포함됩니다.

보고서에는 이러한 스키마 항목을 변환하는 데 걸리는 예상 시간이 다음과 같이 분류됩니다.
+ **단순** - 1시간 내에 완료할 수 있는 작업입니다.
+ **중간** - 더 복잡하고 1\$14시간 사이에 완료할 수 있는 작업입니다.
+ **Significant** - 매우 복잡하며 완료하는 데 4시간 이상 걸리는 작업입니다.

### 평가 보고서 작업 항목
<a name="CHAP_Converting.DW.AssessmentReport.ActionItems"></a>

평가 보고서 보기에는 **작업 항목** 탭도 포함되어 있습니다. 이 탭에는 대상 데이터베이스의 데이터베이스 엔진으로 자동 변환할 수 없는 항목 목록이 포함되어 있습니다. 목록에서 작업 항목을 선택하면 AWS SCT 가 스키마에서 해당 작업 항목이 적용되는 항목을 강조 표시합니다.

또한 보고서에는 스키마 항목을 수동으로 변환하는 방법에 대한 권장 사항도 포함되어 있습니다. 수동 변환 처리 방법 결정에 대한 자세한 내용은 [에서 수동 변환 처리 AWS SCT](#CHAP_Converting.DW.Manual) 섹션을 참조하세요.

![\[작업 항목 탭\]](http://docs.aws.amazon.com/ko_kr/SchemaConversionTool/latest/userguide/images/action_items_tab.png)


### 평가 보고서 저장
<a name="CHAP_Converting.DW.AssessmentReport.Save"></a>

데이터베이스 마이그레이션 평가 보고서의 로컬 사본을 PDF 파일 또는 쉼표로 구분된 값(CSV) 파일로 저장할 수 있습니다. CSV 파일에는 작업 항목 정보만 포함되어 있습니다. PDF 파일에는 다음 예제와 같이 요약 및 작업 항목 정보가 모두 포함되어 있습니다.

![\[데이터베이스 마이그레이션 평가 보고서\]](http://docs.aws.amazon.com/ko_kr/SchemaConversionTool/latest/userguide/images/assessment_report.png)


## 에서 수동 변환 처리 AWS SCT
<a name="CHAP_Converting.DW.Manual"></a>

평가 보고서에는 대상 데이터베이스의 데이터베이스 엔진으로 자동 변환할 수 없는 항목 목록이 포함되어 있습니다. 변환할 수 없는 각 항목의 경우 **작업 항목** 탭에는 작업 항목이 포함되어 있습니다.

다음과 같은 방법으로 평가 보고서의 작업 항목에 응답할 수 있습니다.
+ 소스 데이터베이스 스키마 수정
+ 대상 데이터베이스 스키마 수정

### 소스 스키마 수정
<a name="CHAP_Converting.DW.Manual.Source"></a>

일부 항목의 경우 소스 데이터베이스의 데이터베이스 스키마를 자동으로 변환할 수 있는 스키마로 수정하는 것이 훨씬 쉬울 수 있습니다. 먼저 새로운 변경 내용이 애플리케이션 아키텍처와 호환되는지 확인하고 소스 데이터베이스의 스키마를 업데이트합니다. 마지막으로 업데이트된 스키마 정보로 프로젝트를 새로 고칩니다. 그런 다음 업데이트된 스키마를 변환하고 새 데이터베이스 마이그레이션 평가 보고서를 생성할 수 있습니다. 소스 스키마에서 변경된 항목에 대해서는 더 이상 작업 항목이 표시되지 않습니다.

이 프로세스의 장점은 소스 데이터베이스를 새로 고칠 때 항상 업데이트된 스키마를 사용할 수 있다는 것입니다.

### 대상 스키마 수정
<a name="CHAP_Converting.DW.Manual.Target"></a>

일부 항목의 경우 변환된 스키마를 대상 데이터베이스에 적용한 다음 자동으로 변환할 수 없는 항목에 대해서는 대상 데이터베이스에 동일한 스키마 항목을 수동으로 추가하는 것이 훨씬 쉬울 수 있습니다. 스키마를 적용하여 대상 데이터베이스로 자동 변환할 수 있는 모든 스키마를 작성할 수 있습니다. 자세한 내용은 [에서 변환된 스키마 저장 및 적용 AWS SCT](#CHAP_Converting.DW.SaveAndApply) 단원을 참조하십시오.

대상 데이터베이스에 작성되는 스키마에는 자동으로 변환할 수 없는 항목이 포함되어 있지 않습니다. 대상 데이터베이스에 스키마를 적용한 후 소스 데이터베이스의 스키마와 동일한 스키마를 대상 데이터베이스에서 수동으로 생성할 수 있습니다. 데이터베이스 마이그레이션 평가 보고서의 작업 항목에는 동일한 스키마를 생성하는 방법에 대한 제안 사항이 포함되어 있습니다.

**주의**  
대상 데이터베이스에서 스키마를 수동으로 생성하는 경우 수행하는 모든 수동 작업의 사본을 저장합니다. 프로젝트에서 변환된 스키마를 대상 데이터베이스에 다시 적용하면 수행한 수동 작업을 덮어씁니다.

경우에 따라서는 대상 데이터베이스에 동일한 스키마를 생성할 수 없습니다. 대상 데이터베이스의 엔진에서 사용할 수 있는 기능을 사용하려면 애플리케이션과 데이터베이스의 일부를 다시 설계해야 할 수 있습니다. 자동으로 변환할 수 없는 스키마를 그냥 무시해도 되는 경우도 있습니다.

## 에서 변환된 스키마 업데이트 및 새로 고침 AWS SCT
<a name="CHAP_Converting.DW.UpdateRefresh"></a>

 AWS Schema Conversion Tool 프로젝트에서 소스 스키마와 대상 스키마를 모두 업데이트할 수 있습니다.
+ **소스** – 소스 데이터베이스의 스키마를 업데이트하면 AWS SCT 가 프로젝트의 스키마를 소스 데이터베이스의 최신 스키마로 바꿉니다. 이 기능을 사용하면 소스 데이터베이스의 스키마가 변경된 경우 프로젝트를 업데이트할 수 있습니다.
+ **대상** – 대상 데이터베이스의 스키마를 업데이트하면 AWS SCT 가 프로젝트의 스키마를 대상 데이터베이스의 최신 스키마로 바꿉니다. 대상 데이터베이스에 스키마를 적용하지 않은 경우는 변환된 스키마를 프로젝트에서 AWS SCT 지웁니다. 그런 다음 소스 데이터베이스의 스키마를 새로운 대상 데이터베이스로 변환할 수 있습니다.

**데이터베이스에서 새로 고침**을 선택하여 AWS SCT 프로젝트의 스키마를 업데이트합니다.

## 에서 변환된 스키마 저장 및 적용 AWS SCT
<a name="CHAP_Converting.DW.SaveAndApply"></a>

가 변환된 스키마를 AWS Schema Conversion Tool 생성하면(에 표시된 대로[를 사용하여 스키마 변환 AWS SCT](#CHAP_Converting.DW.Convert)) 변환된 스키마가 대상 데이터베이스에 즉시 적용되지 않습니다. 대신 대상 데이터베이스에 적용할 준비가 될 때까지 변환된 스키마를 프로젝트에 로컬로 저장합니다. 이 기능을 사용하면 대상 데이터베이스 엔진으로 자동 변환할 수 없는 스키마 항목으로 작업할 수 있습니다. 자동으로 변환할 수 없는 항목에 대한 자세한 내용은 [에서 평가 보고서 사용 AWS Schema Conversion Tool](CHAP_AssessmentReport.md) 섹션을 참조하세요.

선택적으로 대상 데이터베이스에 스키마를 적용하기 전에 도구에서 변환된 스키마를 SQL 스크립트로 파일에 저장하도록 할 수 있습니다. 또한 도구에서 변환된 스키마를 대상 데이터베이스에 직접 적용하도록 할 수도 있습니다.

### 변환된 스키마를 파일에 저장
<a name="CHAP_Converting.DW.Saving"></a>

변환된 스키마를 텍스트 파일에 SQL 스크립트로 저장할 수 있습니다. 이 접근 방식을 사용하면에서 생성된 SQL 스크립트를 수정 AWS SCT 하여 도구가 자동으로 변환할 수 없는 항목을 처리할 수 있습니다. 그런 다음, 대상 DB 인스턴스에서 업데이트된 스크립트를 실행하여 변환된 스키마를 대상 데이터베이스에 적용할 수 있습니다.

**변환된 스키마를 SQL 스크립트로 저장하려면**

1.  스키마를 선택하고 컨텍스트(마우스 오른쪽 버튼 클릭) 메뉴를 엽니다.

1.  **SQL로 저장**을 선택합니다.

1.  파일 이름을 입력하고 **저장**을 선택합니다.

1.  다음 옵션 중 하나를 사용하여 변환된 스키마를 저장합니다.
   + **단일 파일**
   + **Single file per stage**
   + **Single file per statement**

**SQL 스크립트의 형식을 선택하려면**

1. **설정** 메뉴에서 **프로젝트 설정**을 선택합니다.

1.  **Save scripts**를 선택합니다.

1.  **공급업체**에서 데이터베이스 플랫폼을 선택합니다.

1. **Save SQL scripts to**에서 데이터베이스 스키마 스크립트를 저장할 방법을 선택합니다.

1.  **확인**을 선택하여 설정을 저장합니다.

### 변환된 스키마 적용
<a name="CHAP_Converting.DW.Applying"></a>

변환된 스키마를 대상 데이터베이스에 적용할 준비가 되면 프로젝트의 오른쪽 패널에서 스키마 요소를 선택합니다. 스키마 요소의 컨텍스트(마우스 오른쪽 버튼 클릭) 메뉴를 열고 아래와 같이 **Apply to database**를 선택합니다.

![\[데이터베이스에 적용\]](http://docs.aws.amazon.com/ko_kr/SchemaConversionTool/latest/userguide/images/write_to_database.png)


### 확장 팩 스키마
<a name="CHAP_Converting.DW.SaveAndApply.Ext"></a>

변환된 스키마를 대상 DB 인스턴스에 처음 적용하면 AWS SCT 가 대상 DB 인스턴스에 추가적인 스키마를 추가합니다. 이 스키마는 변환된 스키마를 대상 DB 인스턴스에 쓸 때 필요한 소스 데이터베이스의 시스템 함수를 구현합니다. 이 스키마를 확장 팩 스키마라고 합니다.

확장 팩 스키마를 수정하지 않도록 합니다. 그렇지 않으면 대상 DB 인스턴스에 작성된 변환된 스키마에서 예상치 못한 결과가 발생할 수 있습니다. 스키마가 대상 DB 인스턴스로 완전히 마이그레이션되고 더 이상 필요하지 않은 AWS SCT경우 확장 팩 스키마를 삭제할 수 있습니다.

확장 팩 스키마는 소스 데이터베이스에 따라 다음과 같이 이름이 지정됩니다.
+ Greenplum: `aws_greenplum_ext`
+ Microsoft SQL Server: `aws_sqlserver_ext`
+ Netezza: `aws_netezza_ext`
+ Oracle: `aws_oracle_ext`
+ Snowflake: `aws_snowflake_ext`
+ Teradata: `aws_teradata_ext`
+ Vertica: `aws_vertica_ext`

자세한 내용은 [에서 확장 팩 사용 AWS Schema Conversion Tool](CHAP_ExtensionPack.md) 단원을 참조하십시오.

### Python 라이브러리
<a name="CHAP_Converting.DW.SaveAndApply.Py"></a>

Amazon Redshift에서 사용자 지정 함수를 생성하려면 Python 언어를 사용합니다. AWS SCT 확장 팩을 사용하여 Amazon Redshift 데이터베이스용 python 라이브러리를 설치합니다. 자세한 내용은 [에서 확장 팩 사용 AWS Schema Conversion Tool](CHAP_ExtensionPack.md) 단원을 참조하십시오.