AWS

[AWS SCT] AWS SCT를 활용하여 이기종 데이터베이스 스키마 전환하기

SungWookKang 2022. 4. 7. 22:53
반응형

[AWS SCT] AWS SCT 활용하여 이기종 데이터베이스 스키마 전환하기

-          툴을 활용하여 쉽고 빠르게 이기종 데이터베이스 호환 스키마를 만들기

 

l  Version : AWS SCT

 

이전 포스팅에 AWS DMS 서비스를 소개하면서 이기종 간의 데이터 마이그레이션에 대해서 알아 보았다. AWS DMS 이기종간의 데이터 마이그레이션 뿐만 아니라, 실시간 마이그레이션, 그리고 마이그레이션 진행과정에서 데이터 마스킹등 다양한 기술을 지원한다.

l  [AWS DMS] AWS DMS 활용하여 데이터 마이그레이션 과정에서 데이터 마스킹 하기 : https://sungwookkang.com/1496

 

그렇다면 이기종 간의 데이터 마이그레이션을 진행하기 위해서는 스미카 생성이 선행되어야 하는데, 이기종 간의 스키마 구조는 동일하게 하더라도, 데이터 타입은 벤더 마다 지원하는 부분이 조금씩 다르다. 그리고 모든 스키마를 손으로 한땀 한땀 수정하기에는 적은 수의 테이블이면 상관이 없지만, 많은 수의 컬럼을 가진 테이블이나, 테이블 개수가 많다면 수작업으로 하기에는 많은 불편함이 있을 것이다. 이처럼 벤더사에서 제공하는 데이터 타입에서 불일치에 대한 변환 작업과, 수동 작업으로 발생하는 여러가지 문제를 해결하기 위해서 AWS에서는 SCT라는 솔루션을 제공하고 있다. 이번 포스트에서는 AWS SCT에서 대해서 알아본다.

 

AWS SCT(Schema Conversion Tool) 기존 데이터베이스 스키마를 데이터베이스 엔진에서 다른 데이터베이스 엔진으로 변환할 있는 기능을 제공한다. 변환된 스키마는 Amazon RDS (아마존 관계형 데이터베이스 서비스) MySQL, MariaDB, 오라클, SQL 서버, PostgreSQL DB, Amazon Aurora DB 클러스터 또는 Amazon Redshift 클러스터에 적합하다. 변환된 스키마는 Amazon EC2 인스턴스에서 데이터베이스와 함께 사용하거나 Amazon S3 버킷에 데이터로 저장할 있다.

 

아래 표는 AWS SCT에서 변환을 지원하는 OLTP 목록이다. 간략히 정리한 것으로 자세한 내용은 공식 문서를 참고할 있도록 한다.

l  What is the AWS Schema Conversion Tool? : https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html

 

원본 데이터베이스 대상 데이터베이스
IBM DB2 LUW (9.1 이상) Aurora MySQL, Aurora PostgreSQL, MariaDB 10.5, MySQL, PostgreSQL
Microsoft Azure SQL Aurora MySQL, Aurora PostgreSQL, MySQL, PostgreSQL
Microsoft SQL Server (2008 이상) Aurora MySQL, Aurora PostgreSQL, Aurora PostgreSQL, Microsoft SQL Server, MySQL, PostgreSQL
MySQL (5.5이상) Aurora PostgreSQL, MySQL, PostgreSQL
Oracle (10.2 이상) Aurora MySQL, Aurora PostgreSQL, MariaDB 10.5, MySQL, Oracle, PostgreSQL
PostgreSQL(9.1 이상) Aurora MySQL, Aurora PostgreSQL, MySQL, PostgreSQL
SAP ASE (12.5 이상) Aurora MySQL, Aurora PostgreSQL, MariaDB 10.5, MySQL, PostgreSQL

 

아래 표는 AWS SCT에서 변환을 지원하는 DW목록이다.

소스 데이터 웨어하우스 대상 데이터 웨어하우스
Amazon Redshift Amazon Redshift
Azure 시냅스 분석(10 이상)
Greenplum Database (4.3 이상)
Microsoft SQL Server (2008 이상)
Netezza (7.0.3 이상)
Oracle (10.2 이상)
Teradata (13 이상)
Vertica (7.2 이상)
스노우플레이크 (3이상)

 

AWS SCT툴은 설치형 프로그램으로 UI 인터페이스를 제공하므로 쉽게 설치 작동을 있다. 설치 가능한 운영체제로는 페도라 리눅스, 마이크로소프트 윈도우, 우분투 리눅스 15.04에서 사용할 있으며, 64비트 운영체제에서 실행 가능하다. 다운로드 설치 방법에 관해서는 아래 링크를 참고한다.  (설치 과정에 대한 부분을 포스팅에 다루지 않는 이유는 설치 과정 UI 언제든지 변경 가능성이 있기 때문에 최대한 공식 문서로 안내하고자 한다.)

l  Installing, verifying, and updating AWS SCT : https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Installing.html

 

아래 그림은 AWS SCT 프로그램 화면에 대한 소개로 자세한 내용은 공식 문서를 참고할 있도록 한다.

 

1.       왼쪽 패널에서 원본 데이터베이스의 스키마가 트리 뷰에 표시되며 항목을 선택하면AWS SCT소스 데이터베이스에서 현재 스키마를 가져오고 표시한다.

2.       상단 가운데 패널에는 대상 데이터베이스 엔진으로 자동으로 변환할 없는 소스 데이터베이스 엔진의 스키마 요소에 대한 작업 항목이 나타난다.

3.       오른쪽 패널에는 대상 DB 인스턴스의 스키마가 트리 보기로 표시되며 트리 뷰에서 항목을 선택할 AWS SCT대상 데이터베이스에서 현재 스키마를 가져오고 표시한다.

4.       왼쪽 하단 패널에서 스키마 요소를 선택하면 등록 정보가 표시된다. 소스 스키마 요소와 소스 데이터베이스에 해당 요소를 만들기 위한 정보를 나타낸다.

5.       오른쪽 하단 패널에서 스키마 요소를 선택하면 등록 정보가 표시된다. 대상 스키마 요소와 대상 데이터베이스에 해당 요소를 만들기 위한 SQL 명령을 나타낸다. SQL 명령을 편집하고 업데이트된 명령을 프로젝트와 함께 저장할 있다.

 

스키마 변환을 완료하면 오른쪽 패널에 제안된 스키마를 있으며 아직까지는 대상 데이터베이스에 스키마가 적용되지 않은 상태이다. 상태에서 스키마를 편집할 있으며 편집된 스키마는 프로젝트 일부로 저장되며 스키마 적용을 하면 대상 데이터베이스에 스키마가 적용된다.

 

변환된 데이터베이스 스키마를 대상 데이터베이스에 적용하려면 아래 그림처럼 [Apply to database] 실행하면 된다.

 

 

AWS SCT 사용할 경우 함수, 매개변수, 로컬 변수 일부 항목은 변환이 지원되지 않으므로 해당 내용은 자세히 확인 추가 작업을 진행할 있도록 한다.

 

Aws SCT 설치형 독립 프로그램이므로 가지 옵션을 조정하여 툴에 대한 성능 조정을 진행할 있다. 예를 들면 툴에서 사용할 메모리의 양을 늘려 성능을 빠르게 수도 있다. 다만 경우 데스크톱의 메모리를 많이 사용하기 때문에 실행되는 컴퓨터 리소스를 확인하여 적절하게 조절하여 사용할 있도록 한다.

AWS SCT에서 사용될 메모리 크기를 조절하는 방법은 AWS Schema Conversion Tool.cfg 파일의 내용을 수정하여 사용한다.

C:\Program Files\AWS Schema Conversion Tool\App\ AWS Schema Conversion Tool.cfg

 

JavaOption항목에서 최소 최대 메모리를 설정한다. 아래 예제는 최소 4GB, 최대 40GB 메모리를 사용하도록 설정한다.

[JavaOptions]
-Xmx48960M
-Xms4096M

 

메모리 설정 외에도 로깅 정보를 상세히 기록할 있다. 다만 경우 로깅 정보가 증가하면서 변환 속도가 약간 느려질 수도 있다. 로깅 설정을 변경하려면 아래와 같은 순서로 진행한다.

1.       setting메뉴에서 Global setting 선택

2.       Global setting 창에서 Logging 선택

3.       Debug 모드에서 True 선택

4.       주요 항목을 선택하여 로깅 정보를 선택한다. 예를 들면 변환 주요 문제에 대한 정보를 기록하기 위해 파서, 매핑 형식, 사용자 인터페이스 추적 등을 로깅할 있다.

 

[참고자료]

l  [AWS DMS] AWS DMS 활용하여 데이터 마이그레이션 과정에서 데이터 마스킹 하기 : https://sungwookkang.com/1496

l  What is the AWS Schema Conversion Tool? : https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html

l  Installing, verifying, and updating AWS SCT : https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Installing.html

l  Best practices for the AWS SCT :  https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_BestPractices.html

 

 

 

2022-04-07 / Sungwook Kang / http://sungwookkang.com

 

 

AWS DMS, AWS SCT, Schema Migration, 스키마 변경, 스키마 마이그레이션, 스키마 추출, 스키마 변환

 

반응형