주요 컨텐츠로 이동

실시간 모드: 두 번째 엔진 없이 Spark API에서 초저지연 스트리밍

Apache Flink의 오버헤드 없이 Apache Spark에서 밀리초 단위로 스트리밍 데이터를 처리하세요.

Real-Time Streaming on Spark RTM vs. Flink

발행일: 2026년 3월 2일

제품Less than a minute

Summary

  • 통합: Apache Spark의 실시간 모드(RTM)가 오프라인 교육과 초저지연 온라인 피처 엔지니어링을 단일 고성능 엔진으로 통합하는 방법을 알아보세요.
  • 성능: Apache Spark RTM과 Apache Flink를 비교하는 성능 분석을 통해 Spark에서 초저지연 시간을 가능하게 하는 재설계된 아키텍처를 알아보세요.
  • 단순성 & 도입: RTM은 단순화된 마이그레이션, "로직 드리프트"를 방지하는 통합 API, 실제 고객 사용 사례 등 많은 운영상의 이점을 제공합니다.

Apache Spark Structured Streaming은 스트리밍 ETL부터 분석 및 machine learning에 이르기까지 오랫동안 대규모의 미션 크리티컬 데이터 파이프라인을 지원해 왔습니다. 그러나 운영 사용 사례가 발전함에 따라 팀들은 사기 탐지, 개인화, 이상 감지, 실시간 알림 및 보고와 같은 애플리케이션을 위해 1초 미만의 지연 시간이라는 더 많은 것을 요구하기 시작했습니다.

이전에는 이러한 초저지연 시간 요구 사항을 충족하기 위해 Spark와 함께 특수 시스템을 도입해야 했습니다. Spark Structured Streaming에 실시간 모드가 도입되면서 더 이상 그러한 트레이드오프는 필요하지 않게 되었습니다. 이 블로그에서는 Spark가 피처 엔지니어링과 같은 일반적인 사용 사례에 대한 실시간 스트리밍 아키텍처를 어떻게 단순화하고, 오랜 운영 복잡성을 제거하며, 업계 최고의 성능을 제공하는지 살펴봅니다.

실시간 스트리밍을 위해 더 이상 여러 개의 이질적인 시스템을 실행할 필요가 없습니다.

데이터를 실시간으로 처리하고 이에 따라 조치하는 능력은 이제 핵심 요구 사항이 되었습니다. 최신 애플리케이션, 특히 AI 에이전트는 작동하기 위해 지속적인 최신 컨텍스트 스트림에 의존합니다. 기반 데이터가 불완전하거나 지연되면 사용자 경험이 저하됩니다. 실시간 성능은 사기 탐지와 같은 전통적인 사용 사례뿐만 아니라 사용자가 정확하고 최신 응답을 기대하는 모든 일반적인 상호 작용에도 필요합니다. 이러한 환경에서 지연 시간은 수익, 고객 신뢰, 경쟁 우위에 직접적인 영향을 미칩니다. 

실시간 스트리밍 애플리케이션을 구축하는 데이터 팀은 역사적으로 대규모 분석을 위한 Apache Spark™와 1초 미만의 지연 시간에 민감한 애플리케이션을 위한 Apache Flink® 또는 Kafka Streams와 같은 특수 시스템이라는 두 가지 개별 데이터 처리 스택을 관리해야 했습니다. 이러한 단편화로 인해 팀은 중복된 코드베이스를 유지하고, 별도의 거버넌스 모델을 관리하며, 엔진별 인프라를 조정하고 유지 관리하기 위해 전문 인력을 고용해야 합니다.

2025년 8월에 공개 미리 보기로 출시된 Apache Spark 구조적 스트리밍용 실시간 모드(RTM) 는 이러한 마찰을 제거하도록 설계되었습니다. Spark 실행 엔진을 근본적으로 발전시켜 두 번째 시스템의 필요성을 제거했습니다. 이러한 변화를 통해 엔지니어는 이미 알고 있는 동일한 Spark API를 사용하여 높은 throughput의 ETL부터 낮은 지연 시간의 실시간 앱까지 모든 범위의 사용 사례를 처리할 수 있습니다. 즉, 인프라 관리 시간은 줄이고 비즈니스 사용 사례에 더 많은 시간을 집중할 수 있습니다.

이제 Spark는 밀리초 단위로 이벤트를 처리할 수 있으며 Flink보다 최대 92% 더 빠릅니다. 

실시간 모드(RTM)는 Spark가 일관된 1초 미만의 지연 시간을 제공할 수 있도록 하는 새로운 최적화된 실행 엔진을 도입했습니다. 성능을 평가하기 위해 Spark RTM과 Apache Flink를 나란히 비교했습니다. 테스트는 프로덕션 환경에서 흔히 볼 수 있는 실시간 기능 계산 워크로드를 기반으로 했습니다. 이러한 기능 계산 패턴은 사기 탐지, 개인화, 운영 분석과 같은 대부분의 저지연 ETL 사용 사례를 대표합니다.

세 가지 일반적인 피처 패턴을 평가했습니다.

  • 피처 인코딩(상태 비저장 변환): 입력 행 자르기 및 인코딩
  • 피처 보강(조인 사용): 스트림을 정적 테이블에 조인
  • 특성 계산(집계를 통해): GroupBy + Count 집계 

이 결과는 Spark의 발전된 아키텍처가 전문 스트리밍 프레임워크에 필적하는 지연 시간 프로필을 제공한다는 것을 보여줍니다.

Apache Spark 실시간 모드 vs. Apache Flink

이러한 성능은 RTM의 세 가지 핵심 기술 혁신을 통해 가능해졌습니다.

  • 연속적인 데이터 흐름: 데이터가 분리된 주기적 청크 대신 도착하는 즉시 처리됩니다.
  • 파이프라인 스케줄링: 스테이지가 차단 없이 동시에 실행되므로 다운스트림 작업이 업스트림 스테이지가 끝날 때까지 기다리지 않고도 데이터를 즉시 처리할 수 있습니다.
  • 스트리밍 셔플: 데이터가 태스크 간에 즉시 전달되어 기존의 디스크 기반 셔플의 지연 시간 병목 현상을 우회합니다.

이러한 기능들을 통해 Spark는 가장 까다로운 운영 사용 사례도 처리할 수 있는 고성능, 저지연 엔진으로 거듭납니다.

5X 리더

Gartner®: Databricks 클라우드 데이터베이스 리더

팀은 더 적은 인프라를 운영하고 Spark를 통해 더 빠르게 움직입니다.

원시 속도도 중요하지만 실시간 모드의 진정한 가치는 일반적으로 초저지연 파이프라인 구축을 지연시키는 운영 복잡성을 제거하는 능력에 있습니다. Spark RTM은 세 가지 핵심 이점을 통해 아키텍처를 크게 단순화합니다. 이를 구체화하기 위해 실시간 machine learning 애플리케이션의 맥락에서 이를 설명합니다.

학습과 추론 간의 '로직 드리프트' 최소화: 사기 탐지와 같은 실시간 ML에서는 모델 학습을 위한 높은 처리량의 배치 처리와 실시간 추론을 위한 짧은 지연 시간의 스트리밍 간에 원활한 핸드오프가 필요합니다. Spark는 데이터 사이언티스트들이 모델 훈련 시 선호하는 옵션이며, 추론을 위해 Spark에서 Flink로 강제 전환할 경우 비즈니스 로직에 격차가 발생합니다. 결국 훈련용으로는 Spark에 있는 한 가지 버전의 로직을, 프로덕션용으로는 Flink에 있는 완전히 다른 코드베이스를 사용하게 됩니다. 이러한 비즈니스 로직 복제는 오류가 발생하기 쉬우며, 모델이 하나의 현실에 대해 훈련되었지만 다른 현실에 대해 점수를 매기는 로직 드리프트로 이어질 수 있습니다. Spark RTM을 사용하면 변환 코드가 동일하게 유지되므로 더 빠르고 매우 정확하게 기능을 프로덕션화할 수 있습니다. 

한 줄의 코드 변경으로 온디맨드 최신성 확보: 비즈니스 요구사항은 거의 고정되어 있지 않습니다. 오늘 1분 SLA로 시작하는 기능 파이프라인은 모델의 최신성 요구사항이 진화함에 따라 내일은 1초 미만의 지연 시간이 필요할 수 있습니다. 반대로 즉각적인 최신성이 필요하지 않은 많은 사용 사례에서는 '더 느리게 진행하는 것'(예: 일별 또는 시간별 배치)이 훨씬 더 비용 효율적입니다. Spark는 제품과 함께 성장하고 확장할 수 있는 환경을 제공합니다. 단 한 줄의 코드 변경만으로 피처 엔지니어링 전략을 손쉽게 전환할 수 있습니다. 예를 들어, 트리거를 AvailableNow 로 설정하여 파이프라인을 매일 또는 매시간 일정으로 실행할 수 있습니다. 비즈니스 요구사항이 바뀌면 실시간 모드로 전환하는 것만으로 간단하게 연속적인 초저지연 스트리밍으로 전환할 수 있습니다: .trigger(RealTimeTrigger.apply()). 반면 Flink에서는 이를 달성하는 것이 수동 프로세스입니다. 새로운 처리 빈도에 맞추기 위해 병렬성을 조정하고 컴퓨팅 리소스의 종료 및 재시작을 오케스트레이션해야 하는 경우가 많습니다. 

개발 가속화: RTM은 팀에서 이미 알고 있는 것과 동일한 Spark API를 기반으로 구축되었습니다. 이를 통해 여러 시스템을 유지 관리하는 데 따르는 마찰을 없애고, 단일하고 일관된 환경 내에서 실시간 애플리케이션을 구축하고 확장하여 더 빠르게 움직일 수 있습니다.

고객들은 Spark에서 여러 실시간 애플리케이션을 실행하고 있습니다.

얼리 어답터들은 다양한 산업 분야에서 저지연 시간 애플리케이션을 구동하기 위해 RTM을 사용하고 있습니다. 

사기 탐지: 선도적인 디지털 자산 플랫폼은 Kafka 스트림에서 속도 확인 및 총 지출 패턴과 같은 동적 위험 피처를 계산하고, 200밀리초 이내에 온라인 특징점을 업데이트하여 판매 시점에서 사기 거래를 차단합니다.

개인화된 경험: 이커머스 플랫폼은 사용자의 현재 세션을 기반으로 실시간 의도 피처를 계산하여, 사용자가 제품과 상호작용하는 순간 모델이 추천을 새로 고칠 수 있도록 합니다.

IoT 모니터링: 한 운송 및 물류 회사는 실시간 원격 측정 데이터를 수집하여 이상 탐지를 수행하며, 밀리초 단위로 사후 대응적 의사 결정에서 사전 예방적 의사 결정으로 전환합니다.

북미 최대의 스포츠북 및 판타지 스포츠 서비스 중 하나인 DraftKings는 RTM을 사용하여 사기 탐지 모델의 피처 계산을 지원합니다.

“라이브 스포츠 베팅에서 사기 탐지는 극도의 속도를 요구합니다. Spark Structured Streaming의 transformWithState API와 함께 실시간 모드가 도입된 것은 우리에게 게임 체인저가 되었습니다. 우리는 지연 시간과 파이프라인 설계 모두에서 상당한 개선을 이루었으며, 처음으로 ML 훈련과 온라인 추론을 위한 통합 특성 파이프라인을 구축하여 이전에는 불가능했던 초저지연 시간을 달성했습니다.” —Maria Marinova, Sr. Lead 소프트웨어 Engineer, DraftKings

Spark 실시간 모드로 구축 시작하기

"쉬운 것"과 "빠른 것" 사이에서 선택해야 하는 시대는 끝났습니다. 이제 하나의 엔진이 모든 것을 다 하는데, 왜 두 개의 엔진, 두 개의 보안 모델, 두 세트의 전문 기술을 관리해야 합니까? RTM은 실시간 애플리케이션이 요구하는 초 단위 미만의 속도와 팀이 누릴 자격이 있는 아키텍처 단순성을 제공합니다. "운영세"를 제거함으로써 마침내 인프라 관리 대신 가치 창출에 집중할 수 있습니다.

실시간 스택의 복잡성을 제거할 준비가 되셨나요?

  • 자세히 알아보기: 전체 기술 사양, 지원되는 소스 및 싱크, 예제 쿼리를 이해하려면 RTM 문서 를 살펴보세요. 새 trigger를 활성화하고 스트리밍 워크로드를 구성하는 데 필요한 모든 것을 찾을 수 있습니다.
  • 실제 작동 모습 보기: RTM의 기반이 되는 엔지니어링에 대해 더 자세히 알아보려면 설계 및 구현 과정을 안내하는 이 기술 심층 분석 세션을 시청하세요.

 

(이 글은 AI의 도움을 받아 번역되었습니다. 원문이 궁금하시다면 여기를 클릭해 주세요)

게시물을 놓치지 마세요

관심 있는 카테고리를 구독하고 최신 게시물을 받은편지함으로 받아보세요

다음은 무엇인가요?

Databricks on Databricks: Scaling Database Reliability

데이터 엔지니어링

2025년 9월 12일/1분 이내 소요

Databricks에서 Databricks를 사용하여 데이터베이스 신뢰성 확장

SQL Server ingestion screenshot

공지사항

2025년 9월 25일/1분 이내 소요

Lakeflow Connect의 SQL Server 커넥터 정식 출시 발표