Foundry에서 데이터를 스트림으로 처리할지 배치 데이터셋으로 처리할지 결정할 때 특정 유즈케이스의 요구 사항을 이해하는 것이 중요합니다. 스트리밍 및 배치 파이프라인의 기능, 성능 및 기술적 기대를 고려하여 유즈케이스에 가장 적합한 도구를 선택하십시오.
일반적으로 스트리밍은 종단 간 대기 시간이 짧은 워크플로에 사용됩니다. 10분 이상의 대기 시간을 허용할 수 있는 유즈케이스의 경우 점진적 또는 표준 배치 데이터셋이 적합한 해결책이 될 수도 있습니다.
스트리밍 및 배치 파이프라인은 많은 공통 기능을 공유합니다. 고려해야 할 주요 차이점은 대기 시간, 컴퓨팅 비용 및 지원되는 변환 언어입니다. 아래 표는 스트리밍 및 배치 파이프라인에 사용 가능한 기능을 보여줍니다.
기능 | 스트리밍 | 배치 |
---|---|---|
모든 Foundry 제품에 대한 높은 대기 시간 데이터 사용 | 예 | 예 |
트랜잭션 처리 | 예 | 예 |
원자성 | 예 | 예 |
분기 | 예 | 예 |
보안 표시 및 분류 | 예 | 예 |
출처 추적 | 예 | 예 |
온톨로지 지원 | 예 | 예 |
시계열 지원 | 예 | 예 |
Java 지원 변환 | 예 | 예 |
Pipeline Builder 지원 | 예 | 예 |
Python 지원 변환 | 아니오 | 예 |
낮은 대기 시간 데이터 액세스 | 예 | 아니오 |
일부 Foundry 프론트엔드 도구는 스트리밍 데이터셋을 "실시간"으로 사용할 수 있으며, 그래프를 실시간으로 업데이트하는 것과 같습니다. 스트림을 기본적으로 사용할 수 있는 도구로는 온톨로지, Pipeline Builder, Quiver, 데이터셋 미리보기 및 Foundry Rules가 있습니다. Foundry의 다른 앱들, 예를 들어 Contour,은 스트림의 보관 데이터셋을 사용할 수 있습니다. 이것은 스트림의 가장 최근 데이터로 몇 분마다 업데이트되는 표준 배치 데이터셋입니다. 실제로 원하는 앱에서 스트리밍 데이터셋을 선택하면 Foundry는 자동으로 사용할 모드를 알 수 있습니다.
기능 고려 사항과 함께 스트리밍 및 배치 파이프라인 간의 다른 성능 기대를 고려하십시오. 이러한 요소에는 대기 시간과 처리량이 포함됩니다. 추가 세부 정보를 위해 스트리밍 대기 시간 및 처리량 고려 사항을 검토하십시오.
스트리밍 및 배치 처리를 정의하는 기능 및 성능 요소 외에도 상태 관리, 다운타임 영향 및 소비 계층 대기 시간을 포함한 기술적 요소를 고려하십시오.
크기가 제한되고 미리 알려진 입력값을 가진 배치 변환과 달리 상태 유지 스트리밍 애플리케이션은 시간이 지남에 따라 성장할 수 있는 무제한 상태를 가질 수 있으며, 앞으로 알 수 없는 시점에 메모리 부족 오류가 발생할 수 있습니다. 예를 들어, 키 공간이 무제한인 경우 하나 이상의 키에 대한 집계를 수행하는 것은 일반적으로 위험한 작업입니다. 배치 컴퓨팅과 달리 충분한 리소스를 예상하고 확보하는 것이 일반적으로 어렵습니다. 이러한 이유로 스트리밍 변환을 설계할 때 상태 성장이 무제한이 아닌지 확인해야 합니다.
낮은 대기 시간은 일반적으로 스트리밍 파이프라인의 중요한 요구 사항이지만 낮은 대기 시간을 달성하는 것은 항상 명확한 과정이 아닙니다. 스트리밍 파이프라인은 일반적으로 여러 단계를 거칩니다. 대기 시간은 모든 계층에서 가장 높은 대기 시간에 의해 제한됩니다. 따라서 낮은 대기 시간을 달성하려면 소스 시스템에서 스트리밍 애플리케이션 및 하위 소비자에 이르기까지 여러 애플리케이션과 소비 계층을 세밀하게 조정해야 할 수 있습니다.
배치 파이프라인은 일반적으로 엄격한 낮은 대기 시간 요구 사항을 가진 운영 워크플로에 사용되지 않으므로 스트리밍 파이프라인과 비교하여 다운타임에 대한 인내력이 높습니다. 배치 파이프라인은 일반적으로 고정된 일정에 따라 실행됩니다. 개별 실행 실패는 일반적으로 주요 문제가 아니며 빌드를 다시 시도할 수 있습니다. 반면에 스트리밍 파이프라인은 정의되지 않은 끝점이 있는 지속적으로 실행되는 프로세스이며, 실패가 종종 더 큰 영향을 미칩니다. 실시간 데이터를 보유하는 데이터 저장소의 10분 정도의 중단은 일일 업데이트가 있는 데이터 저장소의 10분 정도의 중단보다 훨씬 큰 영향을 미칩니다.
배치 파이프라인은 일반적으로 데이터를 읽거나 쓰는 것보다 변환에 의해 지연되므로 거의 모든 소비 계층을 사용할 수 있습니다. 스트리밍 파이프라인의 경우 낮은 대기 시간을 유지하기 위해 빠른, 자주 발생하는 쓰기를 기본적으로 지원하는 소비 계층이 필요합니다. 이는 종단 간 대기 시간이 낮은 데이터 처리를 할 수 있는 모든 애플리케이션에서 종단 간 대기 시간이 낮아야 함을 의미합니다. 대부분의 Foundry 제품이 이를 기본적으로 지원하며, Pipeline Builder, 시계열, Foundry Rules 및 온톨로지가 포함됩니다. 외부 시스템에 대한 낮은 대기 시간 쓰기를 지원하는 데이터 커넥터도 존재합니다.
고처리량, 낮은 대기 시간 계산으로 인해 스트리밍 파이프라인의 평균 비용이 배치 파이프라인의 평균 비용보다 종종 높습니다. 그러나 데이터 처리의 낮은 대기 시간이 필요한 스트리밍 모양의 파이프라인의 경우 스트리밍이 지속적으로 실행되는 배치 파이프라인과 비교하여 가장 비용 효율적인 솔루션이 될 수 있습니다.
스트리밍 비용이 어떻게 계산되는지에 대한 자세한 정보는 Foundry 스트리밍을 사용한 컴퓨팅 사용량을 참조하십시오.