AWS DMS와 SCT를 활용한 Oracle에서 Open Source DB로의 전환
오라클 DB를 AWS 데이터베이스로 마이그레이션 하기 - 윤기원:: AWS Database Modernization Day 온라인

데이터베이스 이관 표준 절차
A. 이관 준비 단계
B. 이관 실행 및 전환 단계
- 이관 계획 및 실행 단계
- 테스트 및 검증 단계
- Cut-Over


1. Planning (Analysis)
- 사용자 요구 사항 확인
- 현재 볼륨 사이즈
- 트랜잭션 및 데이터 변경량
- 허용 다운타임 확인
- 스키마 이관 방법 결정
- 다운타임에 기반한 데이터 이관 방법 결정
- SQL/Application 전수 조사 또는 중요 업무, 중요 Query 기반 조사
- Test Round 횟수
2. Schema objects
스키마와 오브젝트 이관을 실시합니다.
3. Data Migration
실제 데이터에 대한 이관을 실시합니다.
4. Application Code
SQL, Application 이관이 필요합니다.
5. Validation Testing
예상치 못한 이슈 및 성능 이슈가 있는 경우 기록 하고 다음 Test Round에서 해당 문제가 발생하지 않도록 새로운 계획을 수립하도록 합니다.
- Application Unit Test
- DB 성능 테스트 (SQL 전수 조사, 중요 SQL 조사)
- UAT Test
이관 시 유닛/성능 테스트
- 중요 Application 별 요건 확인
- 요건 별 TOP / COmplex / 중요 / 전체 Query 확인 및 검증
- 성능에 영향을 미치는 공통 요소 확인
- Load Testing
6. Cutover
운영 전환 및 모니터링 (ex. 최소 월, 분기)
데이터베이스 이관 방식 별 차이점
동종 및 이기종 DBMS 이관시 고려사항들
- 동종 이관: Edtion Version (ex. MySQL 5.7 > 8.0, Oracle11g > 19c)
- 이기종 이관: Schema, Data Type, Sequence (같아 보여도 동작 방식이 DBMS별 다름)
이기종 DBMS 이관시 고려사항 예시
- Sequence
Oracle
MySQL : Sequence 제공 X
* Postgresql : 세션 레벨의 Sequence 제공
- 기본 isolation의 차이
- 트랜잭션의 시작이 묵시적, 명시적 차이
- ...

데이터베이스 이관 대상과 이관 방법

AWS Migration 도구
- Schema Conversion Tool (SCT)
* 동종/이기종 데이터베이스 스키마 및 코드 변환 및 이관 작업을 자동화할 수 있도록 지원합니다.
- AWS Database Migration Service (AWS DMS)
* 동종/이기종 데이터베이스와 데이터웨어하우스의 데이터를 손쉽게 이관하도록 지원합니다.
- Full Initial Load 및 CDC 기능 제공

AWS는 MySQL, Postgresql로 이관시 참조할수 있는 Playbook을 지원하고 있습니다.


The Database Migration Playbook has landed!
AWS Database Migration Service 리소스
오라클에서 오픈소스 DB 이관시 주의사항
- Schema
- Data
- Application Code
Schema 이관 시 주의사항

Data 이관 시 주의사항

Application Code




Database Migration Service ( DMS)
DMS 구성 요소
- Replication Instance(RI)
- ENdpoint(Source / Target)
- DMS Task

- 초기 데이터 복제 (Full Initial Load)
- 초기 데이터 복제간 변경 데이터 수집(Capture)
- 초기 데이터 복제 후, 그동안 변경 데이터 반영(CDC)
- 소스/타겟 데이터베이스 데이터 반영 지연 확인
- 서비스 종료 후 미반영 변경 데이터 적용(CDC)
- Application의 DB Connection을 신규 타겟 디비로 변경
DMS 동작 Flow
- Full Initial Load
- Full Initial Load & 변경 데이터 수집
- Full Initail Load 후 변경 데이터 타겟 적용 (CDC)
- Source/Target 데이터 지연 정도 확인
- Service 종료 후 미반영 데이터 타겟 적용
- Application의 DB Connection 변경
- DBA 기술적 검증: 테이블 Rows Count 비교, Object Stats 비교
- 현업 도메인 데이터 검증: 중요 테이블의 주요 테이블 집계 수, Application 정상 동작 확인

DMS 기능





DMS가 지원하는 DB 엔진

성능

고려할점들








