터칭 데이터

빅데이터처리의 발전단계 (1) 본문

Kafka와 Spark Streaming

빅데이터처리의 발전단계 (1)

터칭 데이터 2024. 1. 22. 17:43

 

 

Contents


1. 실시간 데이터 처리 소개
2. Udemy 데이터 시스템 발전 여정 소개
3. Kafka 소개
4. Kafka 기본 프로그래밍
5. Spark Streaming 소개
6. Spark Streaming + Kafka 프로그래밍
7. 마무리

 

 

Contents


1. 구글이 데이터 분야에 끼친 영향
2. 데이터 처리의 발전 단계
3. 실시간 데이터 종류와 사용 사례
4. 실시간 데이터 처리 챌린지

 

 

 

 

 

 

 

데이터 처리의 발전 단계


빅데이터 처리가 배치 중심에서 어떻게 실시간으로 발전했는지 살펴보자

 

 

 

 

 

 

 

데이터 처리의 일반적인 단계

 

데이터 수집 (Data Collection)

 

데이터 저장 (Data Storage)

 

데이터 처리 (Data Processing)

이 과정에서 서비스 효율을 높이거나 의사결정을 더 과학적으로 하게 됨

 

 

 

 

 

 

 

 

 

 

 

 

데이터 저장 시스템의 변천

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

데이터 처리의 고도화

 

처음에는 배치로 시작

이 경우 처리할 수 있는 데이터의 양이 중요

 

서비스가 고도화되면 점점 더 실시간 처리 요구가 생기기 시작함

Realtime 처리 vs. Semi Realtime 처리
동일 데이터 소비가 필요한 케이스 증가: 다수의 데이터 소비자 등장

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

처리량(Throughput) vs. 지연시간(Latency)

 

처리량은 주어진 단위 시간 동안 처리할 수 있는 데이터의 양

클수록 처리할 수 있는 데이터의 양이 큼을 의미. 배치 시스템에서 더 중요 (예: 데이터 웨어하우스)

 

지연 시간은 데이터를 처리하는 데 걸리는 시간

작을수록 응답이 빠름을 의미. 실시간 시스템에서 더 중요함 (예: 프로덕션 DB) 

 

대역폭 (Bandwidth) = 처리량 x 지연시간

 

 

 

 

 

 

 

 

 

 

 

 

 

 

SLA (Service Level Agreement)

 

서비스 제공업체와 고객 간의 계약 또는 합의

서비스 제공업체가 제공하는 서비스 품질, 성능 및 가용성의 합의된 수준을 개괄적으로 기술
SLA는 통신, 클라우드 컴퓨팅, 등 다양한 산업에서 사용됨

 

사내 시스템들간에도 SLA를 정의하기도 함

이 경우 지연시간 (Latency)나 업타임(Uptime)등이 보통 SLA로 사용됨
    - 예를 들어 업타임이라면 99.9% = 8시간 45.6분
    - API라면 평균 응답 시간 혹은 99% 이상 0.5초 전에 응답이 되어야함 등이 예
데이터 시스템이라면 데이터의 시의성 (Freshness)도 중요한 포인트가 됨