소개
오늘날 기업은 지속적으로 데이터 스트림을 생성하는 데이터 원본의 폭발적인 증가로 인해 엄청난 규모와 속도로 데이터를 수신합니다. 애플리케이션 서버의 로그 데이터, 웹 사이트 및 모바일 앱의 클릭스트림 데이터 또는 사물 인터넷(IoT) 디바이스의 원격 분석 데이터 등 모든 데이터에는 고객, 애플리케이션 및 제품이 현재 수행하는 작업을 파악하는 데 도움이 되는 정보가 포함되어 있습니다.
이러한 데이터를 실시간으로 처리하고 분석하는 기능은 애플리케이션을 지속적으로 모니터링하여 높은 서비스 가동 시간을 보장하고 프로모션 제안 및 제품 추천을 개인별 맞춤화하는 등의 작업을 수행하는 데 필수적입니다. 실시간 및 실시간에 가까운 처리는 웹 사이트 분석 및 기계 학습과 같은 다른 일반적인 사용 사례를 이러한 애플리케이션에서 몇 시간 또는 며칠이 아닌 몇 초 또는 몇 분 만에 사용할 수 있도록 하여 더 정확하고 실행 가능하게 만들 수 있습니다.
실시간 및 실시간에 가까운 애플리케이션 시나리오
스트리밍 데이터 서비스를 애플리케이션 모니터링, 사기 탐지, 실시간 순위표 등 실시간에 가까운 실시간 애플리케이션에 사용할 수 있습니다. 실시간 사용 사례에는 수집에서 처리, 대상 데이터 스토어 및 기타 시스템에 결과를 내보내는 데 이르기까지 밀리초 단위의 엔드 투 엔드 대기 시간이 필요합니다. 예를 들어, Netflix는 Amazon Kinesis Data Streams
실시간에 가까운 일반적인 사용 사례에는 데이터 과학 및 기계 학습을 위한 데이터 스토어에 대한 분석이 포함됩니다. 스트리밍 데이터 솔루션을 사용하여 실시간 데이터를 데이터 레이크로 지속적으로 로드할 수 있습니다. 그러면 새로운 데이터를 사용할 수 있게 됨에 따라 기계 학습 모델을 좀 더 빈번하게 업데이트하여 결과의 정확성과 신뢰성을 보장할 수 있습니다. 예를 들어 Zillow는 Kinesis Data Streams를 사용하여 공개 기록 데이터 및 MLS(Multiple Listing Service) 목록을 수집한 다음 주택 구매자와 판매자에게 거의 실시간으로 주택의 최신 예상 가격을 제공합니다. ZipRecruiter는 이벤트 로깅 파이프라인을 위해 Amazon MSK
배치 처리와 스트림 처리의 차이
실시간 스트리밍 데이터를 수집, 준비 및 처리하려면 기존에 배치 분석에 사용했던 도구와는 다른 도구 세트가 필요합니다. 기존 분석을 사용하면 데이터를 수집하여 주기적으로 데이터베이스에 로드하고 몇 시간, 며칠 또는 몇 주 후에 분석할 수 있습니다. 실시간 데이터 분석을 위해서는 다른 접근 방식이 필요합니다. 스트림 처리 애플리케이션은 데이터가 저장되기 전에도 실시간으로 지속적으로 데이터를 처리합니다. 스트리밍 데이터는 빠른 속도로 유입될 수 있으며 데이터 볼륨은 언제든지 증가 및 감소할 수 있습니다. 스트림 데이터 처리 플랫폼은 수신 데이터의 속도와 가변성을 처리하고 데이터가 도착하면 처리할 수 있어야 하며, 대개 시간당 수백만 ~ 수억 개의 이벤트를 처리할 수 있어야 합니다.