작업 일정 방지 패턴 식별

IMPORTANT
Job schedules은(는) 현재 다음 Real-Time CDP 작업에만 사용할 수 있습니다.
  • 일괄 데이터 레이크 수집
  • 일괄 프로필 수집
  • 배치 세분화
  • 일괄 처리 대상 활성화

작업 일정 타임라인 보기를 통해 데이터 파이프라인 성능 및 안정성에 부정적인 영향을 줄 수 있는 일반적인 구성 문제를 식별할 수 있습니다. 이러한 방지 패턴은 종종 작업 실패, 데이터 불일치 또는 시스템 성능 저하로 이어집니다. 이러한 패턴을 조기에 발견하면 비즈니스 운영에 영향을 미치기 전에 문제를 방지하기 위해 작업을 재구성할 수 있습니다.

전제 조건 prerequisites

앤티 패턴을 식별하기 전에 다음을 수행해야 합니다.

빠른 참조 anti-pattern-quick-reference

앤티 패턴
타임라인에서 보게 되는 사항
주요 영향
심각도
일정 겹치기
동시에 실행되는 여러 작업
리소스 경합 및 작업 실패
높음
예약된 작업 밀도
동일한 시간에 클러스터된 배치가 있는 많은 데이터 세트
파이프라인 병목 현상 및 불완전한 세그멘테이션
높음
데이터 세트당 과도한 일괄 처리
수십 개의 일별 배치가 있는 단일 데이터 세트
비효율적인 처리 및 운영 복잡성
보통

일정 겹치기 schedule-overlap-pattern

영향 심각도: 높음 | 기본 문제: 리소스 경합

찾을 내용: 여러 작업이 동시에 실행되거나 연속적으로 실행되도록 예약되었습니다. 특히 리소스 집약적인 작업이 겹치는 경우 더 그렇습니다.

일반적인 예로는 예약된 세분화 작업과 동시에 실행되는 일괄 처리 수집 작업이 있습니다. 두 작업 모두 상당한 처리 능력과 메모리를 요구하므로 자원 경합이 발생합니다.

문제가 있는 이유:

  • 리소스 경합: 리소스 사용량이 많은 여러 작업을 동시에 실행하면 시스템 리소스(CPU, 메모리, I/O)에 대해 경합하므로 모든 작업이 느리게 실행됩니다.
  • 예측할 수 없는 성능: 작업 기간이 일관되지 않게 되어 신뢰할 수 있는 일정을 계획하기 어렵습니다.
  • 연속 지연: 작업이 예상보다 오래 걸리는 경우 다운스트림 종속 작업을 지연시켜 파이프라인 전체에 파급 효과를 낼 수 있습니다.
  • 실패 위험 증가: 리소스 소진으로 인해 작업이 시간 초과되거나 완전히 실패할 수 있습니다.

해결 방법:

  • 시차를 두는 작업 일정: 리소스 집약적인 작업이 동시에 실행되지 않고 순차적으로 실행되는지 확인하십시오.
  • 버퍼 시간 추가: 처리 변형을 고려하여 작업 사이에 적절한 간격을 둡니다.
  • 종속성 검토: 다른 작업이 안전하게 시작되기 전에 완료해야 하는 작업을 식별합니다.

예약된 작업 밀도 scheduled-density

심각도에 영향: 높음 | 기본 문제: 파이프라인 병목

찾을 내용: 같은 시간 내에 여러 개의 일괄 처리가 예약된 데이터 세트가 너무 많습니다. 특히 이러한 일괄 처리가 함께 스택되고 세그먼테이션 시작 시간과 같은 중요한 처리 창 근처에서 예약된 경우.

이 패턴은 일반적으로 다음을 포함합니다.

  • 하루에 여러 개의 일괄 처리를 실행하는 여러 데이터 세트
  • 동일한 시간 내에 클러스터된 ETL 작업(데이터 레이크 섭취 및 프로필 섭취)
  • 예약된 세그먼테이션 기간 직전 또는 기간 동안 예약된 일괄 처리 수집

문제가 있는 이유:

  • 파이프라인 병목 현상: 다른 데이터 세트의 많은 배치가 짧은 시간 내에 스택되면 수집 파이프라인을 압도할 수 있는 처리 병목 현상이 발생합니다.
  • 지연된 프로필 가용성: 세분화 시작 시간에 너무 가깝게 실행되는 프로필 수집 작업이 제 시간에 완료되지 않아 대상 평가가 완료되지 않았거나 부실할 수 있습니다.
  • 예측할 수 없는 세분화: 세분화가 시작될 때 업스트림 수집 작업이 계속 실행되고 있는 경우 불완전한 데이터에 대해 대상을 평가하면 잘못된 대상 멤버십이 발생할 수 있습니다.
  • 연속 오류: 조밀하게 누적된 일정에서 하나의 지연된 일괄 처리가 도미노 효과를 일으켜 모든 후속 일괄 처리와 다운스트림 프로세스를 지연시킬 수 있습니다.
  • 리소스 부족: 너무 많은 동시 수집 작업을 처리할 때 시스템에서 충분한 리소스를 할당하지 못해 처리 시간이 느려지거나 오류가 발생할 수 있습니다.

해결 방법:

  • 일괄 처리 통합: 여러 작은 일괄 처리를 데이터 집합당 더 적은 수의 더 큰 일괄 처리로 결합하여 일괄 처리 빈도를 줄이십시오.
  • 균등하게 분배: 수집 작업을 특정 시간에 클러스터링하지 않고 하루 전체에 분산합니다.
  • 버퍼 시간 추가: 프로필 수집 완료와 세그먼테이션 시작 사이에 최소 1-2시간 버퍼가 있는지 확인하십시오.
  • 요구 사항 검토: 모든 데이터 세트에 여러 개의 일별 일괄 처리가 필요한지 여부를 평가합니다. 많은 사용 사례에서 업데이트가 자주 수행되지 않습니다.

데이터 세트당 과도한 배치 excessive-batches-per-dataset

영향 심각도: Medium | 기본 문제: 비효율적인 처리

찾을 내용: 하루 동안 너무 많은 개별 일괄 처리 작업이 예약된 단일 데이터 집합으로 타임라인에서 긴 수직 작업 스택이 생성됩니다.

이 패턴에는 빈번한 간격으로, 때로는 하루에 수십 개의 배치로 예약된 많은 개별 배치 수집 작업이 있는 단일 데이터 세트가 포함됩니다.

문제가 있는 이유:

  • 비효율적인 처리: 각 일괄 처리 작업에는 오버헤드 비용(초기화, 유효성 검사, 메타데이터 업데이트)이 있습니다. 작은 일괄 처리를 많이 처리하는 것이 큰 일괄 처리를 적게 처리하는 것보다 효율성이 훨씬 낮습니다.
  • 실패 표면 증가: 작업이 많으면 더 많은 실패 기회가 있습니다. 실패한 각 배치에는 조사 및 잠재적인 재처리가 필요합니다.
  • 불필요한 시스템 로드: 작은 일괄 처리를 자주 수행하면 실제 데이터 처리 대신 오버헤드 작업으로 시스템이 계속 사용되므로 전체 처리량이 줄어듭니다.
  • 지연된 데이터 가용성: 역설적으로, 적은 수의 일괄 처리를 실행하면 통합된 일괄 처리와 비교하여 다운스트림 프로세스에 데이터를 사용할 수 있게 되면 지연될 수 있습니다.
  • 어려운 검사: 데이터 집합당 수십 개의 개별 일괄 처리 작업의 성공 및 성능을 추적하는 것은 운영적으로 복잡하고 시간이 많이 걸립니다.
  • 프로필 처리 지연: 각 프로필 수집 배치는 프로필 처리를 트리거합니다. 빈번한 소규모 배치는 프로필 처리가 거의 지속적으로 실행되어 효율적인 배치 최적화를 방해할 수 있습니다.

해결 방법:

  • 일괄 처리 빈도 줄이기: 대부분의 사용 사례에 대해 데이터 세트당 하루에 더 적은 일괄 처리로 통합합니다.
  • 일괄 처리 크기 늘리기: 즉시 수집하지 않고 수집을 트리거하기 전에 더 많은 데이터를 축적합니다.
  • 비즈니스 요구 사항에 맞게 조정: 시간별 업데이트가 실제로 필요한지 또는 일별/일별 두 번 업데이트로 충분한지 확인합니다.
  • 실시간 스트리밍 사용: 자주 일괄 처리하는 대신 실제 실시간 요구 사항에 대한 스트리밍 수집으로 전환합니다.

다음 단계 next-steps

작업 일정에서 안티패턴을 식별한 후:

recommendation-more-help
69b4e25f-facc-4764-bc68-e78f8e28a70c