3장. 빅데이터의 분산처리
3-1. 대규모 분산 처리의 프레임워크
구조화 데이터와 비구조화 데이터
- 구조화된 데이터 : 스키마가 명확하게 정의된 데이터 (ex. 테이블)
- 비구조화 데이터 : 스키마가 없는 데이터
> 스키마리스 데이터
기본 서식은 있지만, 스키마 정의 안 됨.
> 데이터 구조화의 파이프라인
테이블 형식으로 열 지향 스토리지 장기 보존
구조화 데이터 중 시간에 따라 증가하는 데이터 -> 팩트 테이블
> 열 지향 스토리지의 작성
분산 스토리지 상에 작성해 효율적으로 데이터를 집계
- MPP 데이터베이스
- Hadoop : 직접 열 지향 스토리지 형식, 쿼리 엔진 선택
비구조화 데이터 -> 열 지향 스토리지 : 많은 리소스 소비
그래서
Hadoop, Spark 등 분산 처리 프레임워크 필요
Hadoop
분산 데이터 처리의 공통 플랫폼
: 분산 시스템을 구성하는 다수의 소프트웨어로 이루어진 집합체
> 분산 시스템의 구성 요소
< Hadoop의 기본 구성 요소 >
- 분산 파일 시스템: HDFS
- 리소스 관리자: YARN
- 분산 데이터 처리: MapReduce
분산 시스템은 Hadoop 일부만 사용하거나 혹은 전혀 이용하지 않는 구성도 있다.
> 분산 파일 시스템과 리소스 관리자
- HDFS: 분산 시스템의 스토리지를 관리하여 데이터가 항상 여러 컴퓨터에 복사되도록 한다.
- YARN: CPU와 메모리를 관리하고 여유가 있는 컴퓨터에서 프로그램을 실행한다.
> 분산 데이터 처리 및 쿼리 엔진
MapReduce는 원래 대량의 데이터를 처리하기 위한 시스템이다.
따라서, 오버헤드가 너무 크기 때문에 몇 초 안에 끝나는 쿼리 실행에 부적합하다.
> 대화형 쿼리 엔진
Impala와 Presto
처음부터 대화형의 쿼리 실행만 전문으로 하는 쿼리 엔진
Spark
인 메모리 형의 고속 데이터 처리
특징
- 대량의 메모리르 활용하여 고속화 실현
- 과거) 메모리 양 적음 -> MapReduce는 처리 대부분을 디스크 읽고 쓰기에 사용
- 현재) 메모리 양 증가 -> 가능한 한 많은 데이터를 메모리상에 올린 상태로 두어 디스크에 아무것도 기록하지 않는다.
> MapReduce 대체
Spark 입지
- Spark에서 Hadoop의 HDFS, YARN 등 그대로 사용
- Hadoop 사용하지 않고 Amazon S3를 이용하거나 카산드라 가능
SQL 쿼리를 실행하기 위한 'Spark SQL'과 스트림 처리를 수행하기 위한 'Spark Streaming' 이라는 기능이 처음부터 포함.
출처: 니시다 케이스케, 「빅데이터를 지탱하는 기술」, 제이펍, 2018, p89~100
반응형
'기타 > [책] 빅데이터를 지탱하는 기술' 카테고리의 다른 글
[독서] 데이터 마트, 빅데이터를 지탱하는 기술 (0) | 2022.04.11 |
---|---|
[독서] 시각화 도구, 빅데이터를 지탱하는 기술 (0) | 2022.03.11 |
[독서] 데이터 집계 고속화, 빅데이터를 지탱하는 기술 (0) | 2022.03.05 |
[독서] 크로스 집계, 빅데이터를 지탱하는 기술 (0) | 2022.03.03 |
댓글