반응형

출처: softwaretestingportal.com의 데이터 마이그레이션 튜토리얼 동영상, 인도

https://medium.com/@theinfographix/data-migration-tutorial-learn-data-migration-basics-in-15-minutes-a-guide-to-data-migration-d8ba8321581f

유튜브 Data Migration Tutorial, https://www.youtube.com/watch?v=_7gmKYmzIpw

 


 

데이터 마이그레이션이란?

데이터 마이그레이션은 한 스토리지 시스템(또는 컴퓨팅 환경)에서 다른 것으로 데이터를 이전하는 프로세스이다. 단순히 말하면 다른 타입의 파일 포맷, 데이터베이스, 스토리지 시스템 간의 데이터 이전(data transfer)을 말한다. 마이그레이션된 데이터의 완전성을 확인(validation)하고 레거시 데이터 스토리지를 폐기(decommissioning)하는 것도 데이터 마이그레이션 프로세스의 일부로 간주된다.

 

데이터 마이그레이션이 필요한 이유

기업이 데이터 마이그레이션 프로젝트를 수행해야 하는 이유는 여러 가지가 있다. 예를 들면, 서버나 스토리지 장치를 교체하거나 또는 데이터센터를 폐쇄해야 할 수 있다. 기본적으로 다음 세 가지 이유가 왜 데이터 마이그레이션 수행이 필요한지를 이해하는 데 중요하다.

  • 컴퓨터 또는 레거시 시스템 업그레이드  
  • 레거시 시스템 변경
  • 여러 시스템 병합(즉, 데이터 통합)

데이터 마이그레이션은 또한 사내 IT 인프라구조를 클라우드 컴퓨팅 환경으로 마이그레이션하는 전체 프로세스의 필수 단계이기도 하다.

 

데이터 마이그레이션 단계(Data Migration Phases)

데이터 마이그레이션의 세 가지 기본 단계와 그 주요 활동(activities) 및 결과물(outputs)이 아래와 같다.

 

사전-마이그레이션(pre-migration) 단계

실제 마이그레이션을 위한 준비 단계이다. 이 단계의 세 가지 주요 활동이 다음과 같다.  

  • 데이터 평가(Data Assessment): 데이터 소스 식별, 시스템 추출 및 쿼리 실행, 데이터 마이그레이션 프로세스 검토
  • 데이터 정제(Data Cleansing): 소스 데이터 정제
  • 추출/변환/적재(Extraction, Transformation, and Loading): 보통 ETL이라고 부른다. 현재 시스템에서 데이터 추출 실행, 테이블 생성, 스트립트 작성, 잡 스케쥴링, 모의 마이그레이션(mock migrations) 실행, 데이터 검증(data validation) 수행

 

이 단계의 주요 결과물은 범위 및 전략 문서, WBS(Work Breakdown Structure), 정제된 소스 데이터, 소스 시스템 추출, 모듈, 스크립트, 데이터 마이그레이션을 위한 ETL (Jobs) 등이다.

 

마이그레이션(migration) 단계

마이그레이션 보고서와 메트릭을 준비 및 검토하고, 새 시스템 상에서 레코드 수를 확인하고, 예외가 발생하면 이를 수정하고, 최종적으로 확인(validation) 및 승인을 한다.

 

이 단계의 결과물은 승인된 마이그레이션 확인 문서(Migration Validation Document)이다.

 

사후-마이그레이션(post-migration) 단계

마이그레이션 후 활동은 데이터 마이그레이션 보고서와 품질 보고서를 완성하고 최종 승인을 하는 것이다.

 

이 단계의 결과물은 예외 보고서와 승인된 데이터 마이그레이션 프로젝트 종료 문서이다.

 

데이터 마이그레이션 타입

  • 스토리지 마이그레이션(Storage Migration): 한 스토리지 시스템에서 하드 디스크나 클라우드 같은 다른 스토리지 시스템으로 데이터를 이동하는 것을 다룬다. 이런 기술 업데이트의 목표는 더 빠른 성능과 동적 확장(dynamic scaling)이다.
  • 데이터센터 마이그레이션(Data Center Migration): 전체 데이터센터 환경을 클라우드나 다른 위치로 마이그레이션하는 것이다. 다운 타임이나 장애를 피하기 위해 신중한 계획과 조정이 필요한 대규모의 포괄적인 프로세스이다.
  • 애플리케이션 마이그레이션(Application Migration): 이러한 유형의 마이그레이션은 조직이 어떤 플랫폼(또는 벤더)에서 다른 것으로 전환할 때 발생한다. 예를 들어 새로운 CRM 또는 ERP 도입과 같이 애플리케이션 벤더를 변경하는 일은 거의 모든 애플리케이션이 새로운 특정 데이터 모델 상에서 작동하게 되기 때문에 상당한 변화(transformation)가 불가피하다.
  • 데이터베이스 마이그레이션(Database Migration): 이 유형의 마이그레이션은 두 데이터베이스 엔진 간의 데이터 이동을 수행한다. 이 프로세스와 관련된 여러 서브태스크(예, 타겟 데이터베이스의 저장 용량 추정, 애플리케이션 테스팅, 데이터 기밀성 보장)가 존재하므로, 신중한 계획과 테스팅이 요구된다.
  • 비즈니스 프로세스 마이그레이션(Business Process Migration): 비즈니스 프로세스는 인간의 액션과 애플리케이션 시스템 액션의 조합을 통해 작동하며, 이러한 액션이 변화할 때 데이터베이스 또는 애플리케이션 데이터의 변화를 필요로 한다. 이러한 마이그레이션을 추진하게 만드는 동력으로 새로운 시장에 진입하거나 경쟁 위협에 대응하기 위한 인수 합병, 비즈니스 최적화, 조직 재구성 등이 있다.
  • 클라우드로의 데이터 마이그레이션(Data Migration to the Cloud): 오늘날 많은 조직이 비용 효율적이고 최고의 성능을 제공하는 IT 환경을 위해 워크로드를 클라우드로 이동하는 방법을 선택하고 있다. 온라인 마이그레이션에서는 데이터가 인터넷이나 개인/전용 커넥션을 통해 이동하고, 오프라인 마이그레이션에서는 데이터센터와 타겟 클라우드 스토리지 간에 물리적으로 배송되는 저장 기기에 의해 데이터가 이전된다.

 

성공적인 데이터 마이그레이션을 위한 절차

  • 스텝1 전략 설계(Design Strategy): 조직은 Big Bang 또는 Trickle 같은 마이그레이션 전략을 정의한다. 마이그레이션 솔루션의 기술적 아키텍처를 생성하고, 마이그레이션 프로세스를 상세화 한다.
  • 스텝2 데이터 소스 분석: 데이터를 마이그레이션하기 전에 우리가 무엇을 마이그레이션하는지 그리고 타겟 시스템의 어디에 들어가는지를 알아야 한다. 예를 들어, 얼마나 많은 데이터를 마이그레이션해야 하는지, 정형화된 데이터인지 비정형 데이터인지, 데이터 중복성이 이슈가 될 것인지 등과 같은 질문을 던지고 답한다.
  • 스텝3 마이그레이션 솔루션 구축(Build a Migration Solution): 데이터 마이그레이션은 일회성의 대규모 작업이므로 이를 올바르게 수행하는 것이 아주 중요하다. 일반적인 전술은 데이터를 서브셋으로 나누고 한 번에 하나의 카테고리를 구축한 다음 테스트를 수행하는 것이다.
  • 스텝4 데이터 정제(Data Cleansing): 데이터를 수집하고 정제한다. 필요하지 않은 데이터를 제거하고, 나머지 콘텐츠를 압축하고, 데이터를 원하는 포맷으로 변환한다.
  • 스텝5 데이터 밸리데이션(Data Validation): 실행 프로세스를 검토하며, 데이터 규칙을 체크하여 예상대로 작동하는지 확인한다. 데이터 흐름에 어떤 예외가 발생하는지 주시한다.
  • 스텝6 데이터 정렬(Sort Data): 데이터를 고품질의 사용 가능한 포맷으로 프로파일링했으면 다음 단계는 이를 마이그레이션 요구사항에 따라 분류하는 것이다. 이는 데이터를 올바른 버킷으로 넣는 일을 더 쉽게 만든다. 예를 들어 은행의 경우 데이터를 고객 유형, 제품 유형, 포트폴리오 유형, 계정 유형, 그리고 기타 기준에 따라 구성한다.
  • 스텝7 실제 마이그레이션(Actual Migration): 모든 것이 제자리에 들어가는 최종 단계이다. 이제 한 시스템에서 다른 시스템으로 마이그레이션하기만 하면 된다.
  • 스텝8 라이브 테스트 수행(Conduct a Live Test): 빌드 단계에서 코드를 테스트한 후에도 테스트 프로세스는 끝나지 않는다. 구현의 정확성과 애플리케이션의 완전성을 보장하기 위해 실제 데이터를 사용해 데이터 마이그레이션 설계를 테스트하는 것이 중요하다.

 

데이터 마이그레이션 전략(Data Migration Strategies)

대부분의 마이그레이션 전략이 빅뱅(big bang) 또는 트리클(trickle)의 두 가지 범주 중 하나이다.

  “Big Bang” 마이그레이션 “Trickle” 마이그레이션
  제한된 시간 윈도우 내에 전체 이전(full transfer)을 완료한다. 마이그레이션 프로세스를 단계적으로 완료한다.
장점 비용이 적게 든다.
일반적으로 덜 복잡하다
마이그레이션이 점진적이므로 요구되는 다운 시간이 0 이다.
롤백이 쉽다(어떤 단일 단계가 실패하면 이 단계만 롤백하고 반복하면 됨).
큰 비용을 동반하는 예상 못한 문제(expensive surporises)가 발생할 확률이 적다.
단점 다운 타임이 필요하다.
마이그레이션이 실패하면 완전한 롤백이 필요하다.
값비싼 실패가 발생할 리스크가 높다(완전한 마이그레이션 후에 어떤 문제가 발견될 수 있음)
비용이 더 높다.
트리클 접근법을 위해 다수의 라이브 환경을 유지해야 한다.

 

데이터 마이그레이션의 리스크

데이터 마이그레이션은 리스크가 많고 어렵다는 평판이 있으며, 많은 계획 및 구현 단계로 구성된 시간이 많이 걸리는 작업이다. 

  • 데이터 손실(Data Loss): 데이터 마이그레이션 프로세스 중에 데이터 손실이 발생할 수 있다. 이것이 소규모에서는 문제가 되지 않을 수도 있지만, 대규모 마이그레이션 프로그램에서는 큰 문제가 된다.
  • 보안(Security): 조직은 마이그레이션 전에 모든 데이터가 안전하게 암호화되었는지 확인할 필요가 있다.
  • 호환성(Compatibility): 데이터 이전에서 호환성 이슈가 발생할 수도 있다. 예, 운영체제의 변경, 예기치 못한 파일 포맷
  • 긴 전송 시간 또는 지연(Long Transfer Times and Delays):  정확한 온라인 이전 시간을 예측하는 것이 어려울 수 있다. 네트워크 장애로 인해 연결 속도가 제한되거나 또는 하드웨어 제약으로 인해 데이터 양이 제한될 수 있다.
  • 예상 못한 추가 비용(Unexpected Higher Costs): 부적절한 계획으로 인해 예상치 못한 비용이 종종 발생한다. 예를 들어, 온라인 이전에서 지연이 생기면 추가 요금이 부과된다.

 

데이터 마이그레이션 도구(Data Migration Tools)

데이터 마이그레이션 도구를 아래의 세 가지 범주로 분류할 수 있다.

  • 사내 데이터 마이그레이션 도구(On-premise data migration tools): 데이터를 클라우드로 이동하지 않고, 대규모 또는 중형 네트워크 내에서 둘 이상의 서버 또는 데이터베이스 간에 데이터를 마이그레이션하도록 설계되었다. 이러한 솔루션은 데이터 웨어하우스 변경이나 또는 기본 데이터 저장소 위치 이동과 같은 작업을 수행하는 경우에 최적이다.
  • 오픈 소스 데이터 마이그레이션 도구(Open source data migration tools): 오픈 소스 솔루션은 무료이거나 상용 제품 보다 비용이 저렴하다. 오픈 소스 데이터 마이그레이션 도구는 프로젝트가 너무 크거나 복잡하지 않은 경우 데이터를 마이그레이션하는 실용적인 옵션이 될 수 있다.
  • 클라우드 기반 데이터 마이그레이션 도구(Cloud-based data migration tools): 데이터를 클라우드로 이동하도록 설계된 최신 세대이다. 비용 효율성을 고려하고 사내에서 클라우드로 데이터를 이동할 때 강화된 보안을 위해 많은 조직이 클라우드 기반 솔루션으로 전환하고 있다.

 

오늘날 엔터프라이즈 데이터 마이그레이션을 용이하게 하는 많은 도구가 있으며, 몇 가지 예를 살펴보면 아래와 같다.

  • Rsync: 호스트 기반 파일 레벨 마이그레이션을 위한 제품
  • Veeam: Veeam 기반 워크로드를 마이그레이션하는 프로세스를 가속화하고 단순화함
  • EMC Rainfinity: 네트워크 기반 파일 레벨 마이그레이션을 위한 제품
  • Zerto: 재해 복구, 백업, 워크로드 모빌리티 플랫폼을 제공
  • HDS Universal Replicator: 풀 어레이 기반 블록 레벨 마이그레이션을 지원
  • Rclone: 클라우드 오브젝트 스토리지와 데이터를 마이그레이션하는 데 사용되는 오픈 소스 커맨드라인 유틸리티
  • Brocade DMM: 네트워크 기반 블록 레벨 마이그레이션을 지원
  • Cyberduck: 개별 파일 또는 파일 볼륨을 이전하는 데 사용되는 오픈 소스 FTP 및 SFTP 클라이언트
  • Volume managers: 호스트 기반 블록 레벨 마이그레이션을 지원
  • Zinstall 

 

 

 

반응형

+ Recent posts