3. 데이터베이스
3.4 물리 데이터베이스 설계
3.4.6 물리데이터 모델 품질검토
3.5 데이터 전환
3.5.1 데이터 전환 능력 단위 정의
3.5.2 데이터 전환 기술
1. 물리데이터 모델 품질 기준
1.1 물리데이터 모델 품질 검토의 필요성
물리데이터모델은 시스템 성능에 대해 직접적인 영향을 미치기 때문에 향후에 발생할 수 있는 성능 문제를 최소하하는 노력이 필요하다.
1.2 물리 데이터 모델 품질 기준
정확성 : 데이터 모델이 표기범에 따라 정확하게 표현되었고, 업무 영역 또는 요구사항이 정확하게 반영되었음을 의미함
완전성 : 데이터 모델의 구성 요소를 정의하는데 있어서 누락을 최소화하고, 요구사항 및 업무 영역 반영에 있어서 누락이 없음을 의미함.
준거성 : 제반 준수 요건들이 누락 없이 정확하게 준수되었음을 의미함
최신성 : 데이터 모델이 현행 시스템의 최신 상태를 반영하고 있고, 이슈사항들이 지체없이 반영되고 있음을 의미
일관성 : 여러 영역에서 공통 사용되는 데이터 요소가 전사 수준에서 한 번만 정의되고, 이를 여러 다른 영역에서 참조 활용되면서 모델 표현상의 일관성을 유지하고 있음을 의미함
활용성 : 작성된 모델과 그 설명내용이 이해관계자에게 의미를 충분하게 전달할 수 있으면서, 업무 변화시에 설계 변경이 최소화되도록 유연하게 설계되어 있음을 의미
2. CRUD 분석
2.1 CRUD 정의
기본적인 데이터 처리기능 4가지 Create, Read, Update, Delete
2.2 CRUD 분석의 정의
프로세스와 엔티티의 상관관계를 이용하여 구축된 데이터베이스 시스템을 검증하는 방법이다.
2.3 CRUD 분석 절차
1. 모든 엔티티 목록을 나열하고 각각의 프로세스가 해당 엔티티에 대하여 생성 조회 변경 삭제 하는가에 대한 여부를 표기한다.
2. CRUD 매트릭스작성 후 아래 항목들을 점검한다.
모든 엔티티 타입에 CRUD가 한번 이상 표기되었는가?
모든 엔티티 타입에 C가 한번 이상 존재하는가?
모든 엔티티 타입에 R이 한번 이상 존재하는가?
모든 단위 프로세스가 하나 이상의 엔티티 타입에 표기가 되었는가?
두 개 이상의 단위 프로세스가 하나의 엔티티 타입을 생성하는가? 이 경우 반드시 잘못되었다기 보다 로직의 검토 대상이 된다.
2.4 CRUD MATRIX 상관 모델링
1. 모든 엔티티 타입은 CRUD가 한 번 이상 표기되었는가?
쓸모없는 엔티티타입이 도출되는 경우, 적절한 단위 프로세스가 도출되지 않는 경우, 단위 프로세스의 CRUD가 아직 충분히 정의되지 않는 경우인지를 판단하여 적절한 조치를 취한다.
2. 모든 엔티티타입에 C가 한번 이상 존재하는가?
CRUD MATRIX에는 C가 한번 이상 있어야 한다.
3. 모든 엔티티타입에 R이 한번 이상 존재하는가?
4. 모든 단위 프로세스는 하나 이상의 엔티티타입에 표기가 되었는가
단위프로세스와 관련된 엔티티타입이 누락된 경우 추가한다.
5. 두개 이상의 단위 프로세스가 하나의 엔티티타입을 생성하는가?
관련된 프로세스를 검토하여 수정한다.
2.5 CRUD MATRIX를 이용함으로써 프로젝트에서 얻을 수 있는 장점
분석 단계의 데이터 모델과 프로세스 모델에 대한 작업을 검증할 수 있으며, 시스템 구축 단계에서 애플리케이션을 개발하는데 필요한 중요 산출물로 사용된다.
테스트 단계에서 개발한 애플리케이션을 테스트할 때도 사용할 수 있다
전체 업무간 인터페이스를 파악할 수 있다.
3. SQL 성능 튜닝
3.1 SQL 성능 튜닝의 정의
튜닝 대상이 되는 SQL을 이해하고, SQL이 가진 정보를 분석하여 성능을 개선하는 활동이다.
최소한의 CPU, I/O, 메모리를 사요하여 최대한 빠른 시간내에 원하는 작업을 수행하도록 SQL문을 수정한다.
3.2 SQL 성능 튜닝 방법
튜닝 대상 SQL 수집
1. 문제가 있는 SQL
SQL 실행에 필요이상의 자원을 사용하는 경우
서버의 자원을 독점하여 다른 SQL의 성능에 영향을 끼치는 경우
2. 향후 문제가 될 가능성이 있는 SQL
데이터 증가 및 사용자가 증가 할 경우, 서버의 자원을 대량으로 점유할 가능성이 있는 SQL
SQL 문제점 분석 및 개선사항 도축
1. 데이터가 운영 환경과 유사한 경우
수집된 SQL 수행정보가 분석을 위한 정보로 가치가 있기 때문에 이력정보를 이용함
TRACE 파일 분석이나 DBMS_XPLAN 패키지를 활용한 분석 방법 등 사용
2. 데이터가 운영환경에 비해 적거나 다른 경우
해당 SQL의 실행계획을 중심으로 튜닝대상 SQL을 판단하고 분석함
개선사항 적용 및 개선 효과 확인
1. 성능 튜닝을 수행하는 담당자들은 개발자들에 비해 제한된 정보만으로 SQL을 검토할 가능성이 높기 때문에, 개발자 차원에서의 검토가 충분히 이루어져야함
2. 개발자와 튜너 사이의 상호검증을 통해 SQL의 성능 최적화 필요
3. 개선 사항 적용 후에는 튜닝을 통해 목표하는 결과에 도달했는지 확인하고, 그렇지 못한 경우 추가적인 분석 및 튜닝 필요
3.3 SQL 튜닝 기초 지식
1. Where 안에서 연산자의 처리 성능을 숙지한다.
2. 조건절 컬럼에 함수는 사용하지 않는다
3. 조건절에 NOT 사용은 자제한다.
4. 조건절에서 범위를 다룰때는 가급적으로 BETWEEN문을 사용한다.
5. IN이나 EXISTS의 다음에 오는 SELECT 문의 결과내용이 많을수록 JOIN형태인 EXISTS문이 적당하다.
6. FROM절에 나열되는 테이블들의 순서는 기준이 되는 테이블일수록 뒤쪽에 위치시키는것이 속도에 좋다.
7. JOIN만 한 것이 OUTER JOIN을 한 것보다 속도가 더 빠르다. OUTER JOIN은 되도록 피하고 대신 UNION을 사용하는 것을 고려한다.
8. 인라인뷰를 사용하기 전에 JOIN을 사용하여 처리가능한지 확인한다. 인라인뷰를 사용하게 될 경우 SELECT문의 결과가 최소가 되도록 한다. JOIN하는 테이블이 많을 경우에 인라인뷰를 고려한다.
- 데이터 전환 능력 단위 정의
데이터 전환일나 원천의 데이터베이스, 파일, 문서로부터 목적 데이터베이스 구축에 필요한 데이터를 추출하고 목적 시스템의 데이터 모델에 적합하게 변환, 정제하여 목적 데이터베이스에 적재한 후 그 결과를 검증하여 운영 가능한 데이터베이스를 구축하는 능력이다.
- 데이터 전환 기술
1. 데이터 전환 개요
1.1 데이터 전환 개념
데이터 전환은 데이터 이행으로도 불리기도 한다. 데이터 전환은 새로운 정보 시스템을 개발하거나 기존의 시스템을 재구축한 경우 기존의 시스템에서 사용하던 데이터를 새로운 시스템으로 이행하기 위해 이전 시스템에서 데이터를 추출, 변환, 하여 새로운 시스템으로 적재하는 일련의 작업을 말한다.
1.2 데이터 전환 절차
데이터 전환 절차는 일반적으로 원천 데이터의 추출과 정체, 변환, 목표 시스템으로의 적재 및 검증 단계로 구성된다.
1.3 초기 데이터 구축
초기 데이터 구축은 단시일에 대량의 데이터를 전환함에 있어 발생할 수 있는 위험을 최소화하고 신속하고 안정적인 이행 작업을 수행하기 위해 원천시스템에서 특정 데이터들을 사전에 추출 및 변환해서 적재할 수 있도록 데이터베이스 혹은 데이터 파일로 구축해 두는 것을 말한다.
1.4 초기 데이터 구축을 통한 기대효과
데이터 이관 시 업무 중단을 최소화하고 안정성을 확보할 수 있는 방안 마련
데이터 이관 정합성 검증 방안과 오류 데이터에 대한 정비 방안 마련
데이터 이관 완료 후 데이터의 품질 검증 방안 마련
암호화된 개인정보에 대한 처리 방안 마련
2. ETL
2.1 ETL의 정의
조직 내외부의 복수의 데이터 소스들로부터 분석을 위한 저장소로 데이터를 이동시키는 프로세스이다.
다양한 소스시스템으로부터 필요한 데이터를 추출하여 변환작업을 거쳐 타겟 시스템으로 전송 및 로딩하는 모든 과정을 말한다.
2.2 ETL프로세스
ETL의 변환 작업은 특수한 엔진에서 진행되며, 종종 변환 중인 데이터가 준비 테이블에서 임시로 보유되었다가 대상에 로드된다.
일반적으로 발생하는 데이터 변환에는 필터링, 정렬, 집계, 데이터 조인, 데이터 정리, 중복 제거 및 데이터 유효성 검사 등의 작업이 포함된다.
3. 파일 처리 기술
자료구조이론에서 파일 처리 기술은 많은 양의 자료를 각종 매체에 저장하는 기법을 말한다.
즉 파일을 하드 디스크에 저장할 때 기억공간을 효율적으로 사용하고, 필요한 자료의 탐색을 쉽게하기 위해 파일을 효율적으로 처리하는 기술이다.
3.1 순차파일
순차파일은 입력되는 데이터들을 논리적인 순서에 따라 물리적 연속 공간에 순차적으로 기록하는 방식이다.
3.2 색인 순차 파일
색인 순차 파일은 순차 처리와 랜덤처리가 모두 가능하도록 레코드들을 키 값 순으로 정렬시켜 기록하고, 레코드의 키 항목만을 모은 색인을 구성하여 편성하는 방식이다.
3.3 VSAM 파일
VSAM파일은 동적 인덱스 방법을 이용한 색인 순차 파일이다.
동적 인덱스는 인덱스 파일 또는 데이터 파일을 블록으로 구성하고 블록은 추가적인 삽입 레코드를 감안하여 빈 공간을 준비해 둔 인덱스 방법이다.
정적 인덱스는 데이터파일 또는 레코드가 삽입되어도 인덱스의 구조가 변하지 않는 인덱스 방법이다.
4. 직접파일
직접 파일은 파일을 구성하는 레코드를 특정 순서 없이 임의의 물리적 저장공간에 기록하는 것으로 랜덤파일, DAM파일이라고도 한다.
'자격증 > 정보처리기사' 카테고리의 다른 글
정보처리기사 34일차 (0) | 2021.02.12 |
---|---|
정보처리기사 33일차 (0) | 2021.02.11 |
정보처리기사 31일차 (0) | 2021.02.10 |
정보처리기사 30일차 (0) | 2021.02.08 |
정보처리기사 29일차 (0) | 2021.02.08 |