DMS와 SCT를 활용한 ORACLE에서 OPEN SOURCE DB로의 전환
© 2022, Amazon Web Services, Inc. or its affiliates.
© 2022, Amazon Web Services, Inc. or its affiliates.
Database Migration Service와
Schema Conversion Tool을
활용한 Oracle에서
Open Source DB로의 전환
Senior Partner Solutions Architect
AWS
윤기원
DMS와 SCT를 활용한 ORACLE에서 OPEN SOURCE DB로의 전환
© 2022, Amazon Web Services, Inc. or its affiliates.
© 2022, Amazon Web Services, Inc. or its affiliates. 2
Who am I ?
❑ 소속
Amazon Web Services Korea
Sr Partner Solutions Architect
Enterprise 고객 담당
❑ 관심 분야
Database, Migration, Analytics
윤기원 (Kiwon Yoon)
DMS와 SCT를 활용한 ORACLE에서 OPEN SOURCE DB로의 전환
© 2022, Amazon Web Services, Inc. or its affiliates.
© 2022, Amazon Web Services, Inc. or its affiliates.
Agenda
3
• 왜 오픈 소스 DB로 이관을 원할까요?
• 데이터베이스 이관 표준 절차 및 주의 사항(Pre/Mid/Post)
• 데이터베이스 이관 방식 별 차이점
• 데이터베이스 이관 대상과 이관 방법
• 오라클에서 오픈 소스 DB 이관 시 주의 사항
• Schema Conversion Tool
• Database Migration Service
DMS와 SCT를 활용한 ORACLE에서 OPEN SOURCE DB로의 전환
© 2022, Amazon Web Services, Inc. or its affiliates.
© 2022, Amazon Web Services, Inc. or its affiliates.
왜 오픈 소스 DB로 이관을 원할까요?
4
DMS와 SCT를 활용한 ORACLE에서 OPEN SOURCE DB로의 전환
© 2022, Amazon Web Services, Inc. or its affiliates.
비싼 비용 무거운 구조 락 인 징벌적 라이센스
상용 데이터베이스의 문제점
DMS와 SCT를 활용한 ORACLE에서 OPEN SOURCE DB로의 전환
© 2022, Amazon Web Services, Inc. or its affiliates.
비용 감소 빠른 구성 및 시도 목적에 맞는 DB No License
Management
오픈 소스 DB가 주는 장점들
DMS와 SCT를 활용한 ORACLE에서 OPEN SOURCE DB로의 전환
© 2022, Amazon Web Services, Inc. or its affiliates.
+
오픈 소스 디비는 적은 비용으로
더 빠른 개발과 최적의 서비스 구성을 가능하게 합니다.
많은 고객들이 오픈 소스 DB로 이관하고 있습니다
Oracle SQL server DB2 Sybase ASE
Break
free
DMS와 SCT를 활용한 ORACLE에서 OPEN SOURCE DB로의 전환
© 2022, Amazon Web Services, Inc. or its affiliates.
© 2022, Amazon Web Services, Inc. or its affiliates.
데이터베이스 이관 표준 절차 및
주의 사항(Pre/Mid/Post)
8
DMS와 SCT를 활용한 ORACLE에서 OPEN SOURCE DB로의 전환
© 2022, Amazon Web Services, Inc. or its affiliates.
데이터베이스 이관 표준 절차
Data
migration
Application
code
Schema
objects
Cutover
Analysis
Validation
DMS와 SCT를 활용한 ORACLE에서 OPEN SOURCE DB로의 전환
© 2022, Amazon Web Services, Inc. or its affiliates.
데이터베이스 이관 표준 절차
Analysis
Planning
Data
migration
Application
code
Schema
objects
Cutover
Validation
사용자 요구 사항 확인
현재 Volume Size
Transaction 및 데이터 변경량
허용 Downtime 확인
Schema 이관 방법 결정
Downtime에 기반한 Data 이관 방법 결정
SQL/Application 전수 조사 또는
중요 업무 중요 Query 기반 조사
Test Round 횟수
DMS와 SCT를 활용한 ORACLE에서 OPEN SOURCE DB로의 전환
© 2022, Amazon Web Services, Inc. or its affiliates.
데이터베이스 이관 표준 절차
Data
migration
Application
code
Schema
objects
Cutover
Analysis
Validation
Planning
Testing
SQL 전수 조사 / 중요 SQL 조사
DMS와 SCT를 활용한 ORACLE에서 OPEN SOURCE DB로의 전환
© 2022, Amazon Web Services, Inc. or its affiliates.
데이터베이스 이관 표준 절차
Data
migration
Application
code
Schema
objects
Cutover
Analysis
Validation
Planning
Testing
DMS와 SCT를 활용한 ORACLE에서 OPEN SOURCE DB로의 전환
© 2022, Amazon Web Services, Inc. or its affiliates.
이관 시 유닛/성능 테스트
• 중요 Application 별 요건 확인
• 요건 별 TOP / Complex / 중요 / 전체
Query 확인 및 검증
• 성능에 영향을 미치는 공통 요소 확인
• Load Testing
DMS와 SCT를 활용한 ORACLE에서 OPEN SOURCE DB로의 전환
© 2022, Amazon Web Services, Inc. or its affiliates.
이관 준비 단계
Build
• Build automation & code deployment
• Build AWS platform including Amazon
RDS / EC2
• Implement schema and data
migration tools
Homogeneous Migration
• Full load historical data with Oracle /
SQL Server native tools
• Validate historical data load
• Ongoing replication with DMS
Heterogeneous Migration
• Schema conversion
• Manual code conversion (depends)
• Full load historical data and ongoing
replication with DMS
Application
• Application refactoring (depends)
• Configure application for data access
• Validate application configuration
Database
• Review query and load performance
• Validate schema / table changes
• Validate code changes
Application
• End to end functional/system
integration/performance tests
Cut-Over
• Complete and obtain sign off on end
to end functional/system
integration/performance tests
• Complete and obtain sign off on
Security and Infrastructure
• Switch application to new database
endpoint
Operational Readiness
• Finalize Playbook/Runbook
• Complete project transition
이관 실행 및 전환 단계
이관 계획 및 실행 단계 테스트 및 검증 단계 Cut-Over
Migration Assessment
• Determine performance
requirements
• Determine target engine
• Migration effort estimation
Right Sizing
• Determine the RDS / EC2 instance
type matching the utilization in on-
premises env
데이터베이스 이관 표준 절차
DMS와 SCT를 활용한 ORACLE에서 OPEN SOURCE DB로의 전환
© 2022, Amazon Web Services, Inc. or its affiliates.
© 2022, Amazon Web Services, Inc. or its affiliates.
데이터베이스 이관 방식 별
차이점
15
DMS와 SCT를 활용한 ORACLE에서 OPEN SOURCE DB로의 전환
© 2022, Amazon Web Services, Inc. or its affiliates.
데이터베이스 이관 방식 별 차이점
이기종 이관
Oracle MySQL
동종 이관
Oracle Oracle
이기종 이관
Oracle PostgreSQL
DMS와 SCT를 활용한 ORACLE에서 OPEN SOURCE DB로의 전환
© 2022, Amazon Web Services, Inc. or its affiliates.
데이터베이스 이관 방식 별 차이점
Schema
Data Type
Sequence
Oracle MySQL
Edition
Version
Oracle Oracle
Transaction
Dynamic SQL
Miscellaneous
Oracle PostgreSQL
DMS와 SCT를 활용한 ORACLE에서 OPEN SOURCE DB로의 전환
© 2022, Amazon Web Services, Inc. or its affiliates.
© 2022, Amazon Web Services, Inc. or its affiliates.
데이터베이스 이관 대상과
이관 방법
18
DMS와 SCT를 활용한 ORACLE에서 OPEN SOURCE DB로의 전환
© 2022, Amazon Web Services, Inc. or its affiliates.
데이터베이스 이관 대상과 이관 방법
Application Code
Data
Schema
DMS와 SCT를 활용한 ORACLE에서 OPEN SOURCE DB로의 전환
© 2022, Amazon Web Services, Inc. or its affiliates.
데이터베이스 이관 대상과 이관 방법(기존 방식)
Application Code
Data
Schema
Source DB에서 DDL Script 추출
DDL Script를 Target DB에 맞게 Schema, Object Type등 수정
Target DB에서 최종 DDL Script 실행
DB Engine Native Util 사용
Spool / Script로 SAM 파일 Unload/Load
3rd party Solution 사용
3ry party Solution 사용
…
…… 개인의 노력!!(개발자/DBA의 땀과 눈물)
DMS와 SCT를 활용한 ORACLE에서 OPEN SOURCE DB로의 전환
© 2022, Amazon Web Services, Inc. or its affiliates.
AWS Migration 도구
AWS Database Migration Service (AWS DMS) 는
동종/이기종 데이터베이스와 데이터웨어하우스의
데이터를 손쉽게 이관하도록 지원합니다.
Schema Conversion Tool(SCT) 는
동종/이기종 데이터베이스 스키마 및 코드
변환 및 이관 작업을 자동화할 수 있도록 지원합니다.
DMS와 SCT를 활용한 ORACLE에서 OPEN SOURCE DB로의 전환
© 2022, Amazon Web Services, Inc. or its affiliates.
데이터베이스 이관 대상과 이관 방법 on AWS
Application Code
Data
Schema
Oracle Database Migration Service(DMS) Amazon Aurora
Oracle Schema Conversion Tool (SCT) Amazon Aurora
Oracle Schema Conversion Tool (SCT) Amazon Aurora
DMS와 SCT를 활용한 ORACLE에서 OPEN SOURCE DB로의 전환
© 2022, Amazon Web Services, Inc. or its affiliates.
Application Code
Data
Schema
Oracle Database Migration Service(DMS) Amazon Aurora
Oracle Schema Conversion Tool (SCT) Amazon Aurora
Oracle Schema Conversion Tool (SCT) Amazon Aurora
+Playbook
데이터베이스 이관 대상과 이관 방법
DMS와 SCT를 활용한 ORACLE에서 OPEN SOURCE DB로의 전환
© 2022, Amazon Web Services, Inc. or its affiliates.
© 2022, Amazon Web Services, Inc. or its affiliates.
오라클에서 오픈 소스 DB 이관 시
주의 사항
24
DMS와 SCT를 활용한 ORACLE에서 OPEN SOURCE DB로의 전환
© 2022, Amazon Web Services, Inc. or its affiliates.
오라클에서 오픈 소스 DB 이관 시 주의 사항
Application Code
Data
Schema
DMS와 SCT를 활용한 ORACLE에서 OPEN SOURCE DB로의 전환
© 2022, Amazon Web Services, Inc. or its affiliates.
오라클에서 오픈 소스 DB 이관 시 주의 사항
Application Code
Data
Schema
Oracle MySQL
Database = Collection of Schemas Database := Schema
VARCHAR2 VARCHAR
NUMBER TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT, FLOAT
BLOB TINYBLOB, BLOB, MEDIUMBLOB, LONGBLOB
CLOB TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT
NUMBER, FLOAT DECIMAL, DOUBLE, FLOAT
DATE, TIMESTAMP DATE, DATETIME, TIMESTAMP, TIME
DMS와 SCT를 활용한 ORACLE에서 OPEN SOURCE DB로의 전환
© 2022, Amazon Web Services, Inc. or its affiliates.
오라클에서 오픈 소스 DB 이관 시 주의 사항
Application Code
Data
Schema
Oracle MySQL
VARCHAR2 - BYTES VARCHAR - CHARACTER
‘a’ != ‘a ‘ ‘a’ = ‘a ‘ in 5.7, ‘a’ != ‘a ‘ in 8.0
SEQUENCE PK auto_incremental or Procedure or Table
ROWNUM LIMIT
MVIEW FAST REFRESH NO FAST REFRESH
And so on…
DMS와 SCT를 활용한 ORACLE에서 OPEN SOURCE DB로의 전환
© 2022, Amazon Web Services, Inc. or its affiliates.
오라클에서 오픈 소스 DB 이관 시 주의 사항
Oracle MySQL
READ COMMITTED REPEATABLE READ
IMPLICIT TX Begin START TRANSACTION
MERG INTO INSERT with “ON DUPLICATE KEY UPDATE”
FUNCTIONS(NVL, SYSDATE…) IFNULL, NOW, CASE
NULL = ‘’ NULL != ‘’
returning into 별도 변수 처리 필요
And so on…
Application Code
Data
Schema
DMS와 SCT를 활용한 ORACLE에서 OPEN SOURCE DB로의 전환
© 2022, Amazon Web Services, Inc. or its affiliates.
© 2022, Amazon Web Services, Inc. or its affiliates.
Schema Conversion Tool(SCT)
29
DMS와 SCT를 활용한 ORACLE에서 OPEN SOURCE DB로의 전환
© 2022, Amazon Web Services, Inc. or its affiliates.
데이터 베이스 이관 절차
Step 1: Schema/Object/SQL 이관
Source DB or DW
AWS SCT
DDL Script
Destination DB or DW
Step 2: Data 이관
Source DB or DW
AWS SCT
Destination DB or DW
AWS DMS
DMS와 SCT를 활용한 ORACLE에서 OPEN SOURCE DB로의 전환
© 2022, Amazon Web Services, Inc. or its affiliates.
AWS SCT
Features
동종/이기종 마이그레이션에 대한 평가 보고서 생성
Database Schema 전환/이관
Data Warehouse Schema 전환/이관
Application Code 전환/이관
자동 이관이 어려운 SQL/Code에 대한 알림 기능
SSL/TLS 지원
AWS SCT는 데이터베이스 스키마 및 코드 변환 작업을
자동화할 수 있도록 지원합니다.
Source
database
AWS SCT Target
database
Convert
DMS와 SCT를 활용한 ORACLE에서 OPEN SOURCE DB로의 전환
© 2022, Amazon Web Services, Inc. or its affiliates.
SCT를 이용한 Schema 이관 – DB 접속
1. 새 프로젝트 시작
2. 소스/타겟 DB 접속 버튼 Click
3. 소스/타겟 DB 접속 정보를 입력
DMS와 SCT를 활용한 ORACLE에서 OPEN SOURCE DB로의 전환
© 2022, Amazon Web Services, Inc. or its affiliates.
데이터베이스 이관 평가 보고서
• Assessment Report 실행
• 실행 계획 Summary 확인
• 상세 작업 내역 확인
DMS와 SCT를 활용한 ORACLE에서 OPEN SOURCE DB로의 전환
© 2022, Amazon Web Services, Inc. or its affiliates.
Convert:
• Schemas
• Tables
• Indexes
• Views
• Packages
• Stored procedures
• Functions
• Sequences
• User-defined types
• Synonyms
• Triggers
Schema, Object 및 Code 변환 지원
DMS와 SCT를 활용한 ORACLE에서 OPEN SOURCE DB로의 전환
© 2022, Amazon Web Services, Inc. or its affiliates.
소스 DB 이관 대상 스키마 확인
• 왼쪽 Panel에서 소스
DB의 Schema,
Object들을 Tree
구조로 확인 가능
• 알림 표시가 있는
Object들은 사용자의
개입이나 주의가 필요
DMS와 SCT를 활용한 ORACLE에서 OPEN SOURCE DB로의 전환
© 2022, Amazon Web Services, Inc. or its affiliates.
사용자 개입이 필요한 부분 확인
• 사용자의 개입이
필요한 경우 화면 중앙
상단의 Panel에 표시
DMS와 SCT를 활용한 ORACLE에서 OPEN SOURCE DB로의 전환
© 2022, Amazon Web Services, Inc. or its affiliates.
타겟 디비 스키마 확인
• 우측 Panel에서 타겟
DB의 Schema,
Object들을 Tree
구조로 확인 가능
• “Apply to Database”
실행 전까지 DB에
반영되지 않음
DMS와 SCT를 활용한 ORACLE에서 OPEN SOURCE DB로의 전환
© 2022, Amazon Web Services, Inc. or its affiliates.
소스 Object Code(DDL) 확인
• 소스 DB의 선택된
Object의 DDL을 확인
DMS와 SCT를 활용한 ORACLE에서 OPEN SOURCE DB로의 전환
© 2022, Amazon Web Services, Inc. or its affiliates.
타겟 Object Code(DDL) 확인
• 타겟 DB에 적용 될
예정인 Object DDL을
확인
• Column 설정을
변경하거나 Stored
Procedure등을
수정하여 반영 가능
DMS와 SCT를 활용한 ORACLE에서 OPEN SOURCE DB로의 전환
© 2022, Amazon Web Services, Inc. or its affiliates.
타겟 디비로 변환된 Schema를 적용 및 생성
GUI내의 메뉴 이용
혹은
마우스 우측 버튼
Click하여 적용
DMS와 SCT를 활용한 ORACLE에서 OPEN SOURCE DB로의 전환
© 2022, Amazon Web Services, Inc. or its affiliates.
© 2022, Amazon Web Services, Inc. or its affiliates.
Database Migration Service
(DMS)
41
DMS와 SCT를 활용한 ORACLE에서 OPEN SOURCE DB로의 전환
© 2022, Amazon Web Services, Inc. or its affiliates.
데이터 베이스 이관 절차
Step 1: Schema/Code 이관
Source DB or DW
AWS SCT
Native tool
Destination DB or DW
Step 2: Data 이관
Source DB or DW
AWS SCT
Destination DB or DW
AWS DMS
DMS와 SCT를 활용한 ORACLE에서 OPEN SOURCE DB로의 전환
© 2022, Amazon Web Services, Inc. or its affiliates.
Database Migration Service(DMS) 구성 요소
Replication Instance(RI)
Endpoint (Source/Target)
DMS Task
DMS와 SCT를 활용한 ORACLE에서 OPEN SOURCE DB로의 전환
© 2022, Amazon Web Services, Inc. or its affiliates.
S
O
U
R
C
E
T
A
R
G
E
T
DB on EC2
instance
Amazon RDS
DB instance
On-premises
database
DB on EC2
instance
Amazon RDS
DB instance
On-premises
database
Replication
instance
Database Migration Service(DMS) 구성 요소
DMS Tasks
DMS와 SCT를 활용한 ORACLE에서 OPEN SOURCE DB로의 전환
© 2022, Amazon Web Services, Inc. or its affiliates.
DMS에 의한 Data 이관 Flow
초기 데이터 복제(Full Initial Load)
초기 데이터 복제간 변경 데이터 수집(Capture)
초기 데이터 복제 후 – 그동안 변경 데이터 반영 (CDC)
소스 / 타겟 데이터베이스 데이터 반영 지연 확인
Service 종료 후 미반영 변경 데이터 적용 (CDC)
Application의 DB connection을 신규 타겟 디비로 변경
DMS와 SCT를 활용한 ORACLE에서 OPEN SOURCE DB로의 전환
© 2022, Amazon Web Services, Inc. or its affiliates.
Replication
Instance
Source Target
DMS 동작 1 – Full Initial Load
DMS와 SCT를 활용한 ORACLE에서 OPEN SOURCE DB로의 전환
© 2022, Amazon Web Services, Inc. or its affiliates.
Source Target
Replication Instance
App
DMS 동작 2 – Full Initial Load & 변경 데이터 수집
DMS와 SCT를 활용한 ORACLE에서 OPEN SOURCE DB로의 전환
© 2022, Amazon Web Services, Inc. or its affiliates.
Source Target
Replication Instance
App
DMS 동작 3 – Full Initial Load 후 변경 데이터 타겟 적용
DMS와 SCT를 활용한 ORACLE에서 OPEN SOURCE DB로의 전환
© 2022, Amazon Web Services, Inc. or its affiliates.
Source Target
Replication Instance
App
DMS 동작 4 – Source/Target 데이터 지연 정도 확인
DMS와 SCT를 활용한 ORACLE에서 OPEN SOURCE DB로의 전환
© 2022, Amazon Web Services, Inc. or its affiliates.
Source Target
Replication Instance
App
DMS 동작 5 – Service 종료 후 미반영 데이터 타겟 적용
DMS와 SCT를 활용한 ORACLE에서 OPEN SOURCE DB로의 전환
© 2022, Amazon Web Services, Inc. or its affiliates.
Source Target
Replication Instance
App
DMS 동작 6 – Application 의 DB connection 변경
DMS와 SCT를 활용한 ORACLE에서 OPEN SOURCE DB로의 전환
© 2022, Amazon Web Services, Inc. or its affiliates.
Name your
task
No spaces or
underscores
Connect to
endpoints
Source
Target
Choose
migration type
Existing data
Existing data
and replicate
changes
Replicate
changes only
Target
preparation
Do nothing
Drop tables
on target
Truncate
Include LOBs
Don't include
LOBs
Full LOB
mode
Limited LOB
mode
✓ Enable validation
✓ Enable logging
DMS Task 선택 옵션
DMS와 SCT를 활용한 ORACLE에서 OPEN SOURCE DB로의 전환
© 2022, Amazon Web Services, Inc. or its affiliates.
Replication
Instance
Source Target
Data Split 기능
Target
Target
DMS와 SCT를 활용한 ORACLE에서 OPEN SOURCE DB로의 전환
© 2022, Amazon Web Services, Inc. or its affiliates.
Replication
Instance
Source Target
Data Merge 기능
Source
Source
DMS와 SCT를 활용한 ORACLE에서 OPEN SOURCE DB로의 전환
© 2022, Amazon Web Services, Inc. or its affiliates.
Replication
Instance
Source
Target
여러 소스 / 타겟을 활용해 신규 데이터 모델 활용 가능
Source
Source
Target
DMS와 SCT를 활용한 ORACLE에서 OPEN SOURCE DB로의 전환
© 2022, Amazon Web Services, Inc. or its affiliates.
필요한 일부 데이터만 이관
Source

Target
Replication Instance
Database 혹은 Schema 단위 이관
Table 혹은 MVIEW 단위 이관
특정 조건 Row만 이관
특정 Column 제외 이관
DMS와 SCT를 활용한 ORACLE에서 OPEN SOURCE DB로의 전환
© 2022, Amazon Web Services, Inc. or its affiliates.
DMS가 지원하는 DB Engine
Sources
Targets
Relational NoSQL Analytics Data warehouse*
Amazon Aurora
Amazon Aurora Amazon DynamoDB
Amazon DocumentDB (with
MongoDB compatibility)
Amazon Redshift
Amazon S3
AWS Snowball
Amazon S3
Amazon OpenSearch
Service
Amazon Kinesis
Data Streams
* Supported via AWS SCT
data extractors
Amazon Managed
Streaming for Apache
Kafka (Amazon MSK)
DMS와 SCT를 활용한 ORACLE에서 OPEN SOURCE DB로의 전환
© 2022, Amazon Web Services, Inc. or its affiliates.
AWS DMS
AWS DMS
AWS DMS Amazon S3
Amazon Aurora
동종/이기종 이관 지원
DMS와 SCT를 활용한 ORACLE에서 OPEN SOURCE DB로의 전환
© 2022, Amazon Web Services, Inc. or its affiliates.
AWS DMS
Amazon S3
Amazon Redshift
Amazon Aurora
Amazon Kinesis
Data Streams
Amazon OpenSearch
Service
Micro Service Architecture 활용
DMS와 SCT를 활용한 ORACLE에서 OPEN SOURCE DB로의 전환
© 2022, Amazon Web Services, Inc. or its affiliates.
WRAP UP
• 왜 오픈 소스 DB로 이관을 원할까요?
• 데이터베이스 이관 표준 절차 및 주의 사항(Pre/Mid/Post)
• 데이터베이스 이관 방식 별 차이점
• 데이터베이스 이관 대상과 이관 방법
• 오라클에서 오픈 소스 DB 이관 시 주의 사항
• Schema Conversion Tool
• Database Migration Service
이관 준비 단계
이관 실행 및 전환 단계
이관 계획 및 실행 단계 테스트 및 검증 단계 Cut-Over
DMS와 SCT를 활용한 ORACLE에서 OPEN SOURCE DB로의 전환
© 2022, Amazon Web Services, Inc. or its affiliates.
Thank you!
© 2022, Amazon Web Services, Inc. or its affiliates.
윤기원
kiwony@amazon.com

DMS와 SCT를 활용한 Oracle에서 Open Source DB로의 전환

  • 1.
    DMS와 SCT를 활용한ORACLE에서 OPEN SOURCE DB로의 전환 © 2022, Amazon Web Services, Inc. or its affiliates. © 2022, Amazon Web Services, Inc. or its affiliates. Database Migration Service와 Schema Conversion Tool을 활용한 Oracle에서 Open Source DB로의 전환 Senior Partner Solutions Architect AWS 윤기원
  • 2.
    DMS와 SCT를 활용한ORACLE에서 OPEN SOURCE DB로의 전환 © 2022, Amazon Web Services, Inc. or its affiliates. © 2022, Amazon Web Services, Inc. or its affiliates. 2 Who am I ? ❑ 소속 Amazon Web Services Korea Sr Partner Solutions Architect Enterprise 고객 담당 ❑ 관심 분야 Database, Migration, Analytics 윤기원 (Kiwon Yoon)
  • 3.
    DMS와 SCT를 활용한ORACLE에서 OPEN SOURCE DB로의 전환 © 2022, Amazon Web Services, Inc. or its affiliates. © 2022, Amazon Web Services, Inc. or its affiliates. Agenda 3 • 왜 오픈 소스 DB로 이관을 원할까요? • 데이터베이스 이관 표준 절차 및 주의 사항(Pre/Mid/Post) • 데이터베이스 이관 방식 별 차이점 • 데이터베이스 이관 대상과 이관 방법 • 오라클에서 오픈 소스 DB 이관 시 주의 사항 • Schema Conversion Tool • Database Migration Service
  • 4.
    DMS와 SCT를 활용한ORACLE에서 OPEN SOURCE DB로의 전환 © 2022, Amazon Web Services, Inc. or its affiliates. © 2022, Amazon Web Services, Inc. or its affiliates. 왜 오픈 소스 DB로 이관을 원할까요? 4
  • 5.
    DMS와 SCT를 활용한ORACLE에서 OPEN SOURCE DB로의 전환 © 2022, Amazon Web Services, Inc. or its affiliates. 비싼 비용 무거운 구조 락 인 징벌적 라이센스 상용 데이터베이스의 문제점
  • 6.
    DMS와 SCT를 활용한ORACLE에서 OPEN SOURCE DB로의 전환 © 2022, Amazon Web Services, Inc. or its affiliates. 비용 감소 빠른 구성 및 시도 목적에 맞는 DB No License Management 오픈 소스 DB가 주는 장점들
  • 7.
    DMS와 SCT를 활용한ORACLE에서 OPEN SOURCE DB로의 전환 © 2022, Amazon Web Services, Inc. or its affiliates. + 오픈 소스 디비는 적은 비용으로 더 빠른 개발과 최적의 서비스 구성을 가능하게 합니다. 많은 고객들이 오픈 소스 DB로 이관하고 있습니다 Oracle SQL server DB2 Sybase ASE Break free
  • 8.
    DMS와 SCT를 활용한ORACLE에서 OPEN SOURCE DB로의 전환 © 2022, Amazon Web Services, Inc. or its affiliates. © 2022, Amazon Web Services, Inc. or its affiliates. 데이터베이스 이관 표준 절차 및 주의 사항(Pre/Mid/Post) 8
  • 9.
    DMS와 SCT를 활용한ORACLE에서 OPEN SOURCE DB로의 전환 © 2022, Amazon Web Services, Inc. or its affiliates. 데이터베이스 이관 표준 절차 Data migration Application code Schema objects Cutover Analysis Validation
  • 10.
    DMS와 SCT를 활용한ORACLE에서 OPEN SOURCE DB로의 전환 © 2022, Amazon Web Services, Inc. or its affiliates. 데이터베이스 이관 표준 절차 Analysis Planning Data migration Application code Schema objects Cutover Validation 사용자 요구 사항 확인 현재 Volume Size Transaction 및 데이터 변경량 허용 Downtime 확인 Schema 이관 방법 결정 Downtime에 기반한 Data 이관 방법 결정 SQL/Application 전수 조사 또는 중요 업무 중요 Query 기반 조사 Test Round 횟수
  • 11.
    DMS와 SCT를 활용한ORACLE에서 OPEN SOURCE DB로의 전환 © 2022, Amazon Web Services, Inc. or its affiliates. 데이터베이스 이관 표준 절차 Data migration Application code Schema objects Cutover Analysis Validation Planning Testing SQL 전수 조사 / 중요 SQL 조사
  • 12.
    DMS와 SCT를 활용한ORACLE에서 OPEN SOURCE DB로의 전환 © 2022, Amazon Web Services, Inc. or its affiliates. 데이터베이스 이관 표준 절차 Data migration Application code Schema objects Cutover Analysis Validation Planning Testing
  • 13.
    DMS와 SCT를 활용한ORACLE에서 OPEN SOURCE DB로의 전환 © 2022, Amazon Web Services, Inc. or its affiliates. 이관 시 유닛/성능 테스트 • 중요 Application 별 요건 확인 • 요건 별 TOP / Complex / 중요 / 전체 Query 확인 및 검증 • 성능에 영향을 미치는 공통 요소 확인 • Load Testing
  • 14.
    DMS와 SCT를 활용한ORACLE에서 OPEN SOURCE DB로의 전환 © 2022, Amazon Web Services, Inc. or its affiliates. 이관 준비 단계 Build • Build automation & code deployment • Build AWS platform including Amazon RDS / EC2 • Implement schema and data migration tools Homogeneous Migration • Full load historical data with Oracle / SQL Server native tools • Validate historical data load • Ongoing replication with DMS Heterogeneous Migration • Schema conversion • Manual code conversion (depends) • Full load historical data and ongoing replication with DMS Application • Application refactoring (depends) • Configure application for data access • Validate application configuration Database • Review query and load performance • Validate schema / table changes • Validate code changes Application • End to end functional/system integration/performance tests Cut-Over • Complete and obtain sign off on end to end functional/system integration/performance tests • Complete and obtain sign off on Security and Infrastructure • Switch application to new database endpoint Operational Readiness • Finalize Playbook/Runbook • Complete project transition 이관 실행 및 전환 단계 이관 계획 및 실행 단계 테스트 및 검증 단계 Cut-Over Migration Assessment • Determine performance requirements • Determine target engine • Migration effort estimation Right Sizing • Determine the RDS / EC2 instance type matching the utilization in on- premises env 데이터베이스 이관 표준 절차
  • 15.
    DMS와 SCT를 활용한ORACLE에서 OPEN SOURCE DB로의 전환 © 2022, Amazon Web Services, Inc. or its affiliates. © 2022, Amazon Web Services, Inc. or its affiliates. 데이터베이스 이관 방식 별 차이점 15
  • 16.
    DMS와 SCT를 활용한ORACLE에서 OPEN SOURCE DB로의 전환 © 2022, Amazon Web Services, Inc. or its affiliates. 데이터베이스 이관 방식 별 차이점 이기종 이관 Oracle MySQL 동종 이관 Oracle Oracle 이기종 이관 Oracle PostgreSQL
  • 17.
    DMS와 SCT를 활용한ORACLE에서 OPEN SOURCE DB로의 전환 © 2022, Amazon Web Services, Inc. or its affiliates. 데이터베이스 이관 방식 별 차이점 Schema Data Type Sequence Oracle MySQL Edition Version Oracle Oracle Transaction Dynamic SQL Miscellaneous Oracle PostgreSQL
  • 18.
    DMS와 SCT를 활용한ORACLE에서 OPEN SOURCE DB로의 전환 © 2022, Amazon Web Services, Inc. or its affiliates. © 2022, Amazon Web Services, Inc. or its affiliates. 데이터베이스 이관 대상과 이관 방법 18
  • 19.
    DMS와 SCT를 활용한ORACLE에서 OPEN SOURCE DB로의 전환 © 2022, Amazon Web Services, Inc. or its affiliates. 데이터베이스 이관 대상과 이관 방법 Application Code Data Schema
  • 20.
    DMS와 SCT를 활용한ORACLE에서 OPEN SOURCE DB로의 전환 © 2022, Amazon Web Services, Inc. or its affiliates. 데이터베이스 이관 대상과 이관 방법(기존 방식) Application Code Data Schema Source DB에서 DDL Script 추출 DDL Script를 Target DB에 맞게 Schema, Object Type등 수정 Target DB에서 최종 DDL Script 실행 DB Engine Native Util 사용 Spool / Script로 SAM 파일 Unload/Load 3rd party Solution 사용 3ry party Solution 사용 … …… 개인의 노력!!(개발자/DBA의 땀과 눈물)
  • 21.
    DMS와 SCT를 활용한ORACLE에서 OPEN SOURCE DB로의 전환 © 2022, Amazon Web Services, Inc. or its affiliates. AWS Migration 도구 AWS Database Migration Service (AWS DMS) 는 동종/이기종 데이터베이스와 데이터웨어하우스의 데이터를 손쉽게 이관하도록 지원합니다. Schema Conversion Tool(SCT) 는 동종/이기종 데이터베이스 스키마 및 코드 변환 및 이관 작업을 자동화할 수 있도록 지원합니다.
  • 22.
    DMS와 SCT를 활용한ORACLE에서 OPEN SOURCE DB로의 전환 © 2022, Amazon Web Services, Inc. or its affiliates. 데이터베이스 이관 대상과 이관 방법 on AWS Application Code Data Schema Oracle Database Migration Service(DMS) Amazon Aurora Oracle Schema Conversion Tool (SCT) Amazon Aurora Oracle Schema Conversion Tool (SCT) Amazon Aurora
  • 23.
    DMS와 SCT를 활용한ORACLE에서 OPEN SOURCE DB로의 전환 © 2022, Amazon Web Services, Inc. or its affiliates. Application Code Data Schema Oracle Database Migration Service(DMS) Amazon Aurora Oracle Schema Conversion Tool (SCT) Amazon Aurora Oracle Schema Conversion Tool (SCT) Amazon Aurora +Playbook 데이터베이스 이관 대상과 이관 방법
  • 24.
    DMS와 SCT를 활용한ORACLE에서 OPEN SOURCE DB로의 전환 © 2022, Amazon Web Services, Inc. or its affiliates. © 2022, Amazon Web Services, Inc. or its affiliates. 오라클에서 오픈 소스 DB 이관 시 주의 사항 24
  • 25.
    DMS와 SCT를 활용한ORACLE에서 OPEN SOURCE DB로의 전환 © 2022, Amazon Web Services, Inc. or its affiliates. 오라클에서 오픈 소스 DB 이관 시 주의 사항 Application Code Data Schema
  • 26.
    DMS와 SCT를 활용한ORACLE에서 OPEN SOURCE DB로의 전환 © 2022, Amazon Web Services, Inc. or its affiliates. 오라클에서 오픈 소스 DB 이관 시 주의 사항 Application Code Data Schema Oracle MySQL Database = Collection of Schemas Database := Schema VARCHAR2 VARCHAR NUMBER TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT, FLOAT BLOB TINYBLOB, BLOB, MEDIUMBLOB, LONGBLOB CLOB TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT NUMBER, FLOAT DECIMAL, DOUBLE, FLOAT DATE, TIMESTAMP DATE, DATETIME, TIMESTAMP, TIME
  • 27.
    DMS와 SCT를 활용한ORACLE에서 OPEN SOURCE DB로의 전환 © 2022, Amazon Web Services, Inc. or its affiliates. 오라클에서 오픈 소스 DB 이관 시 주의 사항 Application Code Data Schema Oracle MySQL VARCHAR2 - BYTES VARCHAR - CHARACTER ‘a’ != ‘a ‘ ‘a’ = ‘a ‘ in 5.7, ‘a’ != ‘a ‘ in 8.0 SEQUENCE PK auto_incremental or Procedure or Table ROWNUM LIMIT MVIEW FAST REFRESH NO FAST REFRESH And so on…
  • 28.
    DMS와 SCT를 활용한ORACLE에서 OPEN SOURCE DB로의 전환 © 2022, Amazon Web Services, Inc. or its affiliates. 오라클에서 오픈 소스 DB 이관 시 주의 사항 Oracle MySQL READ COMMITTED REPEATABLE READ IMPLICIT TX Begin START TRANSACTION MERG INTO INSERT with “ON DUPLICATE KEY UPDATE” FUNCTIONS(NVL, SYSDATE…) IFNULL, NOW, CASE NULL = ‘’ NULL != ‘’ returning into 별도 변수 처리 필요 And so on… Application Code Data Schema
  • 29.
    DMS와 SCT를 활용한ORACLE에서 OPEN SOURCE DB로의 전환 © 2022, Amazon Web Services, Inc. or its affiliates. © 2022, Amazon Web Services, Inc. or its affiliates. Schema Conversion Tool(SCT) 29
  • 30.
    DMS와 SCT를 활용한ORACLE에서 OPEN SOURCE DB로의 전환 © 2022, Amazon Web Services, Inc. or its affiliates. 데이터 베이스 이관 절차 Step 1: Schema/Object/SQL 이관 Source DB or DW AWS SCT DDL Script Destination DB or DW Step 2: Data 이관 Source DB or DW AWS SCT Destination DB or DW AWS DMS
  • 31.
    DMS와 SCT를 활용한ORACLE에서 OPEN SOURCE DB로의 전환 © 2022, Amazon Web Services, Inc. or its affiliates. AWS SCT Features 동종/이기종 마이그레이션에 대한 평가 보고서 생성 Database Schema 전환/이관 Data Warehouse Schema 전환/이관 Application Code 전환/이관 자동 이관이 어려운 SQL/Code에 대한 알림 기능 SSL/TLS 지원 AWS SCT는 데이터베이스 스키마 및 코드 변환 작업을 자동화할 수 있도록 지원합니다. Source database AWS SCT Target database Convert
  • 32.
    DMS와 SCT를 활용한ORACLE에서 OPEN SOURCE DB로의 전환 © 2022, Amazon Web Services, Inc. or its affiliates. SCT를 이용한 Schema 이관 – DB 접속 1. 새 프로젝트 시작 2. 소스/타겟 DB 접속 버튼 Click 3. 소스/타겟 DB 접속 정보를 입력
  • 33.
    DMS와 SCT를 활용한ORACLE에서 OPEN SOURCE DB로의 전환 © 2022, Amazon Web Services, Inc. or its affiliates. 데이터베이스 이관 평가 보고서 • Assessment Report 실행 • 실행 계획 Summary 확인 • 상세 작업 내역 확인
  • 34.
    DMS와 SCT를 활용한ORACLE에서 OPEN SOURCE DB로의 전환 © 2022, Amazon Web Services, Inc. or its affiliates. Convert: • Schemas • Tables • Indexes • Views • Packages • Stored procedures • Functions • Sequences • User-defined types • Synonyms • Triggers Schema, Object 및 Code 변환 지원
  • 35.
    DMS와 SCT를 활용한ORACLE에서 OPEN SOURCE DB로의 전환 © 2022, Amazon Web Services, Inc. or its affiliates. 소스 DB 이관 대상 스키마 확인 • 왼쪽 Panel에서 소스 DB의 Schema, Object들을 Tree 구조로 확인 가능 • 알림 표시가 있는 Object들은 사용자의 개입이나 주의가 필요
  • 36.
    DMS와 SCT를 활용한ORACLE에서 OPEN SOURCE DB로의 전환 © 2022, Amazon Web Services, Inc. or its affiliates. 사용자 개입이 필요한 부분 확인 • 사용자의 개입이 필요한 경우 화면 중앙 상단의 Panel에 표시
  • 37.
    DMS와 SCT를 활용한ORACLE에서 OPEN SOURCE DB로의 전환 © 2022, Amazon Web Services, Inc. or its affiliates. 타겟 디비 스키마 확인 • 우측 Panel에서 타겟 DB의 Schema, Object들을 Tree 구조로 확인 가능 • “Apply to Database” 실행 전까지 DB에 반영되지 않음
  • 38.
    DMS와 SCT를 활용한ORACLE에서 OPEN SOURCE DB로의 전환 © 2022, Amazon Web Services, Inc. or its affiliates. 소스 Object Code(DDL) 확인 • 소스 DB의 선택된 Object의 DDL을 확인
  • 39.
    DMS와 SCT를 활용한ORACLE에서 OPEN SOURCE DB로의 전환 © 2022, Amazon Web Services, Inc. or its affiliates. 타겟 Object Code(DDL) 확인 • 타겟 DB에 적용 될 예정인 Object DDL을 확인 • Column 설정을 변경하거나 Stored Procedure등을 수정하여 반영 가능
  • 40.
    DMS와 SCT를 활용한ORACLE에서 OPEN SOURCE DB로의 전환 © 2022, Amazon Web Services, Inc. or its affiliates. 타겟 디비로 변환된 Schema를 적용 및 생성 GUI내의 메뉴 이용 혹은 마우스 우측 버튼 Click하여 적용
  • 41.
    DMS와 SCT를 활용한ORACLE에서 OPEN SOURCE DB로의 전환 © 2022, Amazon Web Services, Inc. or its affiliates. © 2022, Amazon Web Services, Inc. or its affiliates. Database Migration Service (DMS) 41
  • 42.
    DMS와 SCT를 활용한ORACLE에서 OPEN SOURCE DB로의 전환 © 2022, Amazon Web Services, Inc. or its affiliates. 데이터 베이스 이관 절차 Step 1: Schema/Code 이관 Source DB or DW AWS SCT Native tool Destination DB or DW Step 2: Data 이관 Source DB or DW AWS SCT Destination DB or DW AWS DMS
  • 43.
    DMS와 SCT를 활용한ORACLE에서 OPEN SOURCE DB로의 전환 © 2022, Amazon Web Services, Inc. or its affiliates. Database Migration Service(DMS) 구성 요소 Replication Instance(RI) Endpoint (Source/Target) DMS Task
  • 44.
    DMS와 SCT를 활용한ORACLE에서 OPEN SOURCE DB로의 전환 © 2022, Amazon Web Services, Inc. or its affiliates. S O U R C E T A R G E T DB on EC2 instance Amazon RDS DB instance On-premises database DB on EC2 instance Amazon RDS DB instance On-premises database Replication instance Database Migration Service(DMS) 구성 요소 DMS Tasks
  • 45.
    DMS와 SCT를 활용한ORACLE에서 OPEN SOURCE DB로의 전환 © 2022, Amazon Web Services, Inc. or its affiliates. DMS에 의한 Data 이관 Flow 초기 데이터 복제(Full Initial Load) 초기 데이터 복제간 변경 데이터 수집(Capture) 초기 데이터 복제 후 – 그동안 변경 데이터 반영 (CDC) 소스 / 타겟 데이터베이스 데이터 반영 지연 확인 Service 종료 후 미반영 변경 데이터 적용 (CDC) Application의 DB connection을 신규 타겟 디비로 변경
  • 46.
    DMS와 SCT를 활용한ORACLE에서 OPEN SOURCE DB로의 전환 © 2022, Amazon Web Services, Inc. or its affiliates. Replication Instance Source Target DMS 동작 1 – Full Initial Load
  • 47.
    DMS와 SCT를 활용한ORACLE에서 OPEN SOURCE DB로의 전환 © 2022, Amazon Web Services, Inc. or its affiliates. Source Target Replication Instance App DMS 동작 2 – Full Initial Load & 변경 데이터 수집
  • 48.
    DMS와 SCT를 활용한ORACLE에서 OPEN SOURCE DB로의 전환 © 2022, Amazon Web Services, Inc. or its affiliates. Source Target Replication Instance App DMS 동작 3 – Full Initial Load 후 변경 데이터 타겟 적용
  • 49.
    DMS와 SCT를 활용한ORACLE에서 OPEN SOURCE DB로의 전환 © 2022, Amazon Web Services, Inc. or its affiliates. Source Target Replication Instance App DMS 동작 4 – Source/Target 데이터 지연 정도 확인
  • 50.
    DMS와 SCT를 활용한ORACLE에서 OPEN SOURCE DB로의 전환 © 2022, Amazon Web Services, Inc. or its affiliates. Source Target Replication Instance App DMS 동작 5 – Service 종료 후 미반영 데이터 타겟 적용
  • 51.
    DMS와 SCT를 활용한ORACLE에서 OPEN SOURCE DB로의 전환 © 2022, Amazon Web Services, Inc. or its affiliates. Source Target Replication Instance App DMS 동작 6 – Application 의 DB connection 변경
  • 52.
    DMS와 SCT를 활용한ORACLE에서 OPEN SOURCE DB로의 전환 © 2022, Amazon Web Services, Inc. or its affiliates. Name your task No spaces or underscores Connect to endpoints Source Target Choose migration type Existing data Existing data and replicate changes Replicate changes only Target preparation Do nothing Drop tables on target Truncate Include LOBs Don't include LOBs Full LOB mode Limited LOB mode ✓ Enable validation ✓ Enable logging DMS Task 선택 옵션
  • 53.
    DMS와 SCT를 활용한ORACLE에서 OPEN SOURCE DB로의 전환 © 2022, Amazon Web Services, Inc. or its affiliates. Replication Instance Source Target Data Split 기능 Target Target
  • 54.
    DMS와 SCT를 활용한ORACLE에서 OPEN SOURCE DB로의 전환 © 2022, Amazon Web Services, Inc. or its affiliates. Replication Instance Source Target Data Merge 기능 Source Source
  • 55.
    DMS와 SCT를 활용한ORACLE에서 OPEN SOURCE DB로의 전환 © 2022, Amazon Web Services, Inc. or its affiliates. Replication Instance Source Target 여러 소스 / 타겟을 활용해 신규 데이터 모델 활용 가능 Source Source Target
  • 56.
    DMS와 SCT를 활용한ORACLE에서 OPEN SOURCE DB로의 전환 © 2022, Amazon Web Services, Inc. or its affiliates. 필요한 일부 데이터만 이관 Source  Target Replication Instance Database 혹은 Schema 단위 이관 Table 혹은 MVIEW 단위 이관 특정 조건 Row만 이관 특정 Column 제외 이관
  • 57.
    DMS와 SCT를 활용한ORACLE에서 OPEN SOURCE DB로의 전환 © 2022, Amazon Web Services, Inc. or its affiliates. DMS가 지원하는 DB Engine Sources Targets Relational NoSQL Analytics Data warehouse* Amazon Aurora Amazon Aurora Amazon DynamoDB Amazon DocumentDB (with MongoDB compatibility) Amazon Redshift Amazon S3 AWS Snowball Amazon S3 Amazon OpenSearch Service Amazon Kinesis Data Streams * Supported via AWS SCT data extractors Amazon Managed Streaming for Apache Kafka (Amazon MSK)
  • 58.
    DMS와 SCT를 활용한ORACLE에서 OPEN SOURCE DB로의 전환 © 2022, Amazon Web Services, Inc. or its affiliates. AWS DMS AWS DMS AWS DMS Amazon S3 Amazon Aurora 동종/이기종 이관 지원
  • 59.
    DMS와 SCT를 활용한ORACLE에서 OPEN SOURCE DB로의 전환 © 2022, Amazon Web Services, Inc. or its affiliates. AWS DMS Amazon S3 Amazon Redshift Amazon Aurora Amazon Kinesis Data Streams Amazon OpenSearch Service Micro Service Architecture 활용
  • 60.
    DMS와 SCT를 활용한ORACLE에서 OPEN SOURCE DB로의 전환 © 2022, Amazon Web Services, Inc. or its affiliates. WRAP UP • 왜 오픈 소스 DB로 이관을 원할까요? • 데이터베이스 이관 표준 절차 및 주의 사항(Pre/Mid/Post) • 데이터베이스 이관 방식 별 차이점 • 데이터베이스 이관 대상과 이관 방법 • 오라클에서 오픈 소스 DB 이관 시 주의 사항 • Schema Conversion Tool • Database Migration Service 이관 준비 단계 이관 실행 및 전환 단계 이관 계획 및 실행 단계 테스트 및 검증 단계 Cut-Over
  • 61.
    DMS와 SCT를 활용한ORACLE에서 OPEN SOURCE DB로의 전환 © 2022, Amazon Web Services, Inc. or its affiliates. Thank you! © 2022, Amazon Web Services, Inc. or its affiliates. 윤기원 kiwony@amazon.com