참고
빅데이터 아키텍쳐
NOTE
기존에 존재하는 데이터 처리 응용 소프트웨어로는 처리할 수 없을 만큼 “방대한 양의 데이터”를 의미하며, 데이터로부터 가치를 추출하고 결과를 “분석하는 기술”로도 의미를 가진다!
빅데이터를 받아서 통계를 내고, 예측을 하는 작업을 진행할 수 있음
•
3V로 확장되는 데이터
◦
Volume
▪
물리적인 크기와 개념적인 범위까지 대규모인 데이터의 양
◦
Velocity
▪
실시간으로 생성되며 유통 속도 또한 빠른 데이터
◦
Varitey
▪
기존의 구조화된 정형 데이터는 물론, 사진과 동영상 등의 비정형 데이터가 포함됨
•
빅데이터 처리 방식
◦
배치 처리(Batch Processing)
◦
실시간 처리(Real Time Processing)
▪
스트리밍 데이터의 발생과 동시에 처리한다.
◦
대화형 처리
배치 프로세싱
NOTE
데이터를 실시간으로 처리하는게 아닌, 일괄적으로 모아서 처리하는 작업을 말한다!
특정 시간에 많은 데이터를 일괄 처리, 서버 개발자들이 자주 사용!
개발 부담이 줄어듬
•
ex) 하루동안 쌓인 데이터를 배치작업을 통해 특정 시간에 한꺼번에 처리하는 경우
금요일까지 데이터를 수집한다. (노란색의 데이터를 식별하는 목적)
금요일이되면 작업 스케줄을 시작한다.
각 저장공간에 노란색이 몇개있는지 확인하는 작업을 실행한다.
•
실시간 처리가 필요하지 않으며, 약간의 지연시간을 허용할 수 있는 작업에 사용된다.
•
처리하려는 고정된 입력 데이터 집합이 있는 경우 유용하다.
•
ex) AWS Batch, Apache Spark
실시간 처리
NOTE
실시간으로 쏟아지는 데이터를 계속 처리하는 것
이벤트가 생기거나 데이터가 들어올때마다 처리한다!
Apache Kafka는 대표적인 실시간 처리 프로세싱임
메세지 브로커는 실시간성 내용에 거의 무조건 들어가는듯?
•
실시간으로 데이터를 처리하면 즉시 조치를 취하거나, 분석할 수 있는 정보를 얻을 수 있다.
•
복잡한 분석은 수행할 수 없다
◦
다른 시간대에 발생한 데이터와 합쳐서 분석할 수 없음
◦
최신 데이터만 사용가능
람다 아키텍쳐
NOTE
실시간 분석을 지원하는 빅데이터 아키텍쳐
대량의 데이터를 실시간으로 분석하기 어려워 batch로 만든 데이터와 실시간 데이터를 혼합해서 사용한다!
•
배치 레이어
◦
데이터를 처리하는 단위(unit)로 데이터가 입력되면 해당 단위로 데이터를 처리한다.
•
스피드 레이어
◦
배치 레이어악 특정단위 작업 이후에 들어오는 실시간 데이터를 처리하고 응답시간을 빠르게 유지하는 역할
•
서빙 레이어
◦
배치레이어와 스피드레이어를 통해 처리된 배치 뷰와 실시간 뷰를 병합하여 사용자에게 결과값을 제공한다.