소개 - Amazon Kinesis를 사용한 AWS 기반 스트리밍 데이터 솔루션

소개

오늘날 기업은 지속적으로 데이터 스트림을 생성하는 데이터 원본의 폭발적인 증가로 인해 엄청난 규모와 속도로 데이터를 수신합니다. 애플리케이션 서버의 로그 데이터, 웹 사이트 및 모바일 앱의 클릭스트림 데이터 또는 사물 인터넷(IoT) 디바이스의 원격 분석 데이터 등 모든 데이터에는 고객, 애플리케이션 및 제품이 현재 수행하는 작업을 파악하는 데 도움이 되는 정보가 포함되어 있습니다.

이러한 데이터를 실시간으로 처리하고 분석하는 기능은 애플리케이션을 지속적으로 모니터링하여 높은 서비스 가동 시간을 보장하고 프로모션 제안 및 제품 추천을 개인별 맞춤화하는 등의 작업을 수행하는 데 필수적입니다. 실시간 및 실시간에 가까운 처리는 웹 사이트 분석 및 기계 학습과 같은 다른 일반적인 사용 사례를 이러한 애플리케이션에서 몇 시간 또는 며칠이 아닌 몇 초 또는 몇 분 만에 사용할 수 있도록 하여 더 정확하고 실행 가능하게 만들 수 있습니다.

실시간 및 실시간에 가까운 애플리케이션 시나리오

스트리밍 데이터 서비스를 애플리케이션 모니터링, 사기 탐지, 실시간 순위표 등 실시간에 가까운 실시간 애플리케이션에 사용할 수 있습니다. 실시간 사용 사례에는 수집에서 처리, 대상 데이터 스토어 및 기타 시스템에 결과를 내보내는 데 이르기까지 밀리초 단위의 엔드 투 엔드 대기 시간이 필요합니다. 예를 들어, Netflix는 Amazon Kinesis Data Streams를 사용하여 모든 애플리케이션 간 통신을 모니터링함으로써 문제를 신속하게 탐지하고 해결하여 고객을 위한 높은 서비스 가동 시간과 가용성을 보장합니다. 가장 일반적으로 적용 가능한 사용 사례는 애플리케이션 성능 모니터링이지만 광고 기술, 게임 및 IoT에서 이 범주에 속하는 실시간 애플리케이션의 수가 증가하고 있습니다.

실시간에 가까운 일반적인 사용 사례에는 데이터 과학 및 기계 학습을 위한 데이터 스토어에 대한 분석이 포함됩니다. 스트리밍 데이터 솔루션을 사용하여 실시간 데이터를 데이터 레이크로 지속적으로 로드할 수 있습니다. 그러면 새로운 데이터를 사용할 수 있게 됨에 따라 기계 학습 모델을 좀 더 빈번하게 업데이트하여 결과의 정확성과 신뢰성을 보장할 수 있습니다. 예를 들어 Zillow는 Kinesis Data Streams를 사용하여 공개 기록 데이터 및 MLS(Multiple Listing Service) 목록을 수집한 다음 주택 구매자와 판매자에게 거의 실시간으로 주택의 최신 예상 가격을 제공합니다. ZipRecruiter는 이벤트 로깅 파이프라인을 위해 Amazon MSK를 사용합니다. 이러한 파이프라인은 ZipRecruiter 구인/구직 마켓플레이스에서 매일 발생하는 60억 건이 넘는 이벤트를 수집 및 저장하고 지속적으로 처리하는 핵심적인 인프라 구성 요소입니다.

배치 처리와 스트림 처리의 차이

실시간 스트리밍 데이터를 수집, 준비 및 처리하려면 기존에 배치 분석에 사용했던 도구와는 다른 도구 세트가 필요합니다. 기존 분석을 사용하면 데이터를 수집하여 주기적으로 데이터베이스에 로드하고 몇 시간, 며칠 또는 몇 주 후에 분석할 수 있습니다. 실시간 데이터 분석을 위해서는 다른 접근 방식이 필요합니다. 스트림 처리 애플리케이션은 데이터가 저장되기 전에도 실시간으로 지속적으로 데이터를 처리합니다. 스트리밍 데이터는 빠른 속도로 유입될 수 있으며 데이터 볼륨은 언제든지 증가 및 감소할 수 있습니다. 스트림 데이터 처리 플랫폼은 수신 데이터의 속도와 가변성을 처리하고 데이터가 도착하면 처리할 수 있어야 하며, 대개 시간당 수백만 ~ 수억 개의 이벤트를 처리할 수 있어야 합니다.