서버 인프라/Aws

Kinesis 관련 내용 정리하기

트리맨스 2022. 8. 18. 01:26
반응형

 

최근 사용자 관련 이벤트를 수집하는 로직에서 문제가 보여서 해당 로직을 개선하기 위해서 방법을 찾아보니 Kinesis를 이용하는 것이 제일 좋아 보였다. 하지만 Kinesis에 관해서 잘 모르기 때문에 한번 정리해 보았다. 

 

Kinesis 란?


실시간으로 데이터 스트림을 수집 및 처리할 수 있는 시스템이다. Kinesis에는 총 4가지의 기능이 있다. Video Stream, Data stream, Data Firehose, Data Analytics 가 있다. 

 

Data stream

데이터를 실시간 스트림으로 받아서 수집 및 저장을 할 수 있는 서비스. Kinesis Data Analytics, spark, ec2, lambda 등의 서비스로 전송할 수 있다. 

 

Data Firehose

데이터를 실시간 스트림으로 받아서 처리 및 전송을 할 수 있는 서비스. S3, Redshift 등의 저장소로 데이터를 전송할 수 있다.

 

Video Streams

비디오에 관한 데이터를 수집하여 여러 서비스로 전송할 수 있음.

 

Data Analytics

여러 데이터를 수집하여 분석 도구에 사용할 수 있게 한다.

 

Data stream vs Data Firehose


사실 이 글을 쓴 목적이다. 둘의 차이를 알 수가 없어서 정리하려고 한 글이다. 단순히 정리하면 Data stream은 말 그대로 데이터를 수집하여 손실 없이 다른 곳으로 전송하기 위한 서비스이고, Data Firehose는 데이터를 ElasticSearch, S3, Redshift 등의 저장 장치로 전송하기 위한 서비스이다. 각 서비스의 차이점은 아래에 정리해 두었다.

  Kinesis Data Stream Kinesis Data Firehose
관리 샤드에 대한 구성 필요 완전관리형 시스템
데이터 저장 일주일까지 저장 가능 데이터 저장x
처리 클래식 : 200ms, 향상 거의 실시간

 

Kafka 와 차이점


오케이, 어쨋든 목적은 실시간 데이터 처리가 목적이고 Data stream은 데이터 전송에, Data Firehose는 데이터 저장에 목적을 둔 서비스 같다. 여기서 생각하면 실시간 데이터 처리라고 하면, Kafka가 먼저 떠오를 것이다. 여기에다 아마존은 MSK라는 서비스를 출시해서 Kafka를 아마존 관리형 버전으로 운영중이다. 이것에 대한 정리도 해봐야 할 것 같다.

 

Kafka

카프카는 메시지 스트림 서비스이며, 이벤트는 각 토픽에 쌓이게 된다. 토픽은 여러개의 브로커에 분산되어 저장하며, 분산된 토픽은 파티션 이라고 한다.

Kinesis

키네시스는 데이터 스트리밍 서비스이다. 데이터 처리는 샤드라는 단위에서 시작되며, 각각의 샤드는 병렬로 연결된 ec2 인스턴스에서 데이터의 소비자한테 데이터를 전달한다.

 

그니까 결론은, 둘다 비슷한 서비스이다. 스트리밍 작업에 대해서 데이터를 적절히 전송하거나 저장할 수 있는 서비스이다. 그렇다면 이 둘의 차이점은 무엇인가? 바로 관리형 서비스의 차이이다.

 

kinesis는 아마존 자체적으로 개발한 서비스임과 동시에 고가용성을 보장하는 서비스이므로, 따로 인프라 관리자가 없으면 kinesis를 사용해서 시간을 줄일 수 있다. 하지만 kafka는 사용자가 직접 관리해야 하는 불편함이 있다. 대용량 데이터에 대해서는 kafka가 더 빠르다고는 하나, 대부분의 경우에서는 속도는 비슷하다고 한다. 이에 대해서 간단히 표로 정리해 보았다.

 

  Kafka Kinesis
소프트웨어 비용 오픈소스 (비용없음) 온디맨드 OR 프로비저닝
엔지니어링 공수 높음 낮음
데이터 보존 사용자 정의 최대 일주일
데이터 처리 속도 약간 빠름  빠름
세부설정  수동으로 일일이 조작 가능 아마존에서 대부분 관리

 

위에서 정리한 내용을 통해서 데이터 파이프라인을 구축해야겠다.

 

참고자료


https://www.upsolver.com/blog/comparing-apache-kafka-amazon-kinesis

 

Apache Kafka vs Amazon Kinesis - Comparing Setup, Performance, Security, and Price | Upsolver

This article compares Apache Kafka and Amazon Kinesis based on setup, maintenance, costs, performance, and incidence risk management.

www.upsolver.com

https://www.softkraft.co/aws-kinesis-vs-kafka-comparison/#:~:text=Performance%2Dwise%2C%20Kafka%20has%20a,still%20solidly%20in%20the%20thousands.

 

AWS Kinesis vs Kafka comparison: Which is right for you?

I was tasked with a project that involved choosing between AWS Kinesis vs Kafka. The choice, as I found out, was not an easy one and had a lot of factors to be taken into consideration and the winner could surprise you. In this article I will help to choos

www.softkraft.co

https://docs.aws.amazon.com/ko_kr/kinesis/index.html

 

https://docs.aws.amazon.com/ko_kr/kinesis/index.html

 

docs.aws.amazon.com

 

 

반응형