작업 일정 방지 패턴 식별
- 일괄 데이터 레이크 수집
- 일괄 프로필 수집
- 배치 세분화
- 일괄 처리 대상 활성화
작업 일정 타임라인 보기를 통해 데이터 파이프라인 성능 및 안정성에 부정적인 영향을 줄 수 있는 일반적인 구성 문제를 식별할 수 있습니다. 이러한 방지 패턴은 종종 작업 실패, 데이터 불일치 또는 시스템 성능 저하로 이어집니다. 이러한 패턴을 조기에 발견하면 비즈니스 운영에 영향을 미치기 전에 문제를 방지하기 위해 작업을 재구성할 수 있습니다.
전제 조건 prerequisites
앤티 패턴을 식별하기 전에 다음을 수행해야 합니다.
- Job Schedules View Job Schedules액세스 제어 권한을(를) 사용하여 에 액세스할 수 있습니다.
- 작업 일정 인터페이스 및 타임라인 보기를 읽는 방법을 숙지하십시오.
- 기본 일괄 처리 수집, 세그먼테이션 및 프로필 처리 개념을 이해합니다.
빠른 참조 anti-pattern-quick-reference
일정 겹치기 schedule-overlap-pattern
영향 심각도: 높음 | 기본 문제: 리소스 경합
찾을 내용: 여러 작업이 동시에 실행되거나 연속적으로 실행되도록 예약되었습니다. 특히 리소스 집약적인 작업이 겹치는 경우 더 그렇습니다.
일반적인 예로는 예약된 세분화 작업과 동시에 실행되는 일괄 처리 수집 작업이 있습니다. 두 작업 모두 상당한 처리 능력과 메모리를 요구하므로 자원 경합이 발생합니다.
문제가 있는 이유:
- 리소스 경합: 리소스 사용량이 많은 여러 작업을 동시에 실행하면 시스템 리소스(CPU, 메모리, I/O)에 대해 경합하므로 모든 작업이 느리게 실행됩니다.
- 예측할 수 없는 성능: 작업 기간이 일관되지 않게 되어 신뢰할 수 있는 일정을 계획하기 어렵습니다.
- 연속 지연: 작업이 예상보다 오래 걸리는 경우 다운스트림 종속 작업을 지연시켜 파이프라인 전체에 파급 효과를 낼 수 있습니다.
- 실패 위험 증가: 리소스 소진으로 인해 작업이 시간 초과되거나 완전히 실패할 수 있습니다.
해결 방법:
- 시차를 두는 작업 일정: 리소스 집약적인 작업이 동시에 실행되지 않고 순차적으로 실행되는지 확인하십시오.
- 버퍼 시간 추가: 처리 변형을 고려하여 작업 사이에 적절한 간격을 둡니다.
- 종속성 검토: 다른 작업이 안전하게 시작되기 전에 완료해야 하는 작업을 식별합니다.
예약된 작업 밀도 scheduled-density
심각도에 영향: 높음 | 기본 문제: 파이프라인 병목
찾을 내용: 같은 시간 내에 여러 개의 일괄 처리가 예약된 데이터 세트가 너무 많습니다. 특히 이러한 일괄 처리가 함께 스택되고 세그먼테이션 시작 시간과 같은 중요한 처리 창 근처에서 예약된 경우.
이 패턴은 일반적으로 다음을 포함합니다.
- 하루에 여러 개의 일괄 처리를 실행하는 여러 데이터 세트
- 동일한 시간 내에 클러스터된 ETL 작업(데이터 레이크 섭취 및 프로필 섭취)
- 예약된 세그먼테이션 기간 직전 또는 기간 동안 예약된 일괄 처리 수집
문제가 있는 이유:
- 파이프라인 병목 현상: 다른 데이터 세트의 많은 배치가 짧은 시간 내에 스택되면 수집 파이프라인을 압도할 수 있는 처리 병목 현상이 발생합니다.
- 지연된 프로필 가용성: 세분화 시작 시간에 너무 가깝게 실행되는 프로필 수집 작업이 제 시간에 완료되지 않아 대상 평가가 완료되지 않았거나 부실할 수 있습니다.
- 예측할 수 없는 세분화: 세분화가 시작될 때 업스트림 수집 작업이 계속 실행되고 있는 경우 불완전한 데이터에 대해 대상을 평가하면 잘못된 대상 멤버십이 발생할 수 있습니다.
- 연속 오류: 조밀하게 누적된 일정에서 하나의 지연된 일괄 처리가 도미노 효과를 일으켜 모든 후속 일괄 처리와 다운스트림 프로세스를 지연시킬 수 있습니다.
- 리소스 부족: 너무 많은 동시 수집 작업을 처리할 때 시스템에서 충분한 리소스를 할당하지 못해 처리 시간이 느려지거나 오류가 발생할 수 있습니다.
해결 방법:
- 일괄 처리 통합: 여러 작은 일괄 처리를 데이터 집합당 더 적은 수의 더 큰 일괄 처리로 결합하여 일괄 처리 빈도를 줄이십시오.
- 균등하게 분배: 수집 작업을 특정 시간에 클러스터링하지 않고 하루 전체에 분산합니다.
- 버퍼 시간 추가: 프로필 수집 완료와 세그먼테이션 시작 사이에 최소 1-2시간 버퍼가 있는지 확인하십시오.
- 요구 사항 검토: 모든 데이터 세트에 여러 개의 일별 일괄 처리가 필요한지 여부를 평가합니다. 많은 사용 사례에서 업데이트가 자주 수행되지 않습니다.
데이터 세트당 과도한 배치 excessive-batches-per-dataset
영향 심각도: Medium | 기본 문제: 비효율적인 처리
찾을 내용: 하루 동안 너무 많은 개별 일괄 처리 작업이 예약된 단일 데이터 집합으로 타임라인에서 긴 수직 작업 스택이 생성됩니다.
이 패턴에는 빈번한 간격으로, 때로는 하루에 수십 개의 배치로 예약된 많은 개별 배치 수집 작업이 있는 단일 데이터 세트가 포함됩니다.
문제가 있는 이유:
- 비효율적인 처리: 각 일괄 처리 작업에는 오버헤드 비용(초기화, 유효성 검사, 메타데이터 업데이트)이 있습니다. 작은 일괄 처리를 많이 처리하는 것이 큰 일괄 처리를 적게 처리하는 것보다 효율성이 훨씬 낮습니다.
- 실패 표면 증가: 작업이 많으면 더 많은 실패 기회가 있습니다. 실패한 각 배치에는 조사 및 잠재적인 재처리가 필요합니다.
- 불필요한 시스템 로드: 작은 일괄 처리를 자주 수행하면 실제 데이터 처리 대신 오버헤드 작업으로 시스템이 계속 사용되므로 전체 처리량이 줄어듭니다.
- 지연된 데이터 가용성: 역설적으로, 적은 수의 일괄 처리를 실행하면 통합된 일괄 처리와 비교하여 다운스트림 프로세스에 데이터를 사용할 수 있게 되면 지연될 수 있습니다.
- 어려운 검사: 데이터 집합당 수십 개의 개별 일괄 처리 작업의 성공 및 성능을 추적하는 것은 운영적으로 복잡하고 시간이 많이 걸립니다.
- 프로필 처리 지연: 각 프로필 수집 배치는 프로필 처리를 트리거합니다. 빈번한 소규모 배치는 프로필 처리가 거의 지속적으로 실행되어 효율적인 배치 최적화를 방해할 수 있습니다.
해결 방법:
- 일괄 처리 빈도 줄이기: 대부분의 사용 사례에 대해 데이터 세트당 하루에 더 적은 일괄 처리로 통합합니다.
- 일괄 처리 크기 늘리기: 즉시 수집하지 않고 수집을 트리거하기 전에 더 많은 데이터를 축적합니다.
- 비즈니스 요구 사항에 맞게 조정: 시간별 업데이트가 실제로 필요한지 또는 일별/일별 두 번 업데이트로 충분한지 확인합니다.
- 실시간 스트리밍 사용: 자주 일괄 처리하는 대신 실제 실시간 요구 사항에 대한 스트리밍 수집으로 전환합니다.
다음 단계 next-steps
작업 일정에서 안티패턴을 식별한 후:
- 작업 세부 정보를 보고 문제를 일으킬 수 있는 특정 데이터 세트 및 작업 실행을 조사하십시오.
- 인터페이스 및 검사 기능을 이해하려면 작업 일정 개요를 검토하십시오.
- 데이터 로드 일정을 최적화하기 위해 일괄 처리 수집에 대해 알아봅니다.
- 대상 평가의 적절한 타이밍을 보장하기 위해 세그먼테이션 일정을 이해합니다.
- 전체 파이프라인 가시성을 위해 대상 데이터 흐름 모니터링을 살펴보십시오.