Amazon Kinesis Data Streams란? - Amazon Kinesis Data Streams

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon Kinesis Data Streams란?

Amazon Kinesis Data Streams를 사용하여 대규모 데이터 레코드 스트림을 실시간으로 수집하고 처리할 수 있습니다. Kinesis Data Streams 애플리케이션이라는 데이터 처리 애플리케이션을 생성할 수 있습니다. 일반적인 Kinesis Data Streams 애플리케이션은 데이터가 기록될 때 데이터 스트림에서 데이터를 읽습니다. 이러한 애플리케이션은 Kinesis Client Library를 사용하며 Amazon EC2 인스턴스에서 실행될 수 있습니다. 처리된 레코드를 대시보드로 보내거나, 알림을 생성하는 데 사용하거나, 요금 및 광고 전략을 동적으로 변경하거나, 다른 여러 AWS 서비스에 데이터를 보낼 수 있습니다. Kinesis Data Streams 기능 및 요금에 대한 자세한 내용은 Amazon Kinesis Data Streams를 참조하세요.

Kinesis Data Streams는 Firehose, Kinesis Video StreamsManaged Service for Apache Flink와 함께 Kinesis 스트리밍 데이터 플랫폼의 일부입니다.

AWS 빅 데이터 솔루션에 대한 자세한 내용은 AWS 기반 빅 데이터를 참조하세요. AWS 스트리밍 데이터 솔루션에 대한 자세한 내용은 스트리밍 데이터란 무엇입니까?를 참조하세요.

Kinesis Data Streams로 무엇을 할 수 있나요?

신속하고 지속적인 데이터 인테이크 및 집계를 위해 Amazon Kinesis Data Streams를 사용할 수 있습니다. 사용되는 데이터 유형으로는 IT 인프라 로그 데이터, 애플리케이션 로그, 소셜 미디어, 시장 데이터 피드, 웹 클릭스트림 데이터 등이 있습니다. 데이터 인테이크 및 처리에 대한 응답이 실시간으로 이루어지기 때문에 간단하게 처리되는 것이 일반적입니다.

다음은 일반적인 Kinesis Data Streams 사용 시나리오입니다.

가속화된 로그 및 데이터 피드 인테이크 및 처리

생산자를 통해 스트림으로 직접 데이터를 푸시할 수 있습니다. 예를 들어, 시스템 및 애플리케이션 로그를 푸시하고 몇 초 만에 처리할 수 있습니다. 이렇게 하면 프런트엔드 또는 애플리케이션 서버에 장애가 발생할 경우 로그 데이터가 손실되는 것을 방지할 수 있습니다. Kinesis Data Streams는 인테이크를 위해 데이터를 제출하기 전에 서버에서 데이터를 일괄 처리하지 않기 때문에 가속화된 데이터 피드 인테이크를 제공합니다.

실시간 측정치 및 보고

Kinesis Data Streams에 수집된 데이터를 간단한 데이터 분석 및 실시간 보고에 사용할 수 있습니다. 예를 들어, 데이터가 스트레밍되는 동안 데이터 처리 애플리케이션이 데이터 배치를 수신할 때까지 기다리는 대신 측정치를 내고 시스템 및 애플리케이션 로그를 보고할 수 있습니다.

실시간 데이터 분석

실시간 데이터의 가치와 병렬 처리 능력이 함께 발휘됩니다. 예를 들어, 웹 사이트 클릭 스트림을 실시간으로 처리한 다음 병렬로 실행되는 여러 개의 다른 Kinesis Data Streams 애플리케이션을 사용하여 사이트 가용성 참여를 분석합니다.

복잡한 스트림 처리

Kinesis Data Streams 애플리케이션 및 데이터 스트림의 DAG(방향성 비순환 그래프)를 생성할 수 있습니다. 이렇게 하려면 일반적으로 여러 Kinesis Data Streams 애플리케이션의 데이터를 또 다른 스트림에 넣어 다른 Kinesis Data Streams 애플리케이션에서 다운스트림을 처리합니다.

Kinesis Data Streams 사용의 이점

Kinesis Data Streams를 사용하여 여러 가지 스트리밍 데이터 문제를 해결할 수 있지만 데이터를 실시간으로 집계한 후 집계 데이터를 데이터 웨어하우스나 map-reduce 클러스터에 로드하는 것이 일반적입니다.

데이터가 Kinesis 데이터 스트림으로 들어가므로 지속성과 탄력성이 보장됩니다. 레코드가 스트림에 들어가는 시간과 검색할 수 있게 되는 시간 사이의 지연(put-to-get 지연)은 대개 1초 미만입니다. 즉, 데이터가 추가되고 거의 직후에 Kinesis Data Streams 애플리케이션이 스트림의 데이터를 소비할 수 있습니다. Kinesis Data Streams는 관리형 서비스이므로 데이터 인테이크 파이프라인을 생성하고 실행하는 작업 부담이 줄어듭니다. 스트리밍 map-reduce 유형 애플리케이션을 생성할 수 있습니다. Kinesis Data Streams의 탄력성으로 인해 스트림을 확장하거나 축소할 수 있어 만료 전에 데이터 레코드가 손실되지 않습니다.

여러 Kinesis Data Streams 애플리케이션이 스트림의 데이터를 소비할 수 있어 보관, 처리와 같은 여러 가지 작업이 동시에 개별적으로 이루어질 수 있습니다. 예를 들어, 두 애플리케이션이 같은 스트림에서 데이터를 읽을 수 있습니다. 첫 번째 애플리케이션은 실행 중인 집계를 계산하고 Amazon DynamoDB 테이블을 업데이트하며, 두 번째 애플리케이션은 데이터를 압축하여 Amazon Simple Storage Service(S3)와 같은 데이터 스토어에 보관합니다. 그러면 대시보드에서 최신 보고서를 만들기 위해 실행 중인 집계가 있는 DynamoDB 테이블을 읽습니다.

Kinesis Data Streams를 사용하면 결함이 있더라도 정상적으로 스트림의 데이터를 소비할 수 있으며 Kinesis Data Streams 애플리케이션의 규모를 조정할 수 있습니다.

Amazon EMR 클러스터를 사용하여 Kinesis 데이터 스트림을 직접 읽고 처리하는 방법에 대한 자세한 내용은 Kinesis 커넥터를 참조하세요.