본문 바로가기

개발공부/Database

MSSQL -> MySQL 데이터 마이그레이션- 1.계획

AWS RDS의 MSSQL에서 AWS RDS MySQL로 데이터 마이그레이션 계획을 아래와 같이 수립해 보겠습니다.


1. 프로젝트 개요

  • 목표: AWS RDS의 MSSQL에서 AWS RDS MySQL로 데이터베이스를 마이그레이션.
  • 주요 고려 사항:
    • 데이터 타입 차이
    • 저장 프로시저, 트리거 등 비호환 요소 해결
    • 서비스 중단 최소화
    • AWS 기반 서비스 활용 (AWS DMS)

2. 범위 정의

  • 소스 시스템: AWS RDS MSSQL
  • 타겟 시스템: AWS RDS MySQL 8.x
  • 마이그레이션 데이터:
    • 테이블: 모든 데이터 테이블
    • 뷰(Views): 필요 시 변환
    • 스토어드 프로시저, 트리거: 필요에 따라 재작성
    • 사용자 및 권한: MySQL에 맞게 권한 설정

3. 리스크 분석

  • 데이터 타입 불일치: MSSQL의 DATETIME, NVARCHAR 등 MySQL과의 차이로 인한 문제.
  • SQL 기능 차이: MSSQL의 T-SQL과 MySQL의 SQL 문법 차이.
  • 퍼포먼스 이슈: MySQL로의 이전 후 성능 저하 가능성.
  • 서비스 중단: 마이그레이션 중 서비스 중단 가능성 → 최소화 필요.
  • 데이터 손실: 대용량 데이터 이전 시 손실 가능성 → 테스트 및 검증 필요.

4. 일정 수립 

단계작업 내용기간(예시)

계획 수립 마이그레이션 전략, 리스크 분석, 일정 수립 1주
데이터 분석 MSSQL 구조 분석, MySQL 요구사항 확인 1주
매핑 설계 데이터 매핑, 타입 변환 규칙 정의 1~2주
테스트 마이그레이션 AWS DMS 활용해 샘플 데이터 마이그레이션 1~2주
데이터 변환 전체 데이터 변환, SQL 문법 변환 2주
본 마이그레이션 전체 데이터 이전, 서비스 전환 1~2일
검증 및 테스트 데이터 무결성 검증, 애플리케이션 테스트 1~2주
운영 안정화 마이그레이션 후 모니터링 및 최적화 2주

5. 데이터 분석 및 매핑

  • MSSQL → MySQL 데이터 타입 매핑:
    • DATETIME → DATETIME or TIMESTAMP
    • NVARCHAR → VARCHAR
    • INT → INT
    • BIT → TINYINT(1)
  • 인덱스: MySQL에 맞게 인덱스 재구성.
  • 트리거 및 프로시저: MSSQL T-SQL 기반 로직을 MySQL SQL로 변환(수작업 필요).

6. 데이터 변환 및 이전

  • AWS DMS(AWS Database Migration Service) 활용:
    • 마이그레이션 유형: 전체 로드 + CDC(Change Data Capture) 사용으로 서비스 중단 최소화.
    • 스키마 변환: AWS SCT(Schema Conversion Tool)로 스키마 자동 변환.
    • 데이터 이동: AWS DMS로 실시간 데이터 복제.
  • 데이터 클렌징:
    • NULL 값 처리, 데이터 무결성 검증.
    • 대용량 데이터는 배치 작업으로 처리.

7. 검증 및 테스트

  • 데이터 무결성 테스트:
    • 데이터 개수 비교, 샘플 데이터 검증.
  • 퍼포먼스 테스트:
    • MySQL에서의 쿼리 실행 시간 분석 및 튜닝.
  • 애플리케이션 테스트:
    • MySQL 연결 후 서비스 기능 테스트.

8. 운영 및 모니터링

  • 운영 전환:
    • 기존 MSSQL 연결 종료 후 MySQL 연결.
  • 모니터링:
    • AWS CloudWatch로 DB 성능 모니터링.
  • 백업:
    • MySQL 데이터 백업 정책 수립 및 정기적 백업 실행.
  • 최적화:
    • 인덱스 튜닝, 쿼리 개선, DB 파라미터 최적화.

추천 AWS 도구

  • AWS DMS: 데이터 마이그레이션 자동화.
  • AWS SCT: 스키마 변환 도구.
  • AWS CloudWatch: 마이그레이션 및 운영 모니터링.