혹시나, 이 문서를 보시는 분들을 위해 남김니다.
본 문서는 작성자의 주관적인 입장에서 개인적인 정리 작업을 위해서 작성한 문서입니다. 필요시, 참고만 하시길.
또, 개발 이후의 글은 작성되지 않았습니다.
ETL 시스템 이관 작업 진행 절차
분석 단계
- 작업 범위 산정
n 메뉴 화면 정리(사용/미사용/신규)
- 연동 정보 정리
n 사용/미사용 여부(to-be)
u 작업 범위 산정 결과 참조하여 작성
u 데이터 흐름도 참조(원천 소스 시스템 분석 필요)
n 연동 방법
u Data in(소스 데이터로 사용)
l 예: FTP(File): get, put
l 예: DB Link
u Data out(외부 시스템에 전송)
l 예: FTP(File): put
n 연동 신청
u from/to 시스템 정리 시 고려 사항
l 연동 가능 여부(Net 망에 따라 가능/불가능)
l 연동 필요 여부(각 시스템당 연동 필요 여부 확인)
n 예: FTP 연동은 app 서버로
n 예: DBLink 연동은 DB 서버로
n 연동 확인
u 접속 테스트
u 연동 정보 확인
l DBLink(table): 테이블 조회
l ftp(file): 파일 존재 여부
u 이슈 정리
l 예: DBLink failed
n 연동 불가(망 연동 불가)
n 테이블 조회 불가
n ID/PW/SID 정보 없음(방화벽 해제됐는데 접근 테스트 불가)
l 예: FTP failed
n File 존재 안함
- 작업 추적 방법
n ETL 작업 방법 정리
u 예: sqlldr(shell 스크림트 호출): file to 유
u 예: SQL 수행(shell 스크립트 호출): db to 유
u 예: Oracle Procedure: db to 유
- 데이터 흐름 정리
n from 화면 to 원천 소스
u 작업 명 정리(추적을 위해)
u 작업 Query 정리(설명 추가)
n 테이블 정의
u 소스 테이블
u 타겟 테이블
n 테이블 사용 유무 정리: 전체 대상 테이블 중 사용/미사용 테이블 분류
- 데이터 흐름도
n 데이터의 흐름 이해를 위해
u 기준 정보성 테이블
u 매저 값 성 테이블
n Measure 값을 가진 테이블을 기준으로 계층 구조 구성
u 각각의 테이블 간의 연관성 분석
u 데이터 분류 가능
- 테이블 단위 상세 흐름도
n 소스-타겟 간 데이터 적재 방법 상세화
n 테이블 관 연관 매저 분석
n 데이터 변환을 하는 원인 분석
n 데이터 변환 방법(최번시, 통계, 집계, 시간별, etc)
- 원천 소스 시스템 정리
n 데이터 종류 별로 분류
n 연동 정보당 연관 데이터 종류 확인 가능
설계 단계
- 마이그레이션 계획 수립
n As-Is 데이터 이관(1:1)
u To-be 모델링
u 데이터 검증
n To-be 모델에 데이터 마이그
u 과거데이터 이관
l 예: ODS(Depending on 보관주기)
l 예: DW(All)
- ETL 로직 재설계
n Query tuning: 성능 관점
n 데이터 흐름 단순화
u 데이터 적재 목적 파악 선행 필수
u 데이터 흐름 끊거나, 더 넣거나
- 모델 재설계
n 컬럼 첨/삭
u 추가: 예: 데이터 흐름 단순화 목적으로 필요시
u 삭제
l 예: 단순 계산 컬럼: 화면에서 계산 수행(SUM)
l 예: 값이 없는 경우: 사용 유무 확인 후, 삭제
n 테이블 첨/삭
u 추가
l 예: 성능 관점
l 예: 신규 화면 추가
l 예: 관리 포인트 변경(연관 시스템 이전)
u 삭제
l 예: 타 Part에서 재설계 필요한 경우
n 예측 데이터인 경우, 마이닝 재설계
n Dimension의 경우, OLAP 모델링 재설계
l 예: 단순 데이터 변환의 경우: 화면에서 볼 때 변환 수행
l 예: 단순 집계 일 경우: 화면에서 볼 때 집계 수행
n 화면에서의 필요 유무에 따라 첨/삭(OLAP/WEB 협의에 따른 설계)
u 데이터, 컬럼, 테이블
- 설계 검증
n 기존 데이터와 일정 구간 데이터 비교
n 이슈 발생시
u 원인 분석
l 기존이 틀린 경우: 유지
l 내가 틀린 경우: 변경
- ETL 개발 설계
n ETL 로직
u 매핑정의서
n 개발 방법
u 책임자 분류
l 예: FILE 연동: 시스템 엔지니어
l 예: DB Object 생성 관련(DB LINK, Table, Partition, Index): DBA 요청 및 문의
n 개발 Object 분류
u 예: file 로딩: Interface
u 예: ETL(db to db): Procedure(ODI)
- ETL 작업 설계
n 작업 명: Naming Rule에 따름
n 작업 분류 방법: FOLDER, PROJECT, 작업 명(prefix, postfix)
n 수행 주기: 기존 산출물 참조(스케쥴 표), 변동가능 범위 파악
n 선 후행 관계: 테이블 흐름도 상세 분석
개발 단계
- 테이블 생성
n 사전 정보 파악(왜? 테이블 관리 관점에서 필요)
u 보관주기
u 용량 (데이터 건수 or 실 용량 산정)
Continue…