Search
Duplicate
📒

아키텍쳐 & 대규모 시스템 설계] 07. 빅 데이터 아키텍쳐

상태
완료
수업
아키텍쳐 & 대규모 시스템 설계
주제
CS
4 more properties
참고

빅데이터 아키텍쳐

NOTE
기존에 존재하는 데이터 처리 응용 소프트웨어로는 처리할 수 없을 만큼 “방대한 양의 데이터”를 의미하며, 데이터로부터 가치를 추출하고 결과를 “분석하는 기술”로도 의미를 가진다!
빅데이터를 받아서 통계를 내고, 예측을 하는 작업을 진행할 수 있음
3V로 확장되는 데이터
Volume
물리적인 크기와 개념적인 범위까지 대규모인 데이터의 양
Velocity
실시간으로 생성되며 유통 속도 또한 빠른 데이터
Varitey
기존의 구조화된 정형 데이터는 물론, 사진과 동영상 등의 비정형 데이터가 포함됨
빅데이터 처리 방식
배치 처리(Batch Processing)
실시간 처리(Real Time Processing)
스트리밍 데이터의 발생과 동시에 처리한다.
대화형 처리

배치 프로세싱

NOTE
데이터를 실시간으로 처리하는게 아닌, 일괄적으로 모아서 처리하는 작업을 말한다!
특정 시간에 많은 데이터를 일괄 처리, 서버 개발자들이 자주 사용! 개발 부담이 줄어듬
ex) 하루동안 쌓인 데이터를 배치작업을 통해 특정 시간에 한꺼번에 처리하는 경우
금요일까지 데이터를 수집한다. (노란색의 데이터를 식별하는 목적)
금요일이되면 작업 스케줄을 시작한다. 각 저장공간에 노란색이 몇개있는지 확인하는 작업을 실행한다.
실시간 처리가 필요하지 않으며, 약간의 지연시간을 허용할 수 있는 작업에 사용된다.
처리하려는 고정된 입력 데이터 집합이 있는 경우 유용하다.
ex) AWS Batch, Apache Spark

실시간 처리

NOTE
실시간으로 쏟아지는 데이터를 계속 처리하는 것 이벤트가 생기거나 데이터가 들어올때마다 처리한다!
Apache Kafka는 대표적인 실시간 처리 프로세싱임
메세지 브로커는 실시간성 내용에 거의 무조건 들어가는듯?
실시간으로 데이터를 처리하면 즉시 조치를 취하거나, 분석할 수 있는 정보를 얻을 수 있다.
복잡한 분석은 수행할 수 없다
다른 시간대에 발생한 데이터와 합쳐서 분석할 수 없음
최신 데이터만 사용가능

람다 아키텍쳐

NOTE
실시간 분석을 지원하는 빅데이터 아키텍쳐 대량의 데이터를 실시간으로 분석하기 어려워 batch로 만든 데이터와 실시간 데이터를 혼합해서 사용한다!
배치 레이어
데이터를 처리하는 단위(unit)로 데이터가 입력되면 해당 단위로 데이터를 처리한다.
스피드 레이어
배치 레이어악 특정단위 작업 이후에 들어오는 실시간 데이터를 처리하고 응답시간을 빠르게 유지하는 역할
서빙 레이어
배치레이어와 스피드레이어를 통해 처리된 배치 뷰와 실시간 뷰를 병합하여 사용자에게 결과값을 제공한다.