Amazon Kinesis Data Analytics
Amazon Kinesis Data Analytics는 Apache Flink를 통해 실시간으로 스트리밍 데이터를 변환 및 분석할 수 있는 가장 쉬운 방법입니다. Apache Flink는 데이터 스트림 처리를 위한 오픈 소스 프레임워크 및 엔진입니다. Amazon Kinesis Data Analytics는 Apache Flink 애플리케이션을 빌드 및 관리하고 다른 AWS 서비스와 통합하는 데 따르는 복잡성을 줄여줍니다.
Amazon Kinesis Data Analytics는 스트리밍 애플리케이션의 지속적 실행에 필요한 모든 작업을 처리하며, 수신 데이터의 볼륨과 처리량에 맞춰 자동으로 확장됩니다. Amazon Kinesis Data Analytics를 사용하면 서버를 관리할 필요가 없고, 최소 요금이나 설치 비용도 없으며, 스트리밍 애플리케이션이 소비하는 리소스에 대해서만 결제하면 됩니다.
이점
강력한 실시간 처리
Amazon Kinesis Data Analytics에는 고급 분석을 위해 스트리밍 데이터를 필터링, 집계 및 변환하는 기능이 기본적으로 제공됩니다. 또한 1초 미만의 지연 시간으로 스트리밍 데이터를 처리하므로 수신 데이터 및 벤트를 실시간으로 분석 및 대응할 수 있습니다.
서버 관리 불필요
Amazon Kinesis Data Analytics는 서버리스 서비스이므로, 관리할 서버가 없습니다. 또한 완전관리형으로 스트리밍 애플리케이션을 운영하므로 사용자는 인프라를 프로비저닝하거나 관리할 필요가 없습니다. Amazon Kinesis Data Analytics는 짧은 지연 시간으로 수신 데이터를 처리하는 데 필요한 인프라를 자동으로 확장 및 축소합니다.
사용한 만큼만 비용 지불
Amazon Kinesis Data Analytics에서는 스트리밍 애플리케이션이 사용한 처리 리소스에 대해서만 비용을 지불하면 됩니다. 최소 요금이나 사전 약정은 없습니다.
사용 편의성
Amazon Kinesis Data Analytics를 사용하면 쿼리 및 정교한 스트리밍 애플리케이션을 세 가지 간단한 단계로 쉽고 빠르게 구축할 수 있습니다. 즉, 스트리밍 데이터 원본을 설정하고, 쿼리 또는 스트리밍 애플리케이션을 작성한 후 처리되는 데이터에 대한 대상을 설정하기만 하면 됩니다.
Apache Flink를 사용하여 정교한 스트리밍 애플리케이션 구축
Amazon Kinesis Data Analytics에 포함된 Apache Flink 기반의 오픈 소스 라이브러리 및 런타임을 사용하면 자주 사용하는 IDE로 애플리케이션을 몇 개월이 아닌 몇 시간 만에 구축할 수 있습니다. 확장 가능한 라이브러리에는 상태 저장 스트림 처리, 스트리밍 ETL, 실시간 분석 등의 다양한 사용 사례에 특화된 API가 포함되어 있습니다. 이러한 라이브러리를 사용하면 Amazon Managed Streaming for Apache Kafka(Amazon MSK), Amazon Kinesis Data Streams, Amazon Kinesis Data Firehose, Amazon Elasticsearch Service, Amazon S3, Amazon DynamoDB 등의 AWS 서비스와 통합할 수 있습니다.
선호하는 언어 사용
Amazon Kinesis Data Analytics는 Java, Scala 및 Python에서 애플리케이션 구축을 지원합니다. 이러한 언어를 사용하여 조인, 시간대별 집계, 필터 및 기타 작업을 수행하는 애플리케이션을 손쉽게 구축할 수 있습니다. 오픈 소스 라이브러리를 확장하고 선택한 언어의 사용자 지정 라이브러리를 포함할 수 있습니다. 또한 SQL을 사용하여 AWS 콘솔에서 스트리밍 데이터를 대화형으로 분석하고 결과를 다른 AWS 서비스로 보낼 수 있습니다.
Apache Beam을 사용하여 스트리밍 애플리케이션 구축
Amazon Kinesis Data Analytics는 서버리스 Apache Flink 환경에서 Apache Beam의 Java SDK를 통해 구축된 스트리밍 애플리케이션 실행을 지원합니다. Apache Beam은 여러 실행 엔진에서 실행할 수 있는 스트리밍 및 배치 데이터 처리 애플리케이션을 정의하기 위한 통합된 오픈 소스 모델입니다. Java로 Apache Beam 스트리밍 애플리케이션을 손쉽게 구축하고 이를 Amazon Kinesis Data Analytics 및 기타 실행 엔진에서 실행할 수 있습니다.
작동 방식

사용 사례
스트리밍 ETL
스트리밍 데이터의 변환, 집계 및 필터링을 위한 Amazon Kinesis Data Analytics 기본 제공 연산자를 사용하여 스트리밍 Extract-Transform-Load(ETL) 애플리케이션을 개발할 수 있습니다. 기본 제공 커넥터를 사용하여 몇 초 만에 Amazon Kinesis Data Streams, Amazon Managed Streaming for Apache Kafka(Amazon MSK), Amazon Elasticsearch Service, Amazon S3, 사용자 지정 통합 등에 데이터를 쉽게 전달할 수 있습니다.
John Deere가 농업용 장비에서 IoT 센서 수치를 추출하고, 이 데이터를 실시간으로 유용한 고객 정보로 변환하며, 변환된 데이터를 데이터 레이크로 로드하는 방법을 확인할 수 있습니다.
실시간 분석
표준 SQL을 사용하여 스트리밍 데이터를 대화식으로 쿼리하고 Java, Python 및 Scala를 사용하여 Apache Flink 애플리케이션을 구축하며, Java로 Apache Beam 애플리케이션을 구축하여 데이터 스트림을 분석할 수 있습니다.
상태 저장 이벤트 처리
하나 이상의 데이터 스트림에서 이벤트를 처리하고 조건부 처리 및 외부 작업을 트리거하는 애플리케이션을 개발할 수 있습니다. 복잡한 이벤트 처리를 위해 표준 SQL 및 Apache Flink 라이브러리를 사용하여 데이터 스트림에서 이상 탐지와 같은 패턴을 식별할 수 있습니다.
Zynga가 플레이어 작업에 의해 트리거된 게임 이벤트를 처리하는 방법을 확인하십시오.