brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Nov 07. 2020

 7탄-데이터-실시간 데이터 처리 키네시스 2/7

<1> 실시간 데이터 이해

<2> 실시간 데이터 처리  키네시스 서비스 종류

<3> kinesis data streams - 데이터 수집 및 스트리밍하여 순서대로  실시간 처리

<4> Kinesis Data Firehose - 간편한 처리

<5> kinesis data anlytics - 실시간 스트리밍 데이터를 읽고 처리

<6> kinesis video streams  - 분석을 위한 처리, 저장

<7> 실습

<8> 다음 과정



<1> 실시간 데이터 이해


1

생성데이터 100이라면, 분석에 사용가능한 데이터는 30% 정도이다.


2

처리 유형 2가지 ?

배치 처리 -  데이터를 지원

스트림 처리 -  연속 데이터 처리


3

스트리밍 데이터 솔루션은  ?

수집과 처리가 분리되어야 한다.

여러 스트림 함께 수집 되어야 한다.

여러 소비자가 사용할수 있어야 한다.


어떤 스트림 스토리지를 사용해야 할까?




<2> 실시간 데이터 처리  키네시스 서비스 종류


0

kinesis 서비스 종류 4가지 ?

kinesis data streams - 데이터 수집 및 스트리밍하여 순서대로  실시간 처리, 1번째로 만들어짐

kinesis  data firehose - 데이터 스트림을 좀 간단하게 사용하게 하자

kinesis data anlytics - 내부적으로 분석, sql 쿼리를 사용해 분석

kinesis video streams  - 동영상 처리, 분석을 위한 처리, 저장



<3> kinesis data streams - 데이터 수집 및 스트리밍하여 순서대로  실시간 처리


1

즉시 처리한다.

24시간(1일) 저장한다.


2

수집하는 파이프 라인이다.

저장 장소는 아니다.


3

보존기간을 장기 데이터 보존을 활성화해서 최대 365일(1년)까지 저장 가능.

https://aws.amazon.com/ko/kinesis/data-streams/faqs/


4

원하는 수준의 용량 설정 (샤드).

데이터를 처리하는 파이프라인을 만드는것

샤드 하나당 1메가 바이트를 처리한다.

샤드를 2개~3개로 늘리면 빨라진다.

수집하는 것이다.


5

1초미만 처리 지연 시간. 빠른건은 데이터 스트림.

엔드포인트 제공


6

키네시스 에이전트 설치 (간단한 방법)

https://docs.aws.amazon.com/ko_kr/streams/latest/dev/writing-with-agents.html



7

Kinesis Data Streams 구성도 ?


EC2인스턴스가 처리한다.

데이터 생산 (웹, 모바일 디바이스)-------- 샤드 ------출력: 소비자 데이터처리, 스토리지에 저장(s3, DynamoDB, Redshift)

https://docs.aws.amazon.com/ko_kr/streams/latest/dev/introduction.html


8

https://aws.amazon.com/ko/blogs/korea/amazon-kinesis-data-streams-on-demand-stream-data-at-scale-without-managing-capacity/?utm_source=dlvr.it&utm_medium=facebook



<4> Kinesis Data Firehose - 간편한 처리


1

Data Firehose는 프로그래밍 없이 데이터를 쉽게 전송하고 싶다.

데이터 스트림은 프로그래밍 해야 한다.

Firehose 관리하는 부분 거의 없이 사용.

웹, 모바일 디바이스


2

소비자를 만들 필요가 없다.

목적지로 전송하는데 목적이 있다.


3

S3, redshift, ES로 전달한다.   

출력 목적지만 지정하면 간다.

데이터 보존 없다.

샤드 지정 부분 없다.


4

최소 1분이라는 지연시간이 있다.

최소가 60초이다. S3로 넣는 시간이 최소 60초 걸린다.

aws로 로드하기 전에 데이터를 일괄 처리하고 압축가능하다.

버퍼링과 연결 가능

1 vs n으로 전송 가능하다.

최대 크기 1MB  

엔드포인트 제공


5

구성 ?

Kinesis Data Firehose   --- S3로 데이터를 보낸다.



<5> kinesis data anlytics - 실시간 스트리밍 데이터를 읽고 처리


1

수집되는 데이터중 따로 모으고 싶다는것을 간단하게 처리가능

수집되는 데이터중 특정 단어가 포함된것을 스트림으로 넘겨주던지 할수 있다.

S3를 룩업 데이블로 참조 할수 있다.

SQL로 데이터를 추출할수 있도록 해주는것이다.

1초 처리

소스  :  파이어호스, 키네시스 스트림

https://aws.amazon.com/ko/kinesis/data-analytics/faqs/


2

참조 소스 (참조 데이터에 S3 지정하는곳이 있음)

https://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-input.html#source-reference

 


3

실습

https://brunch.co.kr/@topasvga/2003



<6> kinesis video streams  - 분석을 위한 처리, 저장


비디오 형식 데이터를 캡춰해서 사용

고용량의 데이터

오디오 , 열데이터 수집 저장, CCTV데이터

CCTV 입력 -    video streams - AWS서비스




문제 ?

목적지로 전송하는데 목적이 있는것은?   firehose





<7> 실습


https://brunch.co.kr/@topasvga/1634



<8> 다음 과정


https://brunch.co.kr/@topasvga/1312


https://brunch.co.kr/@topasvga/2698



감사합니다.

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari