제 6장 빅데이터 처리에 대한 개념
빅데이터 처리에 대한 개념 정리
병렬 데이터 처리
벙렬 데이터 처리는 하나의 큰 작업을 구성하는 여러 하위 작업의 동시 처리 개념이다.
분산 데이터 처리
분산 데이터 처리는 동일하게 ‘분할-정복(divide and conquer)’원리가 사용된다는 점에서 병렬 데이터 처리와 매우 연관성이 높다. 그러나 분산 데이터 처리는 물리적으로 분할되어 있는 장치들이 네트워크화되어 하나의 클러스터를 이룬 형태에서만 이루어진다.
하둡
하둡(Hadoop)은 대규모의 데이터를 저장하고 처리하기 위한 오픈소스 프레임워크로, 별도의 하드웨어 없이 범용 하드웨어로 구성이 가능하다.
작업부하 처리
빅데이터에서의 작업부하 처리는 일정시간 내에 처리되는 데이터의 양과 특성으로 정의된다.
< 두 종류의 유형>
- 일괄 형식
오프라인 처리라고도 알려져 있다. 일괄 처리는 데이터를 일괄적으로 처리함으로써 주로 지연을 야기하고 결과적으로 응답 시간을 늘리는 특성을 가지고 있다. 그룹화된 읽기/쓰기 작업들을 포함한다.
- 트랜잭션 형식
온라인 처리라고도 알려져 있다. 데이터가 지연없이 상호적으로 처리되어 응답에 소요되는 대기시간이 짧다. 적은 양의 데이터를 무작위로 읽거나 쓰는 것을 포함한다.
클러스터
클러스터링은 선형 확장성을 가지며 분산 데이터 처리를 가능하게 하는 메커니즘도 제공한다. 매우 높은 확장/축소 가능성을 가지기 때문에, 큰 데이터를 작은 데이터 세트로 분할하고 분산된 형태로 병렬적 처리하는 빅데이터 처리방식에 이상적인 환경을 제공한다. 클러스터를 이용하여 일괄방식으로 처리될수도 있고 실시간 방식으로 처리될 수도 있다.
일괄 처리 방식
- 빅데이터 처리의 대부분은 일괄방식으로 진행된다.
- 상대적으로 간단하고, 시작하기 쉬우며, 실시간 방식에 비해 상대적으로 저렴하다.
- 전략적 BI, 예측 분석과 처방 분석, ETL(추출, 변환, 적재) 수행은 보통 일괄 지향적이다.
맵리듀스를 사용한 일괄 처리
맵리듀스는 일괄 처리 프레임워크를 실행하는 데 널리 사용된다. 분산 및 병렬 컴퓨팅 모두에 기반하고 있으며, 범용 하드웨어를 클러스터 형태로 배치하고 이들을 병렬 처리하여 대량의 데이터를 다루는 데 쓰이는 일괄 처리 엔진이다.
- 입력 데이터가 어떤 특정한 데이터 모델의 형식에 따르기를 요구하지 않는다.
- 기존 데이터 처리 패러다임과 다르게 작동한다. (데이터 처리 알고리즘이 데이터를 저장하고 있던 저장노드에서 실행된다. 기존 처리방법은 처리노드로 이동시켜야하기 때문에 오버헤드 발생이 있을 수 있다.)
맵과 리듀스 작업
맵리듀스 처리 엔진의 단일 처리 수행은 맵리듀스 잡(job)으로 알려져 있다.
맵리듀스 잡은 맵(map)작업과 리듀스(reduce)작업으로 구성된다.
- 맵 작업
1. 맵 : 데이터 세트 파일이 여러 개의 작은 스플릿들로 나뉘는 맵 단계
2. 결합 : 결합단계에서는 맵 단계의 출력을 그룹화 한다.
3. 분할 : 두개 이상의 리듀서가 관련된 경우, 분할기가 매퍼 또는 결합자의 출력을 파티션으로 분할하여 리듀서 인스턴스로 만든다.
- 리듀스 작업
4. 셔플과 정렬 : 모든 분할기의 출력이 네트워크를 통해 리듀스 작업을 실행하는 노드로 복사되는 것을 셔플링이라 한다. 맵리듀스 엔진은 키-값 쌍을 기준으로 자동으로 그룹화하고 정렬하여 같은 키를 모아 정렬된 목록을 출력한다.
5. 리듀스 : 리듀스 함수(리듀서)에 지정된 사용자 정의 논리에 따라 리듀서는 입력을 추가로 요약하거나, 변경 없이 그대로 출력으로 내보낸다.
실시간 처리 방식
- 데이터가 디스크에 저장되기 전에 메모리 내에서 처리된다.
- 데이터가 연속적으로 또는 간격을 두고 도착하므로 이벤트 또는 스트림 처리라고도 한다.
- 빅데이터 처리와 관련된 기본 법칙을 속력, 일관성 및 용량(SCV) 원칙이라고 하는데 이 원칙이 실시간 처리 방식에 주로 영향을 미치는 처리에 대한 기본 제약을 규정한다.
속력 일관성 용량(SCV)
CAP 정리가 분산 데이터 저장과 관련있다면, SCV 원칙은 분산 데이터 처리와 관련이 있다.
분산 데이터 처리 시스템은 다음 세가지 요구사항 중 두가지만 지원되도록 설계될 수 있다.
- 속력 - 생성된 데이터를 얼마나 빨리 처리할 수 있는지
- 일관성 - 결과의 정확성과 정밀성을 의미
- 용량 - 처리할 수 있는 데이터의 양
속력(S) + 일관성(C) ⇒ 많은 데이터 처리는 속력을 늦추게 하여 용량(V) 처리 불가
일관성(C) + 데이터(V) ⇒ 빠른 처리를 위해서는 적은 양의 데이터를 요구하기 때문에 고속(S) 불가
고속(S) + 데이터(V) ⇒ 일관성을 감소시키는 샘플링 방법을 사용할 수 밖에 없어 일관성(C) 불가
이벤트 스트림 처리(Event Stream Processing, ESP)
단일 소스로부터 시간에 따라 정렬된 이벤트의 수신 스트림이 연속적으로 분석됨.
분석은 이벤트를 온디스크 저장장치에 저장하기 전에 메모리 내에서 진행한다.
복잡 이벤트 처리(Complex Event Processing, CEP)
서로 다른 소스에서 오는 다양한 실시간 이벤트가 패텀 및 작업 시작 탐지를 위해 동시 분석된다.
복잡성에 중점을 두어 수행 속도 저하가 될 수 있다. CEP는 ESP의 상위집합으로 간주된다.
실시간 빅데이터 처리와 SCV
SCV 원칙을 염두에 두면서 완실시간 및 근실시간 빅데이터 처리 시스템을 고려해야한다.
실시간 빅데이터 처리와 맵리듀스
맵리듀스는 일반적으로 실시간 빅데이터 처리에 적합하지 않다. 디스크에 저장된 많은 양의 데이터를 일괄적으로 처리하기 위한 것이며, 전체 데이터 집합만 처리할 수 있다.
전략 → 인메모리 저장 장치를 사용하여 맵리듀스 작업으로 구성된 대화형 쿼리에 대한 입력으로 사용되는 데이터를 저장하는 것이다. 또는 비교적 작은 데이터 세트에서 빈번한 간격
'IT > 빅데이터' 카테고리의 다른 글
[빅데이터] 인공지능 시대의 비즈니스 전략 (2부 정리) (0) | 2022.09.02 |
---|---|
[빅데이터] 인공지능 시대의 비즈니스 전략 (1부 정리) (0) | 2022.08.31 |
[빅데이터] 빅데이터 기초: 개념, 동인, 기법 (제 8장 정리) (0) | 2022.08.28 |
[빅데이터] 빅데이터 기초: 개념, 동인, 기법 (제 7장 정리) (2) | 2022.08.27 |
[빅데이터] 빅데이터 기초: 개념, 동인, 기법 (제 5장 정리) (0) | 2022.08.24 |
댓글