정보처리기사/데이터베이스 구축
데이터 전환 1
RangA
2023. 5. 28. 23:09
태그: #정보처리기사
01. 데이터 전환
01. 데이터 전환 전략
1) 데이터 전환 전략의 개념
- 기존의 원천 시스템에서 데이터를 추출하여 목적 시스템의 데이터베이스에 적합한 형식과 내용으로 변환한 후, 목적 시스템에 적재하는 일련의 과정
- 기존에 운영되던 데이터를 목적 시스템으로 안정적으로 변환할 수 있도록 데이터 변환 전략을 이용하여 전환을 수행함
2) 데이터 전환 단계
- 데이터 전환 절차는 데이터 전환 환경에 따라 다소 차이가 발생할 수 있기 때문에 포괄적인 개념에서 접근 및 적용이 필요함
- 데이터 전환 단계는 시스템 개발 단계와 유사한 측면이 있음
시스템 개발 단계 | 데이터 전환 단계 |
---|---|
요구사항 분석 단계 | 데이터 전환 계획 및 요건 정의 |
설계 단계 | 데이터 전환 설계 |
구현 단계 | 데이터 전환 개발 |
테스트 단계 | 데이터 전환 테스트 및 검증 |
02. 데이터 전환 절차 단계
1) 데이터 전환 계획 및 요건 정의
- 프로젝트 계획
- 프로젝트의 목표와 범위를 명확히 하고, 추진 체계와 절차 및 투입 인력을 명시함
- 데이터 품질 관리 계획과 보안 관리에 대한 내용도 파악하여 기록함
- 프로젝트 환경 구축
- 데이터 전환 프로젝트를 수행하기 위한 개인용 컴퓨터와 네트워크 환경 등 개발 환경을 구축함
- As-Is(현행) 시스템 분석
- 현행 정보 시스템의 환경을 분석함
- 장비 및 솔루션 현황과 네트워크 구성도를 파악해야 함
- 원천 데이터 형식이 어떻게 시스템에 저장되어 있는지 경로 및 크기로 함께 분석함
- To-Be(목표) 시스템 분석
- 데이터가 최종 적재되는 목표 시스템에 대한 분석 및 데이터베이스 구조를 정확히 분석하고 이해함
- 데이터 전환 요건 정의
- 데이터 전환 시 고객과 이해 관계자의 요건을 명확히 정의함
2) 데이터 전환 설계
- Logical Mapping
- 목적 데이터베이스를 기준으로 하여 필요 원천 데이터의 추출 및 변환/가공/적재 로직과 업무 영역별 비즈니스 흐름이 잘 반영되어야 함
- Code Mapping
- 요건 정의 단계에서 분석한 데이터를 기반으로 한 원천 데이터와 목적 데이터베이스를 데이터 표준에 맞게 정의(테이블, 필드, 코드 등)하고 해당 데이터들의 매핑 관계를 기술함
- 검증 규칙 정의
- 데이터 전환에 의한 변환이 이루어진 경우 검증 규칙을 명확히 정의해야 함
- 전환 설계 수립
- 원천 데이터를 목적 데이터베이스에 적재하기 위해 매핑을 정의한 데이터 변환 설계서를 작성함
3) 데이터 전환 개발
- 전환 개발 환경 구축
- 개발 표준과 개발 방법론에 맞게 데이터 전환 및 개발 환경을 구축함
- 전환 프로그램 개발
- 데이터 전환 설계서에 따라 데이터 전환 프로그램을 구현함
- 검증 프로그램 개발
- 데이터 검증 설계서의 데이터 검증 논리로 실현 가능한 검증 프로그램을 구현함
4) 데이터 전환 테스트 및 검증
- 전환 검증 설계
- 원천 데이터의 추출 및 전환 후 목적 데이터베이스에 전환하기 위한 검증 방법과 단계를 설계함
- 추출 검증
- 원천 데이터베이스, 파일, 문서로부터 전환하기 위한 데이터를 정확히 추출했는지를 검증함
- 전환 결과 검증
- 추출된 원천 데이터를 목적 데이터베이스에 전환하기 위해 전환 작업에 대한 검증을 수행함
- 최종 전환 설계
- 검증 과정에서 발견된 수정 사항을 반영하여 최종 전환 설계를 완성함
- 전환 인프라 구축
- 실제 데이터 전환을 위한 인프라를 구성함
- 1 ~ n차 전환 검증
- 반복적인 데이터 전환 테스트를 통해 데이터 정합성을 확보함
5) 데이터 전환
- 최종 전환
- 원천 데이터를 목적 데이터베이스에 전환하도록 수행함
- 검증된 전환 프로그램을 이용하여 전환을 실시하고 전환 결과를 검증함
- 안정화 지원
- 전환된 데이터가 신규 시스템에서 운영 시 문제가 없는지 확인함
- 안정화 기간 모니터링을 진행하여 문제 발생 시 즉각적으로 원인을 파악하고 대응함
- 후속 단계 데이터 전환
- 안정화 지원 시 발생된 문제점을 파악하여 후속 단계 데이터 전환을 진행함
- 전환 완료 보고서 작성
- 최종 전환 작업이 완료되면 전환 완료 보고서를 작성하여 의사 결정자에게 보고를 진항하고 확인을 받음
03. 데이터 전환 개발 환경 분석 및 구축
1) 데이터 전환 개발 환경 구축의 개념
- 데이터 전환 계획 수립 시에 작성된 데이터 전환 수행 계획서를 분석함
- 데이터 전환 프로그램 구현에 필요한 하드웨어, 운영체제, 소프트웨어, DBMS 도구를 포함하는 기술적 환경과 기술 요소들을 파악하고, 개발 표준을 확인하여 개발 환경을 구축함
2) 기술적 환경과 기술 요소 분석
- 데이터 전환 수행 계획서 분석
- 계획서에 기초한 데이터 전환은 ETL 도구를 사용하는 방법과 요구사항에 맞게 새로운 전환 도구를 개발하는 방법이 있음
- ETL 도구를 구입하여 사용하는 방법도 데이터 전환에 대한 사용자 요구사항을 반영하기 위해서는 부분 수정 개발이 필요함
- 두 가지 방법 중 데이터 전환에 소요되는 기간 및 예산, 요구사항 반영 범위를 분석하여 신중한 선택이 되도록 함
- 기술적 환경 분석
- 데이터 전환 프로그램을 구현하기 위한 시스템 구성도 및 데이터베이스 정보를 확인함
- 원천 데이터가 있는 서버 정보와 목적 데이터베이스가 설치된 서버 정보를 모두 확인하고, 데이터 전환의 정합성을 위해 데이터 전환 D-4일 이후 사용자를 제한함
- 기술 요소 분석
- 확인된 원천 데이터 정보와 목적 데이터베이스 정보로 파일 접근 및 데이터베이스 접속이 가능한지 확인함
- 필요에 따라 데이터 접근을 위한 관련 소프트웨어를 파악함
3) 데이터 전환 개발 환경 구축
- 정보 시스템 개발을 위한 개발 표준과 개발 방법론의 내용을 바탕으로 기술 요소를 반영한 개발 환경을 구축함
04. 데이터 전환 프로그램의 성능 최적화
1) 성능 최적화의 개념
- 데이터 전환 설계서의 변환 논리를 프로그램하여 테스트한 후 성능을 최적화함
- 일반적으로 데이터 전환 프로그램은 데이터 전환 설계서에 기술된 정의를 바탕으로 원천 데이터를 목적 데이터베이스로 전환하는 작업을 수행함
- 데이터 전환 프로그램에는 원천 데이터 분석 묘듈과 데이터 전환 엔진 모듈이 있음
2) 원천 데이터 분석 모듈
- 원천 데이터로부터 데이터의 속성 정보인 메타 데이터를 생성하고 메타 데이터로부터 해당 데이터의 운영 환경을 분석하여 분석 보고서를 생성함
- 데이터 분석 모듈은 별도의 도구 없이 수작업으로도 분석이 가능하기 때문에 상황에 따라 구현 대상이 되지 않을 수도 있음
3) 데이터 전환 엔진 모듈
- 데이터 추출(Extraction)
- 원천 데이터의 종류에 따라 데이터 추출 방법이 결정됨
- 데이터베이스에서 데이터를 추출할 경우에는 SQL문을 활용함
- 순차적 접근 방법(SAM) 파일에서 데이터를 추출할 경우에는 파일 오픈 후 레코드 단위로 데이터를 읽어 들여 처리함
- 데이터 추출을 위한 SQL문의 구현 방법에 따라 전환 프로그램의 성능이 좌우됨
- 데이터 변환(Transformation)
- 데이터 전환 설계서의 데이터 변환 규칙에 따라 데이터 변환이 이루어지도록 프로그램을 구현함
- 데이터 변환 규칙은 기본 변환 정제 규칙, 일반 규칙 그리고 변환용 파일 및 테이블 규칙으로 나눌 수 있음
- 데이터 적재(Loading)
- 목적 데이터베이스에 맞게 전환된 데이터를 데이터베이스에 저장함
05. 데이터 전환 검증 프로그램 구현
1) 데이터 전환 검증 프로그램 구현의 개념
- 데이터 전환 검증 설계서를 분석하고 데이터 전환 검증 프로그램을 구현함
- 데이터 전환 검증 프로그램을 구현하고 성능을 최적화함
2) 데이터 전환 검증 설계서 분석
- 데이터 전환 과정에서 데이터의 누락이나 오류가 발생하지 않도록 데이터 전환 검증 설계서에 정의된 단계별 검증 방법과 처리 건수 및 처리 내용을 프로그램하는 방법을 분석함
3) 데이터 전환 검증 단계
- 추출 검증 : 원천 데이터 추출을 검증함
- 전환 검증 : 전환 규칙이 정확히 적용되었는지 검증함
- 적재 검증 : 전환된 데이터가 목적 데이터베이스에 정확히 등록되었는지 검증함
- 업무 검증 : 현업 업무별 조회 화면을 통해 주요 업무 데이터를 검증함
- 통합 검증 : 목적 데이터베이스에 적재된 데이터와 원천 데이터의 개수, 데이터 합계 값이 맞는지 검증함
4) 데이터 전환 검증 프로그램 구현(3가지 조건)
- 완전성(Exhaustiveness)
- 원천 데이터의 모든 데이터는 하나도 빠짐없이 전환 규칙을 적용하여 목적 데이터베이스에 적재되어야 함
- 데이터 값의 일관성(Consistency)
- 전환된 데이터는 목적 데이터베이스에 존재하는 요구사항과 제약조건을 충족시켜야 함
- 원천 데이터에 'M'과 'F' 값을 갖는 항목이 존재한다고 가정할 때, 원천 데이터에서는 'U'(Unknown)라는 속성 값이 허용되지만 목적 데이터베이스에서 허용하지 않는다면 'U'값이 가지는 모호성 문제를 해결하거나 목적 데이터베이스가 이 값을 허용하도록 조정해야 함
- 관계의 일관성(Coherence)
- 원천 데이터의 데이터 간 관계는 보전되어 목적 데이터베이스로 이전되어야 함
- 원천 데이터에 존재하던 고객 주문과 고객 간의 관계가 있다면 목적 데이터베이스에서도 동일하게 적용되어야 함
5) 데이터 전환 검증 프로그램 테스트
- 개발 환경에서 테스트
- 먼저 원천 데이터 건수와 크기를 확인하고 전환된 목적 데이터베이스의 건수와 크기를 확인하여 비교함
- 누락되거나 서로 상이한 데이터가 없는지 데이터별로 값을 비교하고 확인함
- 반복적으로 테스트를 진행함
- 성능 최적화
- 검증 단계별 가장 많은 시간이 소요되는 단계부터 프로그램을 검증하고 최적화를 수행함
6) 데이터 전환 수행 시간 산정
- 원천 데이터의 전체 건수와 추출 시간을 확인
- 원천 데이터의 테이블별 건수를 파악하여 기록하고, 테이블별 추출 시간을 기록함
- 건수별 추출 시간의 평균을 산정하여 추출 시간이 많이 걸리는 테이블은 추출 쿼리나 전화 프로그램의 로직을 확인하여 최적화함
- 목적 데이터베이스에 적재하기 위한 데이터 전환 시간 확인
- 추출된 원천 데이터를 목적 데이터베이스에 적재하기 위한 테이블별 전환 데이터 건수와 시간을 확인함
- 목적 데이터베이스의 테이블별 전환된 건수 대비 시간이 많이 걸리는 데이터는 전환 로직을 확인하여 최적화함
- 목적 데이터베이스에 적재하는 시간 확인
- 전환이 완료된 원천 데이터를 목적 데이터베이스에 적재하기 위한 테이블별 적재 데이터 건수와 적재 시간을 확인함
- 추출 로직과 전환 로직에 비해 적재 로직은 비교적 단순하여 문제가 발생할 활률이 비교적 낮음
- 데이터 검증 프로그램의 검증 시간 확인
- 데이터 검증도 목적 데이터베이스의 테이블별로 검증 시간과 건수를 확인함
- 원천 데이터의 추출 건수와 전환 로직에 의한 건수를 모두 비교하여 확인해야 함
7) 데이터 전환 결과 분석
- 데이터 전환 결과는 전환된 내용과 시간, 오류 내역, 적재율, 오류율, 검증 성공률을 점검하여 원인을 분석함
- 적재율 계산
- 적재율 = (적재 완료 테이블 수 / 전환 대상 테이블 수) * 100
- 오류율 계산
- 오류율 = (오류 데이터 / 전체 데이터) * 100
- 검증 성공률
- 검증 성공률 = 기 수집된 검증 요건에 대한 As-Is / To-Be의 항목별 비교 검증 성공률