마이그레이션 (Migration)

https://velog.io/@kihongsi/DB-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-%EB%A7%88%EC%9D%B4%EA%B7%B8%EB%A0%88%EC%9D%B4%EC%85%98-%EC%82%BD%EC%A7%88%EC%9D%98-%EA%B3%BC%EC%A0%95-MongoDB-MySQL

 

- 데이터를 다른 시스템으로 이동하거나 구조를 변경하는 과정을 의미

- 새로운 환경에 맞게 기존 데이터를 변환하거나, 시스템의 업데이트에 따라 데이터베이스 구조를 변경하는 작업을 포함


마이그레이션의 주요 유형

 

- 데이터 마이그레이션(Data Migration) : 데이터를 다른 종류의 저장소로 이동.

예: 로컬 파일에서 클라우드 데이터베이스로 이동.

 

- 데이터베이스 마이그레이션(Database Migration) : 데이터베이스의 구조를 변경하거나, 다른 시스템으로 데이터와 스키마를 이동.

예: MySQL에서 PostgreSQL로 전환.

 

- 애플리케이션 마이그레이션(Application Migration) : 애플리케이션과 관련된 데이터 및 코드를 새로운 플랫폼으로 이동


마이그레이션의 주요 단계

 

1. 계획 단계

현재 시스템 분석 및 마이그레이션 요구사항 정의.

이동 대상 플랫폼 및 데이터베이스 선택.

리스크 평가 및 대처 방안 마련.

 

2. 준비 단계

데이터 백업 및 정리.

스키마 설계 및 변환 규칙 설정.

 

3. 마이그레이션 실행

데이터 변환 및 이동.

데이터베이스 스키마를 새로운 시스템으로 이전.

 

4. 테스트 단계

데이터 무결성 및 정확성 검증.

성능 테스트 및 새로운 시스템의 작동 확인.

 

5. 완료 및 유지보수

새 시스템으로 전환 후 모니터링.

사용자의 피드백 반영 및 최적화 작업 수행.


마이그레이션 시 고려 사항

 

- 데이터 무결성: 데이터 손실 없이 정확하게 이동하는지 확인.

- 다운타임 최소화: 애플리케이션 가동 중단 시간을 최소화.

 

- 성능 최적화: 마이그레이션 후 새로운 시스템이 최적의 성능을 발휘하도록 설계.

- 호환성: 새 시스템과 기존 애플리케이션 간의 호환성 보장.

- 보안: 민감한 데이터의 암호화 및 보안 전송.


마이그레이션의 장단점

 

- 장점

  • 유연성 향상: 새로운 시스템이나 기술로 전환하여 성능과 기능을 강화.
  • 확장성: 미래의 데이터 요구사항을 수용하기 쉬워짐.
  • 기술 비용 절감: 클라우드 서비스로 전환 시 하드웨어 비용 절감.

- 단점

  • 리스크: 데이터 손실, 중단 위험.
  • 복잡성:시스템 간 호환성 및 데이터 변환 문제.
  • 시간 및 비용: 마이그레이션 과정에서 추가적인 개발 및 테스트 비용 발생.