수집 일괄 처리 정책

개요

대기 중인 수집 프로세스 중에 서비스는 수집하기 전에 작은 수신 데이터 청크를 함께 일괄 처리하여 처리량을 최적화합니다. 일괄 처리는 큐에 대기 중인 수집 프로세스에서 사용하는 리소스를 줄이고, 일괄 처리되지 않은 수집으로 생성된 작은 데이터 분할을 최적화하기 위해 수집 후 리소스가 필요하지 않습니다.

수집 전에 일괄 처리를 수행하는 단점은 강제 지연입니다. 따라서 데이터 수집을 요청하는 종단 간 시간은 쿼리에 사용할 수 있는 데이터가 더 커질 때까지입니다.

정책을 정의 IngestionBatching 할 때 처리량 최적화와 시간 지연 간의 균형을 찾아야 합니다. 이 정책은 대기 중인 수집에 적용됩니다. 작은 Blob을 함께 일괄 처리할 때 허용되는 최대 강제 지연을 정의합니다. 일괄 처리 정책 명령 사용 및 처리량 최적화에 대한 자세한 내용은 다음을 참조하세요.

일괄 처리 봉인

대량 수집을 위해 압축되지 않은 데이터의 최적 크기는 약 1GB입니다. 데이터가 훨씬 적은 Blob 수집은 최적이 없으므로 대기 중인 수집에서 서비스는 작은 Blob을 함께 일괄 처리합니다.

다음 목록에서는 일괄 처리를 봉인하는 기본 일괄 처리 정책 트리거를 보여 줍니다. 첫 번째 조건이 충족되면 일괄 처리가 봉인되고 수집됩니다.

  • Size: 일괄 처리 크기 제한에 도달하거나 초과했습니다.
  • Count: 일괄 처리 파일 번호 제한에 도달했습니다.
  • Time: 일괄 처리 시간이 만료되었습니다.

정책은 IngestionBatching 데이터베이스 또는 테이블에 설정할 수 있습니다. 기본값은 5분 최대 지연 시간, 1000 개 항목, 총 크기 1GB입니다.

중요

이 정책을 매우 작은 값으로 설정하는 것은 클러스터의 COGS(판매된 상품 비용)의 증가와 성능 저하입니다. 또한 일괄 처리 정책 값을 줄이면 여러 수집 프로세스를 병렬로 관리하는 오버헤드로 인해 실제로 효과적인 엔드투엔드 수집 대기 시간이 증가할 수 있습니다.

다음 목록에는 단일 Blob 수집과 관련된 일괄 처리를 봉인하는 조건이 나와 있습니다. 조건이 충족되면 일괄 처리가 봉인되고 수집됩니다.

  • SingleBlob_FlushImmediately: 'FlushImmediately' 가 설정되었기 때문에 단일 Blob 수집
  • SingleBlob_IngestIfNotExists: 'IngestIfNotExists' 가 설정되었기 때문에 단일 Blob 수집
  • SingleBlob_IngestByTag: '수집 기준 '이 설정되었기 때문에 단일 Blob 수집
  • SingleBlob_SizeUnknown: Blob 크기를 알 수 없으므로 단일 Blob 수집

SystemFlush 조건이 설정되면 시스템 플러시 트리거 시 일괄 처리가 봉인됩니다. 매개 변수 집합을 SystemFlush 사용하면 클러스터 크기 조정 또는 시스템 구성 요소의 내부 재설정 등으로 인해 시스템이 데이터를 플러시합니다.

기본값 및 제한

형식 속성 기본값 짧은 대기 시간 설정 최소값 최대값
항목 수 MaximumNumberOfItems 500 500 1 25,000
데이터 크기(MB) MaximumRawDataSizeMB 1024 1024 100 4096
시간(초) MaximumBatchingTimeSpan 300 20 - 30 10 1800

수집 일괄 처리 정책을 사용하여 엔드 투 엔드 대기 시간을 제어하는 가장 효과적인 방법은 더 높은 대기 시간 요구 사항에 따라 테이블 또는 데이터베이스 수준에서 시간 경계를 변경하는 것입니다. 데이터베이스 수준 정책은 테이블 수준 정책이 정의되지 않은 해당 데이터베이스의 모든 테이블과 새로 만든 테이블에 영향을 줍니다.

중요

수신이 낮은 테이블에서 수집 일괄 처리 정책의 시간 경계를 너무 낮게 설정하면 클러스터가 새로 만든 데이터 분할된 데이터베이스를 최적화하려고 할 때 추가 컴퓨팅 및 스토리지 작업이 발생할 수 있습니다. 데이터 분할된 데이터베이스에 대한 자세한 내용은 익스텐트 를 참조하세요.

일괄 처리 데이터 크기

일괄 처리 정책 데이터 크기는 압축되지 않은 데이터에 대해 설정됩니다. Parquet, AVRO 및 ORC 파일의 경우 추정은 파일 크기에 따라 계산됩니다. 압축된 데이터의 경우 압축되지 않은 데이터 크기는 다음과 같이 정확도의 내림차순으로 평가됩니다.

  1. 압축되지 않은 크기가 수집 원본 옵션에 제공된 경우 해당 값이 사용됩니다.
  2. SDK를 사용하여 로컬 파일을 수집할 때 zip 보관 파일 및 gzip 스트림을 검사하여 원시 크기를 평가합니다.
  3. 이전 옵션이 데이터 크기를 제공하지 않는 경우 압축되지 않은 데이터 크기를 예측하기 위해 압축된 데이터 크기에 요인이 적용됩니다.

일괄 처리 대기 시간

대기 시간은 일괄 처리 정책 설정을 사용하여 해결할 수 있는 여러 원인으로 인해 발생할 수 있습니다.

원인 해결 방법
데이터 대기 시간은 설정과 time 일치하며, 데이터가 너무 적어 또는 count 제한에 size 도달할 수 없습니다. 제한 줄이기 time
매우 작은 파일 수가 많기 때문에 비효율적인 일괄 처리 원본 파일의 크기를 늘입니다. Kafka Sink를 사용하는 경우 ~ 100KB 청크 이상으로 데이터를 보내도록 구성합니다. 작은 파일이 많은 경우 데이터베이스 또는 테이블 수집 정책에서 (최대 2000개)를 늘 count 입니다.
많은 양의 압축되지 않은 데이터 일괄 처리 이는 Parquet 파일을 수집할 때 일반적입니다. 250MB로 테이블 또는 데이터베이스 일괄 처리 정책에 대한 증분 감소 size 및 개선을 위한 검사.
클러스터의 크기가 조정되어 백로그 Azure Advisor 제안을 수락하여 클러스터를 확장하거나 확장합니다. 또는 수동으로 클러스터 크기를 조정하여 백로그가 닫혔는지 확인합니다. 이러한 옵션이 작동하지 않는 경우 지원에 문의하세요.