랑아
article thumbnail

02. 데이터 정제

01. 데이터 품질 방법론

1) 데이터 품질 방법론의 개념

  • 고품질의 데이터를 운영, 관리하기 위하여 일련의 데이터 관리 활동들을 체계적인 흐름으로 표현한 프로세스
  • 데이터 품질 방법론에는 데이터 관리 정책, 데이터 표준 관리, 데이터 모델 관리, 데이터 흐름 관리, 데이터베이스 관리, 데이터베이스 보안, 데이터 활용 관리, 요구사항 관리가 있음

2) 데이터 표준 관리

  1. 데이터 표준 정의
    • 해당 기관에서 사용하는 용어 및 도메인, 코드, 데이터 관련 요소에 대한 표준을 전사적으로 정의하는 작업
    • 표준에 따른 원칙을 정의하고 사용자의 표준화 요건을 수렴한 후 각 표준화 요소에 대한 전사 표준을 정의함
  2. 데이터 표준 변경
    • 정의된 데이터 표준에 대한 요구사항을 반영하는 변경 관리 작업
  3. 데이터 표준 평가
    • 해당 기관에서 전사적으로 정의한 용어, 도메인, 및 코드 표준의 준수 현황을 평가하는 작업
    • 정의된 표준과 데이터 모델과의 매핑을 통해 표준 준수 여부를 체크하고 미 준수 데이터에 대해서는 원인 및 변경 영향도 분석 결과를 반영하여 개선 작업을 수행함

3) 데이터 모델 관리

  1. 데이터 모델 정의
    • 신규 시스템 개발 시 데이터 모델링 작업을 통해 설계된 개념 데이터 모델, 데이터 참조 모델, 논리 데이터 모델, 물리 데이터 모델을 전사적으로 생성, 유지하기 위해 필요한 작업
  2. 데이터 모델 변경
    • 사용자 요구사항에 적합한 서비스를 제공하기 위해 데이터 모델을 데이터 표준 및 데이터 참조 모델을 토대로 변경하는 작업
  3. 데이터 모델 평가
    • 해당 기관에서 전사적으로 관리하고 있는 데이터 모델을 평가하는 작업

4) 데이터 흐름 관리

  1. 데이터 흐름 정의
    • 원시 데이터(문서, Text, 데이터베이스 등)를 수기로 생성하거나 추출, 전환, 적재, 가공을 통해 목표 데이터베이스에 저장하는 데이터의 생명주기를 통제, 관리하는 작업
  2. 데이터 흐름 평가
    • 원시 데이터를 생성하여 목적 데이터로 저장, 관리되는 데이터의 정합성을 평가하는 작업
  3. 데이터 흐름 변경
    • 데이터 추출 요건과 설계 검토를 통해 데이터 정합성을 지키지 않는 데이터 추출 요건 및 로직 등을 수정하고 오류 데이터를 수정함

5) 데이터베이스 관리

  1. 데이터베이스 정의
    • 데이터베이스를 안정적으로 운영, 유지하기 위해 데이터 모델에 적합한 데이터베이스 구성 및 백업, 보안, 복구, 성능 등을 정기적이거나 비정기적으로 관리하는 작업
  2. 데이터베이스 변경
    • 요구사항에 따라 변경된 데이터 모델을 토대로 데이터베이스를 변경하는 작업
  3. 데이터베이스 평가
    • 현재 설정된 데이터베이스의 객체에 지정한 제약조건과 객체 유형을 확인하여 해당 규칙이 최적의 성능을 보장하고 데이터의 오류를 방지하기에 적합한지 평가함

6) 데이터베이스 보안

  1. 데이터베이스 보안 정의
    • 데이터베이스에 저장된 데이터를 오류 및 훼손 없이 안정적으로 서비스할 수 있도록 하기 위해 접근 권한, 패스워드 정책 수립 및 암호화 등을 수행하는 작업
  2. 데이터베이스 보안 변경
    • 기존의 보안 정책으로 정상적인 보안 수행이 어렵다고 판단되는 경우 데이터베이스 보안과 관련한 절차, 기준, 관련 교육 등에 대한 내용을 수정, 보완하는 작업
  3. 데이터베이스 보안 평가
    • 데이터베이스에 접근되고 사용되는 모든 내역을 로깅하고 주기적으로 로깅된 검사 자료를 분석하여 변경 사유 및 이상 징후에 대한 판단을 수행하는 작업

7) 데이터 활용 관리

  1. 데이터 활용 평가
    • 데이터의 활용 여부를 점검하거나 활용도를 높이기 위해 측정 대상 데이터와 품질 자료를 선정 -> 품질을 측정/분석 -> 품질을 충족시키지 못하는 경우 원인을 분석 -> 담당자로 하여금 조치하도록 하는 작업
  2. 데이터 활용 개선
    • 데이터의 활용도를 개선하기 위하여 활용 저하 원인별로 개선 방안을 마련 -> 도출된 개선 방안의 활동 계획에 따라 개선 활동을 수행 -> 개선 활동을 평가하는 일련의 작업

8) 요구사항 관리

  1. 요구사항 확인
    • 비즈니스의 연속성 및 장애에 따른 위험성을 사전에 제거 및 최소화하기 위해 사용자의 요구사항을 수립, 분석하는 작업
  2. 요구사항 반영
    • 변경 요청된 내역을 영향도 분석을 통해 관련 담당자를 소집하여 공식화한 후 변경 작업 계획을 수립함



02. 데이터 관리 책임과 역할

1) CIO(최고 정보화 임원) / EDA(전사 데이터 관리자)

  • 개괄적 관점
  • 데이터 관리를 총괄함
  • 데이터 관리 정책을 수립함
  • 데이터 관리자 간 이슈 사항을 조정함

2) DA(데이터 관리 책임자)

  • 개념적 관점이며 표준 데이터를 관리함
  • 전사 데이터 변경 관리를 총괄함
  • 전사 데이터 통합 모델을 관리함
  • 데이터 표준 개발 및 조정을 함
  • 데이터 구조는 개념 데이터 모델, 데이터 참조 모델
  • 데이터 관리 프로세스는 데이터 표준 관리, 요구사항 관리

3) Modeler

  • 논리적 관점이며 모델 데이터를 수행함
  • 해당 기능 영역의 데이터 요구사항 및 이슈 사항 조정과 통합을 수행함
  • 해당 기능 영역의 비즈니스 요건을 토대로 데이터 모델링을 수행함
  • 표준을 확인하고 적용함
  • 데이터 구조는 논리 데이터 모델
  • 데이터 관리 프로세스는 데이터 모델 관리, 데이터 흐름 관리

4) DBA(Database Administrator, 데이터베이스 관리자)

  • 물리적 관점이며 관리 데이터를 다룸
  • 데이터베이스를 디자인함
  • 데이터베이스와 데이터의 형상 관리를 수행함
  • 데이터베이스의 모니터링 및 튜닝, 보안을 관리함
  • 데이터 구조는 물리 데이터 모델, 데이터베이스
  • 데이터 관리 프로세스는 데이터베이스 관리, 데이터베이스 보안 관리

5) User

  • 운용적 관점이며 업무 데이터를 활용함
  • 서비스되는 운영 및 분석 데이터를 활용함
  • 데이터에 대한 추가 요건을 요청함
  • 데이터 구조는 사용자 View
  • 데이터 관리 프로세스는 데이터 활용 관리



03. 오류 데이터 측정 및 정제

1) 데이터 품질을 분석하고 오류 데이터 측정

  1. 원천 데이터의 품질 분석
    • 원천 데이터의 품질이 보장되지 않으면 전환 후의 데이터도 정확하지 않음
    • 전환 후의 데이터 정합성 검증 시 오류가 발생할 때 그 원인을 찾기 어려움
    • 전환 전에 원천 데이터의 품질을 검증함으로써 전환의 정확성을 보장할 수 있으며, 이전에 미처 발견하지 못한 데이터의 오류도 찾아낼 수 있음
  2. 전환된 목적 데이터베이스 품질 분석
    • 원천 데이터와 목적 데이터베이스의 속성(Column) 간 대응 관계는 1:1 대응보다 M:N 대응 관계가 더 많기 때문에 양자 간의 대응 관계를 정확히 표현하기 위해서는 데이터 레이아웃을 정확하게 파악하고 품질 검증을 진행해야 함
  3. 정상 데이터와 오류 데이터의 정량적 측정
    • 정상 데이터의 건수를 정량적으로 측정 : 전환 대상 범위의 데이터를 업무 영역별, 테이블별로 세분화하여 정상 데이터의 수량을 정확히 측정하고 기록함
    • 오류 데이터의 유형과 건수를 정량적으로 측정 : 원천 데이터의 정합성 기준을 근거로 업무별로 오류 위치와 유형을 파악하고 그 수량을 정확히 측정하여 기록함

2) 오류 원인 파악하고 정제 여부를 결정

  1. 오류 분석과 원인 파악
    • 오류 관리 목록에 기록된 오류 내용을 확인하고 오류의 상태와 심각도를 결정한 후 오류 원인을 파악함
    • 파악된 오류 원인을 기반으로 해결 방안을 협의하고, 무시해야 하는 오류가 아닌 경우에는 원천 데이터의 정제를 통해 해결할 것인지, 전환 프로그램을 수정할 것인지를 결정함
  2. 해결 방안
    • 오류의 내용과 원인을 분석하여 해결 가능한 오류는 향후 처리 방침을 기술하고, 해결 불가능한 오류는 고객과 협의한 내용을 기술함
  3. 심각도
    • 상 : 더 이상 데이터 이행을 진행할 수 없게 만드는 오류
    • 중 : 데이터 이행 전반에 영향을 미치는 오류
    • 하 : 데이터 이행의 흐름에는 영향을 미치지 않는 오류이나 상황에 맞지 않는 용도 및 배치 오류
  4. 현재 상태
    • Open : 오류가 보고되었지만 아직 분석되지 않은 상태
    • Assigned : 영향 분석 및 수정을 위해 개발자에게 할당된 상태
    • Fixed : 개발자가 오류를 수정한 상태
    • Closed : 오류가 수정되었는지 확인하고 재 테스트 시 오류가 발견되지 않은 상태로, 만약 수정된 오류가 만족스럽지 않을 경우 오류의 상태를 Open으로 변경함
    • Deferred : 오류 우선순위가 낮게 분류되었기 때문에 오류 수정을 연기한 상태
    • Classified : 보고된 오류가 프로젝트팀에 의해 발생한 오류가 아니라고 판단된 상태

3) 데이터 정제 요청서 작성

  • 데이터 정제가 필요한 원천 데이터와 전환 프로그램의 수정이 필요한 부분을 확인함
  • 정제 제목, 정제 전략, 정제 유형, 정제 방법, 상태, 검증 방법을 확인함

1. 정제 유형

  • 완전성 : 고객 정보에 주민등록번호/사업자등록번호가 없는 경우처럼 업무적으로 반드시 있어야 하는 자료가 누락된 경우
  • 유효성 : 생년월일이 현재 일자보다 큰 경우처럼 항목의 값이 유효하지 않은 경우
  • 일치성 : 성별이 남자이면서 주민등록번호 뒤 7자리가 2 또는 4로 시작되는 경우와 같이 상호 관련이 있는 자료 항목이 서로 상이한 경우
  • 유일성 : 서로 다른 사람의 주민등록번호가 동일하다면 정제 대상

2. 정제 방법

  • 원천 : 원천 데이터 수정이 필요한 경우
  • 전환 : 전환 프로그램 수정이 필요한 경우
  • 모두 : 원천 데이터와 전환 프로그램 수정이 모두 필요한 경우



04. SQL 성능 튜닝

1) SQL 성능 튜닝의 개념

  • 사용자의 질의를 효율적 실행이 가능한 내부 질의로 바꿔 주는 작업
  • 사용자의 질의와 내부 질의는 같은 결과여야 하며, 질의 처리 과정에서 중간 결과를 적게 산출하면서 빠른 시간 안에 결과를 구할 수 있어야 함

2) SQL 성능 튜닝 방법

  1. 셀렉션 연산은 가능한 한 일찍 수행함
    • 셀렉션 연산을 먼저 수행하면 질의 처리 과정에서 원하는 결과이거나 원하는 결과를 구하는 데 꼭 필요한 중간 결과만을 만들게 됨
    • 중간 결과의 크기가 작으면 중간 결과를 저장하기 위해 주기억 장치만을 사용하게 됨
    • 셀렉션 연산을 가능한 한 일찍 수행하는 것은 질의를 효율적으로 처리하는 데 도움이 됨
  2. 프로젝션 연산을 먼저 수행함
    • 프로젝션 연산도 셀렉션 연산과 마찬가지로 질의 처리 과정에서 중간 결과의 크기를 작게 할 수 있음
    • 셀렉션 연산의 경우와 같이 프로젝션 연산을 통해 원하는 결과이거나, 원하는 결과를 구하는 데 꼭 필요한 부분만 중간 결과로 남게 함
  3. 조인 연산 순서를 최적화함
    • 셀렉션 연산과 프로젝션 연산을 수행한 후에 조인을 수행함
    • 많은 릴레이션이 조인되어 결과 산출을 하는 경우에는 가급적 중간 결과가 적게 생기도록 릴레이션의 조인 순서를 정함
    • 먼저 크기가 작은 릴레이션을 조인함으로써 조인 결과가 커지는 것을 방지할 수 있음
    • 조인 연산에 결합 법칙과 교환 법칙이 성립하기 때문에 최적화가 가능함
    • 질의 최적화 규칙은 릴레이션을 구성하는 튜플의 수, 튜플의 크기를 사용함
  4. 릴레이션의 속성에 나타난 서로 다른 값들의 수
    • 릴레이션의 속성에 나타난 서로 다른 값들의 수는 주기억 장치에 저장되어 있으면서 그 값들이 시스템의 상태를 정확하게 표현할 수 있도록 유지되어야 함
profile

랑아

@RangA

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!