AWS

[AWS] Kinesis Data Firehose

Nhahan 2024. 12. 12. 17:43

Amazon Kinesis Data Firehose

Amazon Kinesis Data Firehose는 실시간으로 데이터를 수집하고 분석하기 위한 완전관리형 데이터 스트리밍 서비스로, 데이터를 손쉽게 로드하고 변환하여 다양한 AWS 및 서드파티 서비스로 전달할 수 있다.

Batch Writes

배치 쓰기: 다양한 목적지 지원

Kinesis Data Firehose는 데이터를 배치 단위로 작성하여 효율성을 극대화한다. 배치 쓰기는 데이터 전송 비용을 절감하고, 네트워크 부하를 줄이며, 목적지 시스템의 성능을 최적화하는 데 기여한다. Firehose는 AWS의 여러 서비스는 물론 서드파티 및 커스텀 목적지로의 배치 쓰기를 지원한다.

 

Data Destinations(Amazon Data Firehose -> Destinations)

  • AWS Destinations: S3, Redshift, Elasticsearch, ...
  • 3rd Party Destinations: DataDog, Splunk, ...
  • 그 외 커스텀 Destinations: HTTP 엔드포인트 등

 

Buffering

Kinesis Data Firehose는 데이터를 근실시간으로 처리할 수 있도록 버퍼링 메커니즘을 제공한다. 버퍼링은 데이터를 일정량 또는 일정 시간 간격으로 모아 배치 단위로 전송하는 방식으로, 실시간성과 효율성 간의 균형을 맞추는 데 중요한 역할을 한다.

사용자는 버퍼 크기와 버퍼 시간을 설정하여 데이터 전송의 빈도를 조절할 수 있다. 예를 들어, 실시간 분석이 필요한 애플리케이션의 경우 버퍼 시간을 짧게 설정하여 지연 시간을 최소화할 수 있다(실시간 성 확보). 반면, 비용 절감을 위해 배치 크기를 크게 설정하면 전송 횟수를 줄여 네트워크 비용을 절감할 수 있다.

 

 


특이사항: SNS처럼 fanout이 불가능하므로, 여러 destination이 필요할 시, 추가적인 Kinesis Data Firehose를 만들거나 다른 방법을 사용해야한다.

여러개의 Kinesis Data Firehose 예시

 

 

728x90