본문 바로가기
데이터베이스

데이터 이행 계획, 체크리스트 꼭 준비해야 하는 이유?

by 데이널 2024. 9. 3.

'데이널'의 컨텐츠에 포함된 정보는?

     
    데이터 이행 계획은 빠짐없이 준비할수록 좋은데요. 만약 여러분이 이사를 간다고 생각하면 어떻게 할까요? 이삿짐과 이사에 대한 서류들이 문제없는지 Check List를 분명 만드실 겁니다. 바로 데이터베이스의 이사하는 과정이 데이터 이행입니다. 
     

    이행 체크리스트 꼭 준비해야 하는 이유
    이행 체크리스트 꼭 준비해야 하는 이유

     

    체크리스트 하나로 프로젝트를 구하다

    저는 한때 자체 개발 팀을 이끌었던 경험이 있습니다. 기존 일반 개발 환경에서 EKS(쿠버네티스)라는 새로운 환경으로 개발 소스부터 데이터까지 모두 옮겨야 하는 상황이었죠. 갑작스러운 환경 변화는 나와 팀원들 모두 혼란스러웠죠. 데이터 이행부터 개발 소스, CI/CD까지 신경 써야 할 일이 너무 많았습니다.

    특히, 기술의 범위가 넓고 환경 변화가 커서 항상 뭔가 빠뜨리는 것 같았는데요. 예를 들어, EKS가 모두 생성되지 않았다거나, 로드밸런서의 문제가 발생하는 경우도 있었죠. 이런 실수들은 시스템 이관의 성공을 가로막는 큰 걸림돌이었습니다.

    그래서 시스템 이관을 시작하기 전에 항상 체크리스트를 만들어 활용하기 시작했습니다. 처음에는 간단한 목록으로 시작했는데요. 이관 테스트를 거듭할수록 점점 더 상세하고 체계적인 체크리스트를 만들게 되었죠.
     

    이행 체크리스트가 필요한 이유

    맞습니다. 체크리스트는 예상치 못한 문제가 발생할 경우를 대비하기 위한 것이예요. 잘못하면 운영에 큰 차질을 초래할 수 있습니다. 따라서 체계적인 계획과 준비 없이 데이터 이행을 진행은 리스크 한 일이죠.

    체크리스트를 통해 각 단계별로 빠짐없이 작업을 수행하여 실수를 최소화하는 목적이 있습니다. 아무래도 미리 세운 계획을 바탕으로 작업 순서를 정하고 필요한 환경을 미리 준비하면 작업 효율을 높일 수 있습니다. 

    만약 문제가 발생할 경우에도 체크리스트를 통해 문제 발생 지점을 빠르게 파악하고 해결책을 찾을 수 있는데요. 각 단계별 담당자를 지정하기 때문에 담당자가 빠르게 챙길 수 있죠.
     
    체크리스트를 통해 작업 결과를 기록함으로써 향후 문제 발생 시 원인 분석할 수 있는 백 데이터를 만들 수 있고요. 이런 계획과 준비를 통해 데이터 이행을 완료하여 원할하게 서비스를 운영할 수 있도록 합니다.
     

    이행 체크리스트를 만드는 방법

    어떤 것 부터 작성해야 할지 감이 없는 경우는 우선 작업의 범주를 나눠봅니다. 예를 들어, 저의 경우는 사전 작업, 소스 테이블, 인터페이스 테이블, 통합 테이블, 결과 리포트로 구분해 보았습니다. 
     
    그다음은 해당 범주에서 체크해야 할 작업을 분해하면 됩니다. 작업들을 상세화 하면서 누락된 부분이나 불필요한 부분은 없는지 검토하면서 업데이트합니다.
     

    1. 꼭 들어가야 할 항목

    • 중요도 : 모든 작업이 동일하게 중요한 것은 아닙니다. 각 작업의 중요도에 따라 순서를 정하여 효율적으로 작업을 진행할 수 있게 해야 합니다. 
    • 예상 소요 시간 : 각 작업에 소요될 것으로 예상되는 시간을 적어 넣어 전체 작업 기간을 예측할 수 있도록 해야 합니다.
    • 담당자 : 각 작업에 대한 책임을 명확히 하고 빠른 대응을 하기 위해 위해 담당자를 지정합니다.
    • 완료기준 : 어떤 기준을 가지고 완료 여부를 판단할지 정의해야 합니다. 
    • 완료여부 : 각 작업 항목의 완료 여부를 쉽게 확인할 수 있어야 합니다.

    2. 이행 체크리스트 샘플

    작업구분Task중요도예상소요시간완료기준완료여부담당자
    사전작업타겟 테이블 확인 및 인덱스 제거     
    추출 스크립트 확인 및 검토     
    이행 프로그램 확인 및 검토     
    검증 프로그램 확인 및 검토     
    원천 데이터소스 데이터 추출 2시간   
    소스 테이블 건수 확인     
    소스 데이터 파일 전송     
    소스 데이터 인코딩 변환     
    소스 데이터 파일 확인     
    인터페이스 데이터인터페이스 테이블 이행     
    인터페이스 테이블 검증     
    인터페이스 테이블 인덱스 생성     
    통합통합마트 테이블 이행     
    통합마트 테이블 검증     
    통합마트 테이블 인덱스 생성     
    결과 리포트검증 리포트     

     

    이행 체크리스트 작성 유의사항

    체크리스트 작성할 때는 애매한 표현은 피하고, 누구나 이해할 수 있도록 구체적으로 작성해야 합니다. 체크리스트에 포함된 작업은 실제로 수행할 수 있는 구체적인 작업이며 완료 기준이 명확해야 합니다.

    앞부분에 언급한 내 경험처럼 작업 진행 상황에 따라 체크리스트를 지속적으로 업데이트하여 항상 최신 상태를 유지해야 합니다. 약간의 팁을 드리자면 구글 스프레드시트와 같은 관리 도구 등을 활용하여 체계적으로 관리할 수 있습니다.
     
    아폴로 11호의 달 착륙은 인류 역사상 가장 위대한 업적 중 하나인데요. 바로 닐 암스트롱이 달에 첫발을 내딛는 순간을 역사 시간에 모두 배웠죠. 우주선 발사부터 달 착륙, 지구 귀환까지 모든 과정에서 수많은 변수가 존재했었다고 합니다.

    NASA는 철저한 '체크리스트'를 통해 모든 절차를 정확하게 수행할 수 있었다.

     

    아폴로 11호 달 착륙
    아폴로 11호 달 착륙(출처: 나무위키)

     
    데이터 이행 검증 방법, 정합성, 무결성을 어떻게 보장할까?

    데이터 이행 검증 방법, 정합성, 무결성을 어떻게 보장할까?

    데이터 이행 전략을 세우고 실 이행이 이루어지는데요. 이때 중요한 것이 검증입니다. Source 시스템에서 Target 시스템으로 문제없이 이행되었는지 확인하는 것이죠. 이때 검증 체

    bommbom.tistory.com