RangA 2023. 5. 28. 23:09

태그: #정보처리기사

01. 데이터 전환

01. 데이터 전환 전략

1) 데이터 전환 전략의 개념

  • 기존의 원천 시스템에서 데이터를 추출하여 목적 시스템의 데이터베이스에 적합한 형식과 내용으로 변환한 후, 목적 시스템에 적재하는 일련의 과정
  • 기존에 운영되던 데이터를 목적 시스템으로 안정적으로 변환할 수 있도록 데이터 변환 전략을 이용하여 전환을 수행함

2) 데이터 전환 단계

  • 데이터 전환 절차는 데이터 전환 환경에 따라 다소 차이가 발생할 수 있기 때문에 포괄적인 개념에서 접근 및 적용이 필요함
  • 데이터 전환 단계는 시스템 개발 단계와 유사한 측면이 있음
  시스템 개발 단계     데이터 전환 단계  
  요구사항 분석 단계     데이터 전환 계획 및 요건 정의  
  설계 단계     데이터 전환 설계  
  구현 단계     데이터 전환 개발  
  테스트 단계     데이터 전환 테스트 및 검증  



02. 데이터 전환 절차 단계

1) 데이터 전환 계획 및 요건 정의

  1. 프로젝트 계획
    • 프로젝트의 목표와 범위를 명확히 하고, 추진 체계와 절차 및 투입 인력을 명시함
    • 데이터 품질 관리 계획과 보안 관리에 대한 내용도 파악하여 기록함
  2. 프로젝트 환경 구축
    • 데이터 전환 프로젝트를 수행하기 위한 개인용 컴퓨터와 네트워크 환경 등 개발 환경을 구축함
  3. As-Is(현행) 시스템 분석
    • 현행 정보 시스템의 환경을 분석함
    • 장비 및 솔루션 현황과 네트워크 구성도를 파악해야 함
    • 원천 데이터 형식이 어떻게 시스템에 저장되어 있는지 경로 및 크기로 함께 분석함
  4. To-Be(목표) 시스템 분석
    • 데이터가 최종 적재되는 목표 시스템에 대한 분석 및 데이터베이스 구조를 정확히 분석하고 이해함
  5. 데이터 전환 요건 정의
    • 데이터 전환 시 고객과 이해 관계자의 요건을 명확히 정의함

2) 데이터 전환 설계

  1. Logical Mapping
    • 목적 데이터베이스를 기준으로 하여 필요 원천 데이터의 추출 및 변환/가공/적재 로직과 업무 영역별 비즈니스 흐름이 잘 반영되어야 함
  2. Code Mapping
    • 요건 정의 단계에서 분석한 데이터를 기반으로 한 원천 데이터와 목적 데이터베이스를 데이터 표준에 맞게 정의(테이블, 필드, 코드 등)하고 해당 데이터들의 매핑 관계를 기술함
  3. 검증 규칙 정의
    • 데이터 전환에 의한 변환이 이루어진 경우 검증 규칙을 명확히 정의해야 함
  4. 전환 설계 수립
    • 원천 데이터를 목적 데이터베이스에 적재하기 위해 매핑을 정의한 데이터 변환 설계서를 작성함

3) 데이터 전환 개발

  1. 전환 개발 환경 구축
    • 개발 표준과 개발 방법론에 맞게 데이터 전환 및 개발 환경을 구축함
  2. 전환 프로그램 개발
    • 데이터 전환 설계서에 따라 데이터 전환 프로그램을 구현함
  3. 검증 프로그램 개발
    • 데이터 검증 설계서의 데이터 검증 논리로 실현 가능한 검증 프로그램을 구현함

4) 데이터 전환 테스트 및 검증

  1. 전환 검증 설계
    • 원천 데이터의 추출 및 전환 후 목적 데이터베이스에 전환하기 위한 검증 방법과 단계를 설계함
  2. 추출 검증
    • 원천 데이터베이스, 파일, 문서로부터 전환하기 위한 데이터를 정확히 추출했는지를 검증함
  3. 전환 결과 검증
    • 추출된 원천 데이터를 목적 데이터베이스에 전환하기 위해 전환 작업에 대한 검증을 수행함
  4. 최종 전환 설계
    • 검증 과정에서 발견된 수정 사항을 반영하여 최종 전환 설계를 완성함
  5. 전환 인프라 구축
    • 실제 데이터 전환을 위한 인프라를 구성함
  6. 1 ~ n차 전환 검증
    • 반복적인 데이터 전환 테스트를 통해 데이터 정합성을 확보함

5) 데이터 전환

  1. 최종 전환
    • 원천 데이터를 목적 데이터베이스에 전환하도록 수행함
    • 검증된 전환 프로그램을 이용하여 전환을 실시하고 전환 결과를 검증함
  2. 안정화 지원
    • 전환된 데이터가 신규 시스템에서 운영 시 문제가 없는지 확인함
    • 안정화 기간 모니터링을 진행하여 문제 발생 시 즉각적으로 원인을 파악하고 대응함
  3. 후속 단계 데이터 전환
    • 안정화 지원 시 발생된 문제점을 파악하여 후속 단계 데이터 전환을 진행함
  4. 전환 완료 보고서 작성
    • 최종 전환 작업이 완료되면 전환 완료 보고서를 작성하여 의사 결정자에게 보고를 진항하고 확인을 받음



03. 데이터 전환 개발 환경 분석 및 구축

1) 데이터 전환 개발 환경 구축의 개념

  • 데이터 전환 계획 수립 시에 작성된 데이터 전환 수행 계획서를 분석함
  • 데이터 전환 프로그램 구현에 필요한 하드웨어, 운영체제, 소프트웨어, DBMS 도구를 포함하는 기술적 환경과 기술 요소들을 파악하고, 개발 표준을 확인하여 개발 환경을 구축함

2) 기술적 환경과 기술 요소 분석

  1. 데이터 전환 수행 계획서 분석
    • 계획서에 기초한 데이터 전환은 ETL 도구를 사용하는 방법과 요구사항에 맞게 새로운 전환 도구를 개발하는 방법이 있음
    • ETL 도구를 구입하여 사용하는 방법도 데이터 전환에 대한 사용자 요구사항을 반영하기 위해서는 부분 수정 개발이 필요함
    • 두 가지 방법 중 데이터 전환에 소요되는 기간 및 예산, 요구사항 반영 범위를 분석하여 신중한 선택이 되도록 함
  2. 기술적 환경 분석
    • 데이터 전환 프로그램을 구현하기 위한 시스템 구성도 및 데이터베이스 정보를 확인함
    • 원천 데이터가 있는 서버 정보와 목적 데이터베이스가 설치된 서버 정보를 모두 확인하고, 데이터 전환의 정합성을 위해 데이터 전환 D-4일 이후 사용자를 제한함
  3. 기술 요소 분석
    • 확인된 원천 데이터 정보와 목적 데이터베이스 정보로 파일 접근 및 데이터베이스 접속이 가능한지 확인함
    • 필요에 따라 데이터 접근을 위한 관련 소프트웨어를 파악함

3) 데이터 전환 개발 환경 구축

  • 정보 시스템 개발을 위한 개발 표준과 개발 방법론의 내용을 바탕으로 기술 요소를 반영한 개발 환경을 구축함



04. 데이터 전환 프로그램의 성능 최적화

1) 성능 최적화의 개념

  • 데이터 전환 설계서의 변환 논리를 프로그램하여 테스트한 후 성능을 최적화함
  • 일반적으로 데이터 전환 프로그램은 데이터 전환 설계서에 기술된 정의를 바탕으로 원천 데이터를 목적 데이터베이스로 전환하는 작업을 수행함
  • 데이터 전환 프로그램에는 원천 데이터 분석 묘듈과 데이터 전환 엔진 모듈이 있음

2) 원천 데이터 분석 모듈

  • 원천 데이터로부터 데이터의 속성 정보인 메타 데이터를 생성하고 메타 데이터로부터 해당 데이터의 운영 환경을 분석하여 분석 보고서를 생성함
  • 데이터 분석 모듈은 별도의 도구 없이 수작업으로도 분석이 가능하기 때문에 상황에 따라 구현 대상이 되지 않을 수도 있음

3) 데이터 전환 엔진 모듈

  1. 데이터 추출(Extraction)
    • 원천 데이터의 종류에 따라 데이터 추출 방법이 결정됨
    • 데이터베이스에서 데이터를 추출할 경우에는 SQL문을 활용함
    • 순차적 접근 방법(SAM) 파일에서 데이터를 추출할 경우에는 파일 오픈 후 레코드 단위로 데이터를 읽어 들여 처리함
    • 데이터 추출을 위한 SQL문의 구현 방법에 따라 전환 프로그램의 성능이 좌우됨
  2. 데이터 변환(Transformation)
    • 데이터 전환 설계서의 데이터 변환 규칙에 따라 데이터 변환이 이루어지도록 프로그램을 구현함
    • 데이터 변환 규칙은 기본 변환 정제 규칙, 일반 규칙 그리고 변환용 파일 및 테이블 규칙으로 나눌 수 있음
  3. 데이터 적재(Loading)
    • 목적 데이터베이스에 맞게 전환된 데이터를 데이터베이스에 저장함



05. 데이터 전환 검증 프로그램 구현

1) 데이터 전환 검증 프로그램 구현의 개념

  • 데이터 전환 검증 설계서를 분석하고 데이터 전환 검증 프로그램을 구현함
  • 데이터 전환 검증 프로그램을 구현하고 성능을 최적화함

2) 데이터 전환 검증 설계서 분석

  • 데이터 전환 과정에서 데이터의 누락이나 오류가 발생하지 않도록 데이터 전환 검증 설계서에 정의된 단계별 검증 방법과 처리 건수 및 처리 내용을 프로그램하는 방법을 분석함

3) 데이터 전환 검증 단계

  1. 추출 검증 : 원천 데이터 추출을 검증함
  2. 전환 검증 : 전환 규칙이 정확히 적용되었는지 검증함
  3. 적재 검증 : 전환된 데이터가 목적 데이터베이스에 정확히 등록되었는지 검증함
  4. 업무 검증 : 현업 업무별 조회 화면을 통해 주요 업무 데이터를 검증함
  5. 통합 검증 : 목적 데이터베이스에 적재된 데이터와 원천 데이터의 개수, 데이터 합계 값이 맞는지 검증함

4) 데이터 전환 검증 프로그램 구현(3가지 조건)

  1. 완전성(Exhaustiveness)
    • 원천 데이터의 모든 데이터는 하나도 빠짐없이 전환 규칙을 적용하여 목적 데이터베이스에 적재되어야 함
  2. 데이터 값의 일관성(Consistency)
    • 전환된 데이터는 목적 데이터베이스에 존재하는 요구사항과 제약조건을 충족시켜야 함
    • 원천 데이터에 'M'과 'F' 값을 갖는 항목이 존재한다고 가정할 때, 원천 데이터에서는 'U'(Unknown)라는 속성 값이 허용되지만 목적 데이터베이스에서 허용하지 않는다면 'U'값이 가지는 모호성 문제를 해결하거나 목적 데이터베이스가 이 값을 허용하도록 조정해야 함
  3. 관계의 일관성(Coherence)
    • 원천 데이터의 데이터 간 관계는 보전되어 목적 데이터베이스로 이전되어야 함
    • 원천 데이터에 존재하던 고객 주문과 고객 간의 관계가 있다면 목적 데이터베이스에서도 동일하게 적용되어야 함

5) 데이터 전환 검증 프로그램 테스트

  1. 개발 환경에서 테스트
    • 먼저 원천 데이터 건수와 크기를 확인하고 전환된 목적 데이터베이스의 건수와 크기를 확인하여 비교함
    • 누락되거나 서로 상이한 데이터가 없는지 데이터별로 값을 비교하고 확인함
    • 반복적으로 테스트를 진행함
  2. 성능 최적화
    • 검증 단계별 가장 많은 시간이 소요되는 단계부터 프로그램을 검증하고 최적화를 수행함

6) 데이터 전환 수행 시간 산정

  1. 원천 데이터의 전체 건수와 추출 시간을 확인
    • 원천 데이터의 테이블별 건수를 파악하여 기록하고, 테이블별 추출 시간을 기록함
    • 건수별 추출 시간의 평균을 산정하여 추출 시간이 많이 걸리는 테이블은 추출 쿼리나 전화 프로그램의 로직을 확인하여 최적화함
  2. 목적 데이터베이스에 적재하기 위한 데이터 전환 시간 확인
    • 추출된 원천 데이터를 목적 데이터베이스에 적재하기 위한 테이블별 전환 데이터 건수와 시간을 확인함
    • 목적 데이터베이스의 테이블별 전환된 건수 대비 시간이 많이 걸리는 데이터는 전환 로직을 확인하여 최적화함
  3. 목적 데이터베이스에 적재하는 시간 확인
    • 전환이 완료된 원천 데이터를 목적 데이터베이스에 적재하기 위한 테이블별 적재 데이터 건수와 적재 시간을 확인함
    • 추출 로직과 전환 로직에 비해 적재 로직은 비교적 단순하여 문제가 발생할 활률이 비교적 낮음
  4. 데이터 검증 프로그램의 검증 시간 확인
    • 데이터 검증도 목적 데이터베이스의 테이블별로 검증 시간과 건수를 확인함
    • 원천 데이터의 추출 건수와 전환 로직에 의한 건수를 모두 비교하여 확인해야 함

7) 데이터 전환 결과 분석

  • 데이터 전환 결과는 전환된 내용과 시간, 오류 내역, 적재율, 오류율, 검증 성공률을 점검하여 원인을 분석함
  1. 적재율 계산
    • 적재율 = (적재 완료 테이블 수 / 전환 대상 테이블 수) * 100
  2. 오류율 계산
    • 오류율 = (오류 데이터 / 전체 데이터) * 100
  3. 검증 성공률
    • 검증 성공률 = 기 수집된 검증 요건에 대한 As-Is / To-Be의 항목별 비교 검증 성공률