데이터베이스 마이그레이션은 스키마 객체(테이블, 색인, 뷰), 저장 프러시저, 함수, 트리거를 포함하여 데이터베이스에 포함된 데이터를 기존 데이터베이스에서 새 데이터베이스 또는 업데이트된 데이터베이스로 이동하는 작업입니다.
Database Migration Service에 대해 알아보고 데이터베이스를 Google Cloud로 마이그레이션하세요.
데이터 마이그레이션은 한 환경에서 다른 환경으로 데이터를 이동하는 데이터베이스 마이그레이션 프로세스의 구성요소입니다. 스토리지 관련 변경을 수행하는 경우와 같이 데이터베이스를 마이그레이션하지 않고 데이터를 이동해야 할 수 있습니다.
데이터 및 데이터베이스 마이그레이션을 성공적으로 수행하는 핵심은 이전 및 컷오버 중에 다운타임과 중단을 최소화하면서 정보를 정확하고 빠르게 이전하는 것입니다.
원해서가 아니라 어쩔 수 없이 마이그레이션해야 하는 경우도 있습니다. 기존 시스템은 결국 현대 비즈니스의 요구사항을 더 이상 충족할 수 없는 지점에 도달할 수 있으며, 이를 유지하는 것은 자산이 되기보다는 오히려 위험이 될 수 있습니다.
데이터베이스 마이그레이션이 필요한 몇 가지 주요 이유는 다음과 같습니다.
기존 아키텍처가 더 이상 운영 요구사항을 지원할 수 없는 경우 비즈니스를 안전하고 효율적으로 운영하기 위한 다음 단계는 마이그레이션입니다.
데이터베이스를 이전할 때 동종 및 이기종이라는 용어를 자주 듣게 됩니다. 차이점을 이해하면 기술팀이 수행해야 하는 작업량을 계획하는 데 도움이 됩니다.
마이그레이션 유형 | 의미 | 기능 소개 |
동종 | 소스 및 대상 데이터베이스가 동일하거나 매우 유사한 엔진을 사용합니다. | 데이터 형식이 이미 호환되므로 일반적으로 더 간단합니다. |
이기종 | 대상 데이터베이스는 소스와 다른 엔진을 사용합니다. | 이를 위해서는 새 데이터베이스가 스키마와 코드를 이해할 수 있도록 변환해야 합니다. |
마이그레이션 유형
의미
기능 소개
동종
소스 및 대상 데이터베이스가 동일하거나 매우 유사한 엔진을 사용합니다.
데이터 형식이 이미 호환되므로 일반적으로 더 간단합니다.
이기종
대상 데이터베이스는 소스와 다른 엔진을 사용합니다.
이를 위해서는 새 데이터베이스가 스키마와 코드를 이해할 수 있도록 변환해야 합니다.
데이터를 마이그레이션하는 데는 4가지 일반적인 전략이 있습니다. 클라우드 마이그레이션 전략을 방문하여 심층 분석 및 권장 전략을 확인하세요.
네, 그리고 이 방법은 프로세스 속도를 높이는 일반적인 방법이 되고 있습니다. AI, 특히 LLM은 기존 코드와 스키마를 분석하여 대상 데이터베이스에 대한 변환을 제안하는 데 도움이 될 수 있습니다. 이를 통해 복잡한 코드 재작성을 자동화하고 마이그레이션 중에 지연을 유발할 수 있는 호환성 문제를 포착할 수 있습니다.
며칠에서 몇 달까지 걸릴 수 있으므로 계획을 세우는 것이 중요합니다. 데이터베이스의 크기(소규모 프로젝트는 며칠이 걸릴 수 있지만 복잡하고 다층적인 마이그레이션은 몇 달이 걸릴 수 있음), 마이그레이션 전략, 데이터베이스 마이그레이션 서비스 사용 여부 등의 요인이 있습니다.
스키마는 데이터베이스의 청사진 또는 맵입니다. 테이블, 필드, 테이블과 필드의 관계 등 데이터가 구성되는 방식을 정의합니다. 마이그레이션 중에 다른 유형의 데이터베이스 엔진으로 이동하는 경우 이 청사진을 변환해야 할 수 있습니다.
가장 큰 위험으로는 데이터 손실, 장기간의 다운타임, 보안 허점 등이 있습니다. 마이그레이션을 제대로 계획하지 않으면 애플리케이션이 새 환경에서 제대로 작동하지 않을 수 있습니다. 관리형 마이그레이션 서비스를 사용하고 시스템을 철저히 테스트하면 이러한 위험을 줄일 수 있습니다.
이전 데이터베이스와 새 데이터베이스가 동시에 실행되는 복제를 사용하면 다운타임을 최소화할 수 있는 경우가 많습니다. 최종 '컷오버' 단계에서는 일반적으로 짧은 다운타임이 필요하지만, 고급 마이그레이션 서비스는 이 기간을 최대한 짧게 만들도록 설계되었습니다.
데이터베이스 마이그레이션은 단순히 데이터를 이동하는 것 이상의 작업입니다. 워크로드가 새로운 시스템에서 원활하게 실행되도록 기능을 보존하는 작업입니다. 마이그레이션 방법은 작성한 코드와 마이그레이션 도구에 따라 달라집니다.
데이터를 수동으로 이동하는 것은 위험하고 시간이 많이 걸릴 수 있지만, 전용 마이그레이션 서비스를 사용하면 프로젝트를 순조롭게 진행할 수 있습니다.
더 빠른 전송
특수 도구는 최적화된 경로를 사용하여 데이터를 빠르게 이동합니다.
다운타임 감소
마이그레이션 서비스를 사용하면 애플리케이션을 계속 실행할 수 있으므로 고객이 서비스 중단을 체감하지 못합니다.
데이터 일관성
이러한 도구는 데이터가 새 시스템에서도 이전 시스템과 동일하게 표시되고 작동하도록 보장합니다.
보안
데이터는 이동하는 동안 암호화되므로 외부 시선으로부터 안전하게 보호됩니다.
복잡성 간소화
다른 데이터베이스 엔진으로 이전하는 경우 이러한 서비스를 사용하면 코드를 자동으로 변환하는 데 도움이 되는 경우가 많습니다.
비용 절감
수작업을 줄이고 프로젝트 타임라인을 단축함으로써 인건비와 간접비를 절감할 수 있습니다.
사실상 어느 두 위치 간에도 데이터베이스를 마이그레이션할 수 있지만 대부분의 마이그레이션은 온프레미스에서 클라우드로 또는 한 클라우드에서 다른 클라우드로 이루어 집니다.
기업이 클라우드(또는 다른 클라우드 제공업체)로 마이그레이션하는 이유는 다양합니다.
클라우드로 마이그레이션할 때의 이점을 자세히 알아보세요.
많은 조직이 위에서 설명한 이유로 온프레미스 워크로드를 클라우드로 이전하고 있습니다. 온프레미스에서 마이그레이션하는 경우 클라우드 간 마이그레이션에 비해 추가적인 고려사항이 필요합니다.
온프레미스 워크로드를 마이그레이션하는 일반적인 전략은 전체 워크로드를 클라우드로 복사하는 재호스팅입니다. 이렇게 하면 클라우드 마이그레이션과 관련된 보안, 안정성, 일부 비용 혜택을 누릴 수 있습니다.
하지만 이 전략은 기존의 비효율성을 온프레미스 아키텍처에서 클라우드 인프라로 그대로 이전하는 효과도 있습니다. 따라서 클라우드 네이티브 아키텍처와 관련된 더 큰 비용 절감 효과와 효율성을 놓치게 될 수 있습니다. 재해 복구, 분석 통합, AI/ML 서비스, 파트너 서비스 마켓플레이스 등의 영역에서 클라우드의 풍부한 기능을 놓칠 수도 있습니다.
마이그레이션 중, 특히 다양한 유형의 환경 간에 데이터 보안을 유지해야 합니다. 최고의 보안을 보장하는 한 가지 방법은 신뢰할 수 있는 데이터베이스 마이그레이션 서비스를 사용하는 것입니다.
데이터 및 데이터베이스 마이그레이션은 복잡할 수 있습니다. 기업의 데이터는 물론 조직과 직무가 새로운 아키텍처로 원활하게 이전되도록 하는 것이 중요합니다. 잘못 수행할 경우 데이터 손실, 워크로드가 제대로 실행되지 않음, 보안 문제가 발생할 수 있습니다.
권장사항
프로세스를 자세히 알아보려면 데이터 마이그레이션의 개념 및 원칙과 데이터 마이그레이션 프로세스 설정 및 실행을 읽어보세요.
세부정보는 구체적인 비즈니스 사례에 따라 다르지만 성공적인 마이그레이션의 기본 단계는 다음과 같습니다.
마이그레이션 단계의 수는 조직의 기존 설정과 일정에 따라 다릅니다. 예를 들어 자체 관리형 온프레미스 배포에서 관리형 클라우드 서비스로의 마이그레이션은 한 단계로 완료할 수 있습니다. 또는 시간적 여유가 없다면 먼저 클라우드의 자체 관리형 데이터베이스로 마이그레이션한 다음 완전 관리형 솔루션으로 전환할 수 있습니다.
기업에서 데이터베이스 마이그레이션을 자주 수행하지 않는 것이 좋습니다. 마이그레이션을 최대한 활용하려면 다음과 같은 몇 가지 주요 질문을 고려해야 합니다.
고려사항 | 권장사항 |
어떤 데이터베이스와 애플리케이션을 먼저 마이그레이션해야 할까요? | 우선순위가 낮은 워크로드나 내부 워크로드부터 시작하세요. 이를 통해 팀은 미션 크리티컬 시스템을 건드리기 전에 프로세스를 개선할 기회를 얻을 수 있습니다. |
데이터 모델을 변경해야 할까요? | 현재 모델이 요구사항을 충족하는지 평가합니다. 데이터 구조가 변경되는 경우 NoSQL 데이터베이스로 이전하는 등 다른 모델로 전환하면 더 많은 유연성을 확보할 수 있습니다. |
데이터베이스를 직접 관리해야 할까요, 아니면 관리형 서비스를 선택해야 할까요? | 가능한 경우 관리형 서비스를 선택하세요. 유지보수와 패치를 오프로드하므로 팀이 인프라 관리 대신 애플리케이션 빌드에 집중할 수 있습니다. |
마이그레이션이 비즈니스 운영에 어떤 영향을 미칠까요? | 복제를 사용하여 중단을 최소화할 계획을 세우세요. 복제를 사용하면 최종 컷오버 준비가 될 때까지 이전 데이터베이스와 새 데이터베이스를 동시에 실행할 수 있습니다. |
고려사항
권장사항
어떤 데이터베이스와 애플리케이션을 먼저 마이그레이션해야 할까요?
우선순위가 낮은 워크로드나 내부 워크로드부터 시작하세요. 이를 통해 팀은 미션 크리티컬 시스템을 건드리기 전에 프로세스를 개선할 기회를 얻을 수 있습니다.
데이터 모델을 변경해야 할까요?
현재 모델이 요구사항을 충족하는지 평가합니다. 데이터 구조가 변경되는 경우 NoSQL 데이터베이스로 이전하는 등 다른 모델로 전환하면 더 많은 유연성을 확보할 수 있습니다.
데이터베이스를 직접 관리해야 할까요, 아니면 관리형 서비스를 선택해야 할까요?
가능한 경우 관리형 서비스를 선택하세요. 유지보수와 패치를 오프로드하므로 팀이 인프라 관리 대신 애플리케이션 빌드에 집중할 수 있습니다.
마이그레이션이 비즈니스 운영에 어떤 영향을 미칠까요?
복제를 사용하여 중단을 최소화할 계획을 세우세요. 복제를 사용하면 최종 컷오버 준비가 될 때까지 이전 데이터베이스와 새 데이터베이스를 동시에 실행할 수 있습니다.