✅ Azure Stream Analytics ✅ Fabric Eventstream
일반적인 시나리오에서는 이벤트 처리 엔진을 사용하여 대기 시간이 매우 짧은 스트리밍 데이터를 컴퓨팅합니다. 대부분의 경우 사용자는 지속형 기록 데이터 또는 느린 변경 데이터 세트(즉, 참조 데이터)를 실시간 이벤트 스트림과 상호 연결하여 시스템에 대해 보다 현명한 결정을 내려야 합니다. 예를 들어 IP 주소를 위치에 매핑하는 정적 데이터 세트에 내 이벤트 스트림을 조인합니다. 임시 바인딩이 필요하지 않은 Stream Analytics에서 지원되는 유일한 JOIN입니다. 참조 데이터를 사용하여 디바이스별 임계값을 가질 수도 있습니다.
예시
상용차가 유료 회사에 등록된 경우 검사를 위해 멈추지 않고 유료 부스를 통과할 수 있습니다. 상업용 차량 등록 조회 테이블을 사용하여 등록이 만료된 모든 상용 차량을 식별합니다.
SELECT I1.EntryTime, I1.LicensePlate, I1.TollId, R.RegistrationId
FROM Input1 I1 TIMESTAMP BY EntryTime
JOIN Registration R
ON I1.LicensePlate = R.LicensePlate
WHERE R.Expired = '1'
참조 데이터 JOIN의 특수성
- 참조 데이터 JOIN을 사용하려면 참조 데이터에 대한 입력 원본이 정의되어야 합니다.
- 참조 데이터 JOIN은 내부 JOIN(기본값) 및 왼쪽 외부 JOIN에 지원되며 JOIN 연산자의 오른쪽에 참조 데이터가 있습니다.
- 데이터 형식은 조인 조건자(
ON
절)의 평가에서 중요한 측면입니다. 서로 다른 데이터 형식(1.0
및"1"
)의 유사한 값이 일치하지 않을 수 있습니다. 키를 일반 형식으로 명시적으로 변환하는 것이 좋습니다. - 참조 데이터는 정적(한 번만 로드) 또는 동적(정기적으로 새로 고침)할 수 있습니다. 그러나 동적 경우에도 참조 데이터가 시간 진행을 수행하지 않으므로 왼쪽의 스트림은 출력을 생성하기 위해 새 이벤트를 가져와야 합니다. 자세한 내용은 Azure Stream Analytics에서 시간이 어떻게 진행되는지 참조하세요 .
성능 고려 사항
성능 저하를 방지하려면 단순 키 등호()를 통해 참조 조인 조건자(ON
ON s.myKey = r.myKey
절)를 정의해야 합니다. 복잡한 식 또는 불평등을 사용하면 내부적으로 교차 조인과 필터(전체 검색 및 조회)가 발생하며 이는 전체 대기 시간에 심각하게 영향을 줄 수 있습니다.
가능하면 이러한 복잡한 식을 쿼리 단계의 절로 WHERE
이동하거나 동일한 참조 데이터를 각각 더 간단한 조건으로 여러 번 조인합니다.