EN - FR - DE - ES - IT - PT -

LexiconDream

🌊 스트림 처리

실시간으로 데이터가 도착하는 즉시 지속적으로 처리합니다.

스트림 처리

스트림 처리는 데이터가 도착하는 즉시 지속적으로 처리합니다. 데이터를 일괄 처리 방식으로 수집하여 일정 간격으로 처리하는 대신, 스트림 프로세서는 시스템을 통과하는 각 이벤트를 실시간으로 분석합니다. 신용카드 거래는 밀리초 단위로 사기 여부를 판단합니다. 센서 판독값이 임계값을 초과하면 경고가 발생합니다. 클릭 스트림은 추천 모델을 실시간으로 업데이트합니다. 처리는 정지 상태가 아닌, 움직이는 상태에서 이루어집니다.

스트림 처리 아키텍처는 배치 처리와 다릅니다. 데이터는 Kafka나 Kinesis 같은 메시지 큐를 통해 전달됩니다. Flink, Spark Streaming, Kafka Streams 같은 스트림 프로세서가 이벤트를 소비하고, 변환을 적용한 후 결과를 출력합니다. 시스템은 지연 도착 이벤트, 순서가 뒤바뀐 데이터, 그리고 정확히 한 번만 처리되는 의미 체계를 처리해야 합니다. 이러한 요소들은 처리하기 어려운 문제입니다. 지연 도착 이벤트는 시간 창이 완료되는 시점을 판단하기 위해 워터마크를 사용해야 합니다. 순서가 뒤바뀐 이벤트는 버퍼링과 재정렬이 필요합니다. 정확히 한 번만 처리하려면 소스, 프로세서, 싱크 간의 긴밀한 조정이 필수적입니다. 이러한 요소들을 제대로 구현하는 것은 매우 복잡하며, 잘못 구현할 경우 결과가 일관성이 없거나 중복될 수 있습니다. 스트림 처리는 즉각적인 인사이트가 필요한 사용 사례에 적합하지만, 야간 보고서 작성에는 과도할 수 있습니다. 배치 처리와 스트림 처리 중 어떤 것을 선택할지는 지연 시간 요구 사항에 따라 달라집니다. 몇 분 또는 몇 시간의 지연 시간이 허용된다면 배치 처리가 더 간단하고 비용도 저렴합니다. 하지만 몇 초의 지연 시간이 중요하다면 스트림 처리가 유일한 선택입니다.

스트림 처리 특성

스트림 처리는 배치 처리를 완전히 뒤집은 것입니다. 데이터가 축적되기를 기다리는 대신, 각 이벤트가 발생하는 즉시 처리합니다.


Warning: session_start(): Cannot start session when headers already sent in /var/www/lexicondream.com/inc/functions.php on line 63

Comments

No comments yet. Be the first to share a thought.

Leave a comment