
다음주부터 업무가 조금 변경되며 기존의 개발-> DB마이그레이션 업무를 맡게 되었다. DB마이그레이션 이란 용어도 제대로 모르는 내가 과연 할 수 있을까..? 의구심이 들지만 열심히 공부해보자!
DB 마이그레이션은 데이터베이스를 한 환경에서 다른 환경으로 옮기는 과정을 말한다. 데이터베이스 소프트웨어 업그레이드, 서버 이전, 구조 변경 등 여러 이유로 할 수 있다. 중요한 건 데이터를 일관되게 유지하면서 새로운 환경에서도 잘 작동하게 만드는 것이다.
계획 수립: 현재 데이터베이스와 목표 데이터베이스를 분석하고, 마이그레이션의 범위와 방법을 결정한다. 데이터의 양, 복잡도, 관련된 애플리케이션 등을 고려해야 한다.
데이터 백업: 마이그레이션 중 데이터 손실을 방지하기 위해 기존 데이터베이스를 백업한다.
스키마 마이그레이션: 기존 데이터베이스의 스키마(테이블 구조, 인덱스, 제약 조건 등)를 새로운 데이터베이스 환경에 맞게 변환한다. 여기에는 데이터 타입 변경, 테이블 및 인덱스 재구성이 포함될 수 있다.
데이터 마이그레이션: 데이터를 기존 데이터베이스에서 새로운 데이터베이스로 옮긴다. 대량의 데이터를 이동해야 할 경우, 데이터 무결성을 유지하면서 효율적으로 전송하는 것이 중요하다.
테스트: 마이그레이션이 완료된 후, 데이터의 정확성과 일관성을 확인하고, 애플리케이션이 새 환경에서 정상적으로 작동하는지 테스트한다.
최종 전환: 모든 테스트가 완료되고 문제가 없음을 확인한 후, 새로운 데이터베이스를 운영 환경에 배포한다.
모니터링 및 유지보수: 마이그레이션 후, 새로운 데이터베이스가 안정적으로 작동하는지 지속적으로 모니터링하고, 필요시 추가 조치를 취한다.
DB 마이그레이션 도구는 이러한 과정을 자동화하고 간소화하는 데 도움을 줄 수 있다. 예를 들어, AWS Database Migration Service(AWS DMS), Oracle Data Pump, pg_dump와 pg_restore (PostgreSQL) 등이 있다.
DB 마이그레이션을 올바르게 수행하면 데이터베이스의 성능, 안정성, 확장성이 개선될 수 있으며, 비즈니스 요구 사항 변화에 더 잘 대응할 수 있다.
우리 회사의 경우는 HANA 1.0 -> 2.0으로 올리는 것이고, DB Link를 통해 기존 데이터에 접근할 수 있다
(다만, CLOB데이터의 경우 읽지 못하며, 뷰 생성을 통해 4000자씩만 읽어올 수 있다)