

# AWS Glue 스트리밍
<a name="streaming-chapter"></a>

AWS Glue의 구성 요소인 AWS Glue 스트리밍을 통해 거의 실시간으로 스트리밍 데이터를 효율적으로 처리하여 데이터 모으기, 처리, 기계 학습과 같은 중요한 작업을 수행할 수 있습니다. AWS Glue Streaming은 Apache Spark Streaming 프레임워크를 사용하여 스트리밍 데이터를 대규모로 처리할 수 있는 서버리스 서비스를 제공합니다. AWS Glue는 Apache Spark를 기반으로 서버리스 인프라, 자동 크기 조정, 시각적 작업 개발, 스트리밍 작업을 위한 인스턴트 온 노트북 및 기타 성능 개선과 같은 다양한 최적화를 제공합니다.

## 스트리밍 사용 사례
<a name="streaming-use-cases"></a>

다음은 AWS Glue 스트리밍의 일반적인 사용 사례입니다.

**실시간에 가까운 데이터 처리**: AWS Glue 스트리밍을 통해 조직은 스트리밍 데이터를 거의 실시간으로 처리하여 최신 정보를 기반으로 인사이트를 얻고 시기적절한 결정을 내릴 수 있습니다.

**사기 탐지**: AWS Glue 스트리밍 데이터의 실시간 분석을 위해 스트리밍을 활용하면 신용 카드 사기, 네트워크 침입 또는 온라인 사기와 같은 사기 행위를 탐지하는 데 유용합니다. 수신 데이터를 지속적으로 처리하고 분석하여 의심스러운 패턴이나 이상 징후를 신속하게 식별할 수 있습니다.

**소셜 미디어 분석**: AWS Glue 스트리밍을 통해 트윗, 게시물, 댓글 등의 실시간 소셜 미디어 데이터를 처리할 수 있으므로 조직은 추세를 모니터링하고, 감정 분석을 하고, 브랜드 평판을 실시간으로 관리할 수 있습니다.

**사물 인터넷(IoT) 분석**: AWS Glue 스트리밍은 IoT 디바이스, 센서 및 연결된 기계에서 생성되는 고속 데이터 스트림을 처리하고 분석하는 데 적합합니다. 이는 실시간 모니터링, 이상 탐지, 예측 유지 보수 및 기타 IoT 분석 사용 사례를 지원합니다.

**클릭스트림 분석**: AWS Glue 스트리밍은 웹 사이트 또는 모바일 애플리케이션의 실시간 클릭스트림 데이터를 처리하고 분석할 수 있습니다. 이를 통해 기업은 사용자 행동에 대한 인사이트를 얻고, 사용자 경험을 개인화하고, 실시간 클릭스트림 데이터를 기반으로 마케팅 캠페인을 최적화할 수 있습니다.

**로그 모니터링 및 분석**: AWS Glue 스트리밍은 서버, 애플리케이션 또는 네트워크 디바이스의 로그 데이터를 실시간으로 지속적으로 처리하고 분석할 수 있습니다. 이는 이상을 탐지하고, 문제를 해결하고, 시스템 상태와 성능을 모니터링하는 데 도움이 됩니다.

**추천 시스템**: AWS Glue 스트리밍은 사용자 활동 데이터를 실시간으로 처리하고 추천 모델을 동적으로 업데이트할 수 있습니다. 이를 통해 사용자 행동 및 기본 설정을 기반으로 개인화된 실시간 추천이 가능합니다.

다음은 AWS Glue 스트리밍을 적용할 수 있는 다양한 사용 사례의 몇 가지 예제입니다. AWS 에코시스템 및 관리형 서비스와의 통합으로 클라우드에서 실시간 스트림 처리 및 분석을 위한 편리한 선택이 됩니다.

## AWS Glue 스트리밍 사용의 이점은 무엇인가요?
<a name="streaming-benefits"></a>

다음은 AWS Glue 스트리밍 사용의 이점입니다.
+ **서버리스**: AWS Glue 스트리밍은 서버리스이므로 인프라를 관리할 필요가 없습니다. 이를 통해 운영 오버헤드가 줄어들고 사용자는 인프라 관리보다는 데이터 처리 및 분석 작업에 집중할 수 있습니다.
+ **자동 크기 조정**: AWS Glue 스트리밍은 워크로드에 따라 처리 용량을 동적으로 조정하는 자동 크기 조정 기능을 제공합니다. 데이터 볼륨의 변동을 처리하기 위해 자동으로 스케일 아웃 또는 스케일 인하여 최적의 성능과 리소스 활용도를 보장합니다.
+ **시각적 개발**: 스트리밍 작업 개발은 복잡할 수 있습니다. AWS Glue 스트리밍은 시각적 저작 도구인 AWS Glue Studio를 제공하여 이러한 문제를 해결합니다. AWS Glue Studio는 스트리밍 워크플로 생성 프로세스를 간소화하고 개발자가 스트리밍 애플리케이션을 시각적으로 설계 및 관리할 수 있도록 하여 학습 곡선을 줄이고 생산성을 높입니다.
+ **비용 효율성**: AWS Glue 스트리밍은 서버리스 서비스로서 인프라를 프로비저닝하고 유지 보수할 필요가 없으므로 비용 효율성을 제공합니다. 스트리밍 작업을 실행하는 동안 소비된 리소스를 기준으로 사용자에게 요금이 청구되므로 실제 사용량에 따라 비용을 최적화하고 조정할 수 있습니다.
+ **복잡한 워크로드 처리**: AWS Glue 스트리밍은 복잡한 스트리밍 워크로드를 처리하도록 설계되었습니다. 대량의 실시간 데이터를 처리 및 분석하고, 고급 변환을 지원하고, 다른 AWS 서비스와 통합하여 정교한 스트리밍 데이터 파이프라인과 분석 워크플로를 지원할 수 있습니다.
+ **종속 없음**: AWS Glue 스트리밍은 유연성을 제공하고 벤더 종속을 방지합니다. 사용자는 AWS Glue 스트리밍을 보다 광범위한 AWS 에코시스템의 일부로 활용하여 다른 AWS 서비스와 원활하게 통합할 수 있습니다. 이를 통해 특정 기술이나 플랫폼에 얽매이지 않고도 기존 데이터 소스, 애플리케이션 및 서비스와 쉽게 통합할 수 있습니다.

## AWS Glue 스트리밍은 언제 사용하나요?
<a name="streaming-when-to-use"></a>

스트리밍 사용 사례에는 여러 가지 옵션이 있습니다. 다음 시나리오에서는 AWS Glue 스트리밍을 권장합니다.

1. **배치 처리에 이미 AWS Glue 또는 Spark를 사용하고 있다면** AWS Glue 스트리밍이 이상적인 선택입니다. 새로운 언어나 프레임워크를 배울 필요 없이 스트리밍 작업 구축으로 원활하게 전환할 수 있습니다. AWS Glue 스트리밍은 기존 지식과 인프라를 활용하여 작업 개발 프로세스를 간소화하고 데이터 처리 기능을 실시간 스트리밍 시나리오로 쉽게 확장할 수 있도록 합니다.

1. **배치, 스트리밍, 이벤트 기반 워크로드를 처리하기 위한 통합 서비스나 제품이 필요하다면** AWS Glue 스트리밍이 적합한 솔루션입니다. AWS Glue 스트리밍을 사용하면 데이터 처리 요구 사항을 단일 프레임워크로 통합하여 여러 시스템을 관리하는 복잡성을 없앨 수 있습니다. 이를 통해 다양한 데이터 워크플로를 효율적으로 개발하고 유지 보수하는 동시에 다양한 워크로드 유형에서 일관성과 호환성을 보장할 수 있습니다.

1. **AWS Glue 스트리밍은 매우 큰 스트리밍 데이터 볼륨과 스트림 또는 관계형 데이터베이스 간 조인과 같은 복잡한 변환과 관련된 시나리오에 적합**합니다. 대량의 데이터 스트림을 효율적으로 처리하고 분석할 수 있으므로 까다로운 워크로드를 쉽게 처리할 수 있습니다. 고속 데이터 모으기든 복잡한 데이터 조작이든 AWS Glue 스트리밍의 확장성과 고급 처리 기능은 최적의 성능과 정확한 결과를 보장합니다.

1. **스트리밍 작업을 구축하는 데 시각적 접근 방식을 선호하는 경우** AWS Glue는 스트리밍 애플리케이션을 시각적으로 설계하고 관리할 수 있는 AWS Glue Studio를 제공하여 개발 프로세스를 간소화합니다. 이 직관적인 인터페이스를 통해 개발자는 시각적 인터페이스를 사용하여 스트리밍 워크플로를 생성, 구성 및 모니터링할 수 있으므로 학습 곡선을 줄이고 생산성을 높일 수 있습니다.

1. **AWS Glue 스트리밍은 10초 이상의 엄격한 서비스 수준 계약(SLA)이 있는 실시간에 가까운 사용 사례에 탁월한 선택**입니다.

1. **Apache Iceberg, Apache Hudi 또는 Delta Lake를 사용하여 트랜잭션 데이터 레이크를 구축하는 경우** AWS Glue 스트리밍은 이러한 오픈 테이블 형식을 기본적으로 지원합니다. 이러한 원활한 통합을 통해 이러한 트랜잭션 데이터 레이크에서 직접 스트리밍 데이터를 처리하여 데이터 일관성, 무결성 및 호환성을 보장할 수 있습니다.

1. **다양한 데이터 대상에 대한 스트리밍 데이터를 모아야 하는 경우**: AWS Glue 스트리밍은 Amazon Redshift, Amazon RDS, Amazon Aurora, Oracle, SQL Server 및 기타 대상과 같은 다양한 데이터 대상에 대한 기본 대상을 제공합니다.

## 지원되는 데이터 원본
<a name="streaming-data-sources"></a>

AWS Glue 스트리밍에서 지원되는 데이터 소스는 다음과 같습니다.
+ Amazon Kinesis
+ Amazon MSK(Managed Streaming for Apache Kafka)
+ 자체 관리형 Apache Kafka

## 지원되는 데이터 대상
<a name="streaming-data-targets"></a>

AWS Glue 스트리밍은 다음과 같은 다양한 데이터 대상을 지원합니다.
+ AWS Glue 데이터 카탈로그에서 지원하는 데이터 대상
+ Amazon S3
+ Amazon Redshift
+ MySQL
+ PostgreSQL
+ Oracle
+ Microsoft SQL Server
+ Snowflake
+ JDBC를 사용하여 연결할 수 있는 모든 데이터베이스
+ Apache Iceberg, Delta 및 Apache Hudi
+ AWS Glue Marketplace 커넥터