본문 바로가기 주메뉴 바로가기
공지사항

공지사항

[기고문] 대용량 DB 다운타임 최소화 위한 마이그레이션 전략

2023-04-03 조회수 1,374



기사원문




초기 데이터 적재 솔루션·CDC 솔루션 활용 시 무중단 마이그레이션 가능


[데이터넷] 최근 기업들은 전반적인 IT 비용을 절감하고, ROI를 제고하기 위해 고비용의 외산 제품 대신 국산 솔루션으로 관심을 돌리고 있는 추세다. 이는 도입제품을 다변화해 기존 벤더에 대한 종속을 탈피하고, 세계적 흐름에 발맞춰 IT 혁신을 모색하는 움직임과 직결된다. 이러한 환경 변화와 함께 온프레미스 시스템의 전반적인 데이터 다운타임을 최소화하면서 실시간으로 클라우드나 오픈 DBMS로 안전하게 이동하는 이기종 DBMS 간 상호 운용성이 중요한 이슈로 대두되고 있다. <편집자>

▲ 장석주 알투비솔루션 대표이사
▲ 장석주 알투비솔루션 대표이사


이기종 DBMS 간 시스템 마이그레이션 작업에 있어 다운타임 최소화와 초기 데이터의 성공적인 적재, 데이터 정합성 확보는 비즈니스 연속성 확보와 직결된다. 서비스 중단을 최소화하면서도 비용 부담과 위험성을 줄이는 것은 기업 인프라의 필수 요소이자 자산인 DBMS를 효과적으로 관리하는 방안의 기본이다.

DBMS 마이그레이션 작업에서 가장 많이 사용하는 방법은 각 제조사가 자체적으로 제공하는 유틸리티 프로그램을 활용하는 것이다. 원천 시스템에서 Export(내보내기)를 수행하는 시점을 지정해 데이터를 추출하고, 신규 시스템에 Import(들여오기)를 수행하는 방식이다.

제조사가 제공하는 프로그램을 활용하는 방식은 매우 편리한 반면 다운타임, 데이터 초기적재, 롤백(Rollback)에 있어 세 가지 문제점을 가지고 있다.

다운타임
Export/Import를 수행하는 동안에는 원천 시스템의 데이터 변동이 발생하기 때문에 마이그레이션 작업 시 DBMS 시스템과 연동된 모든 IT 시스템의 서비스를 중단해야 한다. 데이터가 적은 규모의 DBMS 시스템이라면 다운타임을 최소화해 마이그레이션을 수행할 수 있을 것이다. 그러나 대용량 DBMS를 보유하고 있거나 데이터 변동이 많이 발생하는 경우, 다운타임을 충분히 확보할 수 없어 마이그레이션 작업은 실질적으로 불가능하다.

데이터 초기 적재
이기종 DBMS 간 마이그레이션 진행 시 원천 시스템의 데이터를 신규 시스템으로 초기 적재할 때 많은 어려움에 부딪히게 된다. 경험이 풍부한 DB 엔지니어들조차 이기종 OS 및 DBMS 간의 호환성, 온프레미스 시스템과 클라우드 환경의 차이로 인한 작업 수행절차의 복잡도 증가, 대용량 데이터 이관 수행시간 증가, 이관된 데이터 정합성 검증 방법 등 많은 시행 착오를 겪게 된다. 그로 인해 최근 프로젝트 성공여부를 엔지니어 역량에 의존하기 보다는 데이터 이관 솔루션을 적용해 다양한 시행착오를 줄이려는 움직임이 증가하고 있다.

롤백
마이그레이션 이후 신규 DB 시스템에서 서비스를 오픈했으나 심각한 문제가 발생해 롤백을 해야 하는 경우다. 즉, 역방향 마이그레이션으로 인한 서비스 중단이다. Export/Import 방식은 최초 마이그레이션 이후 변경된 데이터를 구별해 역방향으로는 마이그레이션을 수행할 수 없다. 신규 DBMS 시스템에서 원천 DBMS 시스템으로 Export/Import를 수행해야 하기 때문에 상당한 시간 동안 서비스를 중단해야 하며, 데이터 정합성 확보가 힘들다.

이러한 세 가지 문제점을 해결하기 위해서는 프로젝트에 적합한 실시간 데이터 복제 솔루션과 이기종 DBMS 간 데이터 이관 솔루션을 도입이 요구된다.

[그림 1] 이기종 DBMS 간 마이그레이션 프로세스
[그림 1] 이기종 DBMS 간 마이그레이션 프로세스



실시간 복제 솔루션 필요
실시간 데이터 복제(Change Data Capture, CDC) 솔루션은 기존 ETL(Extract Transform Load) 방식이 아닌 재수행 로그(Redo Log)에 직접 액세스해 DBMS 테이블을 사용하지 않고 직접 로그를 직접 캡처, 변경된 데이터를 실시간으로 감지하고 복제한다. 데이터베이스에는 부하를 거의 주지 않아 속도와 안정성 측면에서 아주 효율적이다.

서버의 DBMS와 파일 데이터를 실시간 복제할 수 있으며 순방향, 역방향, 양방향 실시간 동기화를 실행한다. 원천 DBMS 시스템에서 트랜잭션이 발생하면 실시간으로 신규 DBMS 시스템으로 복제할 수 있으며, 네트워크 사용량이 적어 원거리 작업에서도 회선 비용을 대폭 절감할 수 있다.

CDC 솔루션 사용 시 또 다른 강점은 신속한 롤백이다. 신규 DBMS 시스템으로 서비스를 오픈한 이후에 심각한 문제가 발생하더라도 원천 DBMS 시스템으로 역방향 동기화를 진행해 서비스 다운타임과 롤백에 대한 문제점을 해결할 수 있다.

현재 국내에서는 주로 사용되는 CDC 제품은 오라클의 ‘OGG(Oracle Golden Gate)’, 퀘스트소프트웨어의 ‘셰어플렉스(Shareplex)’, 알투비솔루션의 ‘엑스로그 포 CDC(X-LOG for CDC)’와 티맥스데이터의 ‘프로싱크(Prosync)’ 등이 있다.

OGG
오라클 OGG는 오라클, MS-SQL, My-SQL, PostgreSQL 등 각종 외산 DBMS와 이기종 DBMS 간의 실시간 데이터 복제를 지원하며, 현재 국내 CDC 시장에서 점유율 1위를 차지하고 있다. 그러나 높은 공급 가격과 유지보수 비용으로 도입 시 부담이 될 수 있으며, 오라클 DBMS를 고집하는 까닭에 기존 고객들이 탈 오라클 정책을 고려하는 움직임을 보인다.

셰어플렉스
퀘스트소프트웨어의 셰어플렉스는 소스 시스템 DBMS 기준 오라클 DBMS 복제만 가능해 다양한 오픈 DBMS와 클라우드 DBMS를 사용하는 고객들에게 제한적인 서비스를 지원한다는 것이 단점이다.

엑스로그 포 CDC
알투비솔루션의 엑스로그 포 CDC는 외산 DBMS 및 국산 DBMS, 오픈 DBMS, 빅데이터 DBMS 등 다양한 DBMS와 이기종 DBMS 실시간 데이터 복제를 지원한다. 티베로와 큐브리드 등 국산 오픈 DBMS 소스를 지원하며, 엑사데이터(Exadata), 버티카(Vertica), 그린플럼(Greenplum) 등 다양한 빅데이터 분석용 DBMS를 지원해 다양한 이기종 DBMS 간 복제 레퍼런스를 지속적으로 확보하며 시장을 넓혀가고 있다.

프로싱크
티맥스데이터의 프로싱크는 고객사에 티베로 DBMS를 공급하면서 발생하는 CDC 수요에 맞춰 개발된 제품이며, 티베로 DBMS로 전환하는 기업을 대상으로 고객사를 확보해 나가고 있다. 하지만 오라클과 티베로를 제외한 타 DBMS에 대한 복제 지원은 아직 미흡한 편이다.

이 외에도 여러 CDC 솔루션이 존재하지만, 국내외 다양한 레퍼런스를 아직 확보하지 못했거나 검증이 되지 않아 도입을 고려하기는 쉽지 않은 것으로 보인다.

초기 적재 문제 해결
앞서 언급했던 각 제조사 유틸리티를 사용해 DBMS 마이그레이션을 진행할 경우의 문제점인 초기 적재 문제는 이기종 DBMS 간 초기 데이터 적재 솔루션을 사용하면 해결할 수 있다.

대표적인 초기데이터 적재 솔루션으로는 클라우드 사업자에서 제공하는 AWS DMS(AWS Database Migration Service)와 애저 DMS, 구글 DMS 솔루션과 알투비솔루션의 엑스로그 포 IDL(X-LOG for Initial Data Loader), 알투웨어의 SQL 캔버스 MIG 솔루션이 있다.

외산 솔루션 AWS DMS, 애저 DMS, 구글 DMS는 자사 클라우드 고객이 마이그레이션하는 동안 소스 데이터베이스가 변함없이 운영돼 애플리케이션의 가동 중지 시간을 최소화할 수 있다. 외산 DMS 솔루션을 사용하고 있다면 상용 및 오픈소스 데이터베이스에서 데이터를 초기 적재할 수 있다.

다만 클라우드 기업의 DMS 솔루션을 사용하려면 마이그레이션에서 사용되는 소스와 타깃 시스템 중 하나는 반드시 클라우드 리소스여야만 한다는 전제 조건이 있다.

장점으로는 별도의 에플리케이션이나 드라이브 설치가 필요 없으며, 전환 중에도 자원과 네트워크 상태에 대한 지속적인 모니터링이 가능하다. 데이터 적재량에 따라 인프라 자원을 증가시킬 수 있다.

단점으로는 1:1 전환만 가능하다는 것이다. 때문에 데이터 변환이 수반되는 이행의 경우는 스테이징 DB를 별도로 구성해 사전 변환을 추가로 진행해야 한다. 스테이징 DB 구성의 위치는 환경을 미리 파악해 온프레미스 혹은 클라우드로 결정한다.

이기종 데이터베이스를 마이그레이션을 할 경우, 클라우드 사업자가 제공하는 툴(예: AWS 스키마 컨버전 툴)을 사용해 스키마와 저장 프로시저 등 기존 환경에 대한 정보를 별도로 이동 및 변환시킨 후 데이터를 DMS로 이전한다.


외산 초기 데이터 적재 솔루션
클라우드 사업자의 DMS 프로세스는 거의 동일하며, 대표적으로 AWS DMS 프로세스는 [그림 2]와 같다.

[그림 2] AWS DMS 복제 프로세스
[그림 2] AWS DMS 복제 프로세스



AWS DMS는 마이그레이션을 한 번 수행할 수 있으며, 변경 사항을 지속적으로 복제해 소스와 타깃을 동기화한다. [그림 2]와 같이 복제 서버(Replication Instance)를 생성하고, 소스 시스템 엔드포인트에 연결해 데이터를 읽고, 타깃 시스템 엔드포인트로 형식을 지정한 뒤 타깃 시스템에 데이터를 적재한다.

이러한 처리는 대부분 메모리에서 이뤄지지만 대용량 트랜잭션일 경우에는 디스크의 일부 버퍼링이 필요할 수도 있으며, 저장된 트랜잭션과 로그 파일도 디스크에 기록된다.

AWS DMS의 적재는 세 가지 단계로 진행된다. 첫째는 기존 데이터 마이그레이션(원천 시스템 초기 데이터 타깃 시스템에 전체 적재), 둘째는 초기 데이터 적재 시 복제 서버에 저장된 변경 사항을 타깃 시스템에 적용, 셋째는 변경된 데이터의 지속적인 복제 후 서비스 전환이다.

우선 기존 데이터의 전체 마이그레이션 작업은 소스 데이터 시스템에 있는 테이블의 모든 데이터를 타깃 데이터 시스템으로 적재하는 것이다. 전체 데이터 적재가 진행되는 동안에 테이블 변경사항은 복제 서버에 별도 저장된다. 초기 적재가 완료될 때까지 변경 사항은 타깃 시스템에 적용되지 않는다. 때문에 변경 데이터가 타깃 시스템에 적용되는 시점은 각 테이블별로 다르다.

두 번째 작업은 기존 전체 데이터의 적재가 완료된 후에 복제 서버에 별도 저장된 변경 사항을 타깃 시스템에 적용하는 것이다. 지속적인 실시간 복제를 위해 변경된 트랜잭션 사항을 수집하며, 트랜잭션에 아직 완전히 적재되지 않은 테이블이 있을 경우에는 복제 서버에 로컬로 변경 사항이 저장되며, 이후 복제 서버에 저장된 변경 사항을 적용하면 모든 테이블의 데이터는 정합성을 유지한다.

마지막으로 데이터 정합성을 확보하고 변경 데이터를 복제한 후 서비스 전환 시점을 지정해 소스 시스템의 애플리케이션을 종료한다. 남아있는 트랜잭션은 타깃 시스템에 적용해 애플리케이션을 불러오면 마이그레이션이 완료되고 타깃 시스템에서 서비스를 진행할 수 있다.

외산 DMS 솔루션은 오라클, 오로라, MS-SQL, My-SQL, 마리아DB, PostgreSQL 등 외산 DBMS를 지원한다. 동종 DBMS 초기 데이터 적재를 비롯해 지원하는 이기종 DBMS 초기 데이터 적재도 가능하다. 초기 데이터 적재 완료 후 CDC 기능을 사용하면 실시간 복제로 서비스 다운타임을 최소화할 수 있다. 또 각 클라우드 사업자가 지원하는 모든 소스 DBMS에서 타깃 DBMS로 데이터를 이관 및 복제할 수도 있다.

AWS DMS의 경우, 다양한 소스 DBMS에서 아마존 심플 스토리지 서비스(Amazon S3)로 복제해 뛰어난 가용성 및 확장성을 갖춘 데이터 레이크 솔루션을 구축할 수도 있다. 더불어 데이터를 아마존 레드시프트로 스트리밍해 페타바이트(PB) 규모의 데이터 웨어하우스로 통합 가능하다. 그러나 앞서 언급한 것과 같이 이기종 DBMS 간 초기 데이터 적재 시에는 클라우드 사업자가 제공하는 별도의 툴을 사용해야 한다.

국내 초기 데이터 적재 솔루션
국내 초기 데이터 적재 솔루션은 알투비솔루션의 엑스로그 포 IDL과 알투웨어의 SQL 캔버스 MIG이 대표적이다.

외산 클라우드 사업자의 DMS와 같이 오라클, 오로라, MS-SQL, 마리아DB, PostgreSQL 등 상용 및 오픈소스 데이터베이스들에 대해 이기종 DBMS 간 초기 적재를 지원하며, 티베로, 큐브리드, 알티베이스 등 국산 DBMS를 비롯해 버티카, 그린플럼, 엑사데이터를 비롯한 빅데이터 DBMS 등의 이기종 DBMS 초기 적재를 수행할 수 있다.

국내 솔루션은 통합 체계를 갖춰 데이터 변환, 이기종 DBMS 간 지원, 데이터 이관 전후 작업에 대한 스케줄 설정, 실시간 작업 이력에 대한 모니터링 등 다양한 기능 및 웹 UI를 제공한다. 또 기능을 세부적으로 분리하는 등 튜닝으로 외산 제품에 비해 고성능을 발휘한다는 장점을 가진다. 1:N, N:1, N:M 등 다양한 구성이나 이기종 데이터베이스 마이그레이션 시 별도의 툴이 혹은 데이터 적재를 위한 스토리지를 사용하지 않아도 된다.

국산 초기 데이터 적재 솔루션의 프로세스는 외산 제품과 구조와 거의 동일하며 지속적인 변경 사항을 소스와 타깃 시스템에 동기화할 수 있다.

알투비솔루션의 엑스로그 포 IDL 솔루션의 프로세스는 <그림 3>과 같다. 표준 코드 값으로 데이터 변환, 다양한 국내외 이기종 DB 적재, 스케줄 설정 및 모니터링 등 다양한 기능을 갖추고 있으며, 별도의 시스템 공간이 없어도 초기 데이터 적재가 가능하다는 장점을 가지고 있다.

아울러 외산에서 지원하지 못하는 티베로, 큐브리드, 알티베이스 등 국내 DBMS를 지원한다는 것이 큰 차별성이다.