본문 바로가기
What is □?

18_데이터베이스 마이그레이션(Database Migration)이란 무엇인가?

by 전봇대파괴자 2021. 5. 30.

 

원래 사용하던 데이터베이스에서 다른 종류의 데이터베이스로 갈아타는 것을 말한다. 이를테면 MySQL 데이터베이스를 사용하다가 Oracle 데이터베이스로 바꾼다거나. 또, 원래 존재하던 여러 개의 데이터베이스를 하나로 통합하는 것을 의미하기도 한다.

 

Migration이란 단어의 뜻은 '이주'인데, 쉽게 '옮긴다', '옮기다' 정도로 이해하면 된다. 사용하는 데이터베이스를 바꾼다는 것은 그 안의 데이터를 다른 데이터베이스로 옮긴다는 말이기도 하기 때문에 , 서로 다른 두 데이터베이스가 데이터를 주고받으며, 그 과정 안에서 발생하는 모든 작업을 통틀어 마이그레이션이라고 하는 것이다.

 

MySQL, Oracle, PostgreSQL 등 데이터베이스들은 같은 관계형 데이터베이스 시스템에 속하고, 비슷한 점도 있긴 하지만 각자 특성도 다르고 데이터를 관리하는 데 차이점도 많기 때문에 데이터를 옮기는 일은 그렇게 간단하지가 않다. 또한 이미 배포가 된 서비스라면, 데이터베이스 마이그레이션을 진행하는 동안에도 계속 서비스가 사용자에게 제공되고 있으므로 마이그레이션 작업이 서비스에 에러나 장애를 일으키지 않도록 주의해야 한다.

 

최근에는 Google Cloud 등에서 CloudSQL과 같은 데이터베이스 서비스를 제공하고, 기존의 데이터베이스에서 데이터를 옮기는 작업을 간편하게 할 수 있도록 도와주는 다양한 도구들을 제공하고 있다.

 

데이터베이스 마이그레이션 외에도 마이그레이션이라는 말은 자주 쓰이는데, 맥락은 위와 거의 유사하다. 보통은 서비스나 데이터, 애플리케이션 등을 원래 환경과는 다른 환경으로 이전하거나 옮길 때 쓰인다.