본문 바로가기

ETL

[ETL] ETL JOB Monitoring (View 조회) * View 생성 - 케이스 별로 발생했을 상황과 보고자 하는 정보를 조회하는 쿼리 생성함. - 작업 수행 정보 1. 배치 수행 / 미수행 2. 작업 수행 성공 / 실패 3. 데이터 이슈 (별도 정의) 4. 기타 이슈 발생 상황 - 정확한 정보를 담기 위해서는 ETL 작업에 대한 메타 정보를 DB에 별도 테이블로 관리 하여 View 스크립트 생성시 참조 할 수 있도록 하며, 지속적인 관리로 최신화를 유지한다. - View 명: V_ETL_Monitoring * ETL 작업 생성 - View를 조회하여 Row가 존재할 경우, 해당 Output을 파일을 첨부로 하여, 담당자나 운영자에게 Mail로 현황을 전송. - 작업 진행 절차 (수도코드)if (View Rows > 1) then make file thr.. 더보기
[ETL] 작업 관리 ETL 작업 관리 필요 요소 및 아키텍처 1. 관리 데이터 - ETL JOB LIST(ETL 작업 MASTER 정보) - ETL JOB LOG(ETL 작업 수행 이력) - ETL JOB MATCH(ETL 작업 DEPENDENCY) 2. 로직 구현 - 작업에 사용하는 모든 변수는 사전에 미리 정의 하여 사용함. - 같은 작업 수행 체크 로직을 LOG 쌓기 바로 전에 수행하여 중복 수행 발생 가능성을 최소화 함 - 변수 값 설정 로직(ODI의 경우, 새로고침)이 변경 될 요지가 많은 경우, 반드시, 작업에 영향이 없는 Oracle Stored Procedure or Function으로 구현하여, 이 후, 수많은 변경 후에도, 일괄 적용 될 수 있도록, 부가작업이 없도록 구현함. ( ODI의 경우, 새로고침 .. 더보기
[ETL] ETL 시스템 이관 작업 진행 절차 혹시나, 이 문서를 보시는 분들을 위해 남김니다. 본 문서는 작성자의 주관적인 입장에서 개인적인 정리 작업을 위해서 작성한 문서입니다. 필요시, 참고만 하시길. 또, 개발 이후의 글은 작성되지 않았습니다. 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 시스템 정리 시 고려 사.. 더보기
[ETL 개발]테이블 데이터 용량 산정 이 방법을 통하여 정확한 용량 산정을 할 수 없습니다. 필요시 참고만 하세요. 2년동안 발생한 데이터를 한번에 적재하는데 오류가 발생했다. ORA-01688 : 테이블 스페이스 확장 오류 데이터 담을 그릇 용량이 작다는 거다. 늘려달라 요청을 하니 용량 산정을 해달란다. 어찌하나 용량산정을... 생각을 하다. SUM(테이블 컬럼당 사이즈) = ROW MAX 데이터 사용 용량ROW MAX 데이터 사용 용량 * 특정 기간 발생 건수 * a(예비 공간 = 예상 데이터 사용 용량 아래는 그런식으로 뽑은 나의 SQL QUERY다. WITH A AS (SELECT TABLE_NAME, SUM(DATA_LENGTH) BYTES, DECODE(TABLE_NAME,테이블 당 건수) MTH_CNT, SUM(DATA_LEN.. 더보기
[ETL] 개발시 정의되어야 하는, 또는, 알고있어야 하는 부분 * 나만의 생각임을 명심하도록!! 1. 요구 사항 이건 당연한거다. 고객이 원하는 것을 알아야 나도 만들수 있다. 데이터를 만드는 것을 목적으로 SQL 만 만들면 된다는 생각은 작업을 두 세번하게되는 안좋은 습관이다. 모든 개발자들이 고객이 원하는 사항을 숙지하여 개발을 한다면, 의심스러운 부분이 발생했을 경우, 빠른 해결 방안 도출이 가능하다. 2. 업무의 흐름 같은 데이터를 대충 뽑아오면 된다는 생각으로 작업을 진행한다면, 물론 실수도 있겠지만, 더욱 중요한 것은 항상 그것 밖에 못한다는 것이다. SQL를 잘만들면 뭐하나 남이 시키는것밖에 못하면.. 그렇기 때문에 항상 업무 자체를 이해하려고 하고, 흐름을 파악해 보는것이 중요하다. 업무 관련 회의 시에는 반드시 참여하고 기록하여 현재의 내가 닥친 일.. 더보기