데이터 웨어하우스 운영 환경에서 잡 컨트롤(Job Control)은 안정적인 데이터 적재와 관리를 위해 다양한 서비스를 제공합니다. 주요 서비스는 다음과 같습니다.
1. 작업 정의(Job Definition)
운영 프로세스를 구축하는 첫 번째 단계는 일련의 처리 단계를 하나의 작업(job)으로 정의하고, 작업 간의 선후 관계를 지정하는 것입니다. 이 단계에서 데이터 웨어하우스의 구조가 실제로 작성됩니다.
특정 테이블의 적재(load)에 문제가 발생하면, 해당 테이블을 기반으로 하는 다른 테이블들의 적재에도 영향을 미칠 수 있습니다. 예를 들어 고객(customer) 테이블이 제대로 갱신되지 않았다면, 고객 테이블에 등록되지 않은 신규 고객의 판매 팩트(sales facts)를 적재하는 것은 위험합니다.
2. 작업 스케줄링(Job Scheduling)
운영 환경은 시간 기반 및 이벤트 기반 스케줄링과 같은 표준 기능을 제공해야 합니다. 웨어하우스 적재 작업은 대부분 상위 시스템의 이벤트에 의존합니다. 예를 들어 총계정원장(general ledger) 마감의 성공적인 완료, 전일 매출 데이터에 대한 판매 조정 사항의 확실한 적용 등이 그 예입니다.
여기에는 데이터베이스 플래그 모니터링, 파일 존재 여부 검사, 파일 생성일자 비교 등의 기능도 포함됩니다.
3. 모니터링(Monitoring)
전문성을 갖춘 시스템 담당자라면 내부가 보이지 않는 블랙박스 방식의 스케줄링 시스템을 용납하지 않습니다. 적재 작업을 수행하는 담당자는 진행 상황에 대해 최대한 많은 정보를 파악할 수 있어야 합니다. 따라서 시스템은 현재 어떤 단계를 진행 중인지, 작업 시작 시각, 소요 시간 등의 정보를 제공해야 합니다.
직접 구축한 웨어하우스에서는 각 단계가 로그 레코드나 테이블에 기록하도록 하여 이를 구현할 수 있습니다. 반면 상용 시스템이라면 진행 상황을 보다 시각적으로 확인할 수 있는 수단을 지원해야 합니다. 또한 컴퓨팅 자원을 공유하는 경우, 보다 정교한 시스템은 데이터 스테이징 단계 동안 시스템에서 함께 실행된 다른 작업을 알려주고, 프로세스별 평균 소요 시간 비교 보고서 등을 제공하기도 합니다.
4. 로깅(Logging)
로깅은 현재 진행 중인 작업뿐만 아니라 전체 적재 프로세스에 대한 정보를 수집하는 것을 의미합니다. 로그 정보는 작업 실행 중 오류가 발생했을 때 프로세스의 복구와 재실행에 필수적으로 활용됩니다.
5. 알림(Notification)
알림 기능의 중요성은 사용자 수와 사용자들이 웨어하우스에 의존하는 정도에 밀접하게 연관됩니다. 사용자가 많지 않고, 필요할 때 웨어하우스를 언제든 이용할 수 있으리라고 기대하지 않는다면, 적재 실패 사실을 다음 날 아침에 확인하고 재시작해도 큰 문제가 없습니다.
6. 오류 처리(Error Handling)
적재 과정에서 복구 불가능한 오류는 반드시 발생하기 때문에 이에 대한 사전 계획이 필요합니다. 시스템은 이러한 상황을 예측하여 크래시(crash) 복구, 작업 중단, 재시작 기능을 제공해야 합니다. 우선 적절한 도구를 찾고, 추출(extract) 설계 단계에서 크래시 발생 시 영향을 최소화하도록 해야 합니다.
예를 들어 적재 프로세스는 한 번에 비교적 적은 단위의 레코드 집합을 커밋(commit)하고, 커밋된 내역을 추적해야 합니다. 집합의 크기는 조정 가능해야 하는데, 트랜잭션 크기가 DBMS마다 성능에 미치는 영향이 다르기 때문입니다.