이 페이지에서는 구조적 스트리밍의 실시간 모드에 대한 개념에 대해 설명합니다. 여기에는 그것이 무엇인지, 짧은 대기 시간을 달성하는 방법 및 사용 시기가 포함됩니다.
실시간 모드란?
실시간 모드는 종단 간 대기 시간이 5밀리초 이하인 초저 대기 시간 데이터 처리를 가능하게 하는 구조적 스트리밍의 트리거 유형입니다. 사기 감지, 실시간 개인 설정 및 즉각적인 의사 결정 시스템과 같은 스트리밍 데이터에 대한 즉각적인 대응이 필요한 운영 워크로드에 실시간 모드를 사용합니다.
실시간 모드에서 짧은 대기 시간을 달성하는 방법
실시간 모드는 실행 아키텍처를 다음을 통해 향상시킵니다.
- 시스템에서 원본에서 사용할 수 있게 될 때 데이터를 처리하는 장기 실행 일괄 처리(기본값: 5분)를 실행합니다.
- 쿼리의 모든 단계를 동시에 예약합니다. 이렇게 하려면 사용 가능한 작업 슬롯 수가 일괄 처리에 있는 모든 단계의 태스크 수와 같거나 커야 합니다.
- 스트리밍 셔플을 사용하여 생성 즉시 단계 간에 데이터를 전송합니다.
일괄 처리가 끝나고 다음 일괄 처리가 시작되기 전에 구조적 스트리밍 검사점이 진행되고 메트릭이 게시됩니다. 일괄 처리 기간은 검사점 빈도에 영향을 줍니다.
- 더 긴 일괄 처리의 경우, 검사점이 자주 발생하지 않기 때문에 장애 발생 시 재생 시간이 길어지고 메트릭 가용성이 지연됩니다.
- 더 짧은 일괄 처리의 경우 검사점이 더 자주 발생하므로 대기 시간에 영향을 줄 수 있습니다.
Azure Databricks 적절한 트리거 간격을 찾기 위해 대상 워크로드에 대해 실시간 모드를 벤치마킹하는 것이 좋습니다.
실시간 모드를 사용하는 경우
사용 사례에 다음이 필요한 경우 실시간 모드를 선택합니다.
- 하위 초 대기 시간: 밀리초 내에 데이터에 응답해야 하는 애플리케이션입니다. 예를 들어 사기 점수가 비정상적인 위치, 대규모 트랜잭션 크기 또는 빠른 지출 패턴에 따라 임계값을 초과하는 경우 실시간으로 신용 카드 거래를 차단하거나 플래그를 지정합니다.
- 운영 의사 결정: 들어오는 데이터에 따라 즉각적인 작업을 트리거하는 시스템입니다. 예를 들어 클릭스트림 데이터에 사용자가 제품을 검색하고 있음을 표시할 때 홍보 메시지를 전달하여 다음 15분 이내에 구매하는 경우 할인을 제공합니다.
- 연속 처리: 데이터가 도착하는 즉시 주기적인 일괄 처리가 아닌 처리해야 하는 워크로드입니다.
사용 사례에 다음이 필요한 경우 마이크로 일괄 처리 모드(기본 구조적 스트리밍 트리거)를 사용합니다.
- 분석 처리: 대기 시간 요구 사항이 초 또는 분 단위로 측정되는 ETL 파이프라인, 데이터 변환 및 medallion 아키텍처 구현입니다.
- 비용 최적화: 실시간 모드에는 전용 컴퓨팅 리소스가 필요하므로 초 미만의 대기 시간이 필요하지 않은 워크로드입니다.
- 검사점 빈도가 중요합니다. 빠른 복구를 위해 더 빈번한 검사점의 이점을 활용하는 애플리케이션입니다.
기능 지원 및 제한 사항
지원되는 환경, 언어, 컴퓨팅 형식, 원본, 싱크, 연산자 및 알려진 제한 사항의 전체 목록은 실시간 모드 참조를 참조하세요.