저장소와 분석의 문제
<aside> 💡 디스크의 용량에 비해 데이터를 읽는 속도는 그에 미치지 못했다. 단일 디스크의 데이터를 읽는 데 너무 많은 시간이 걸리고, 심지어 쓰는 것은 더 느리다. 이에 시간을 줄이기 위한 방법으로 여러 개의 디스크에서 동시에 데이터를 읽는 방식이 출현했다. 100개의 디스크에서 각 디스크 별로 100분의 1씩 데이터가 있으며 병렬적으로 작업 시 그 속도는 매우 빨라질 것이다. 디스크에 100분의 1만 활용, 사용하는 것은 물론 낭비이다. 하지만 1테라바이트의 데이터셋 100개를 디스크에 나눠 저장하고 서로 공유가 가능하다면 이야기가 달라진다. 이러한 병렬, 분산처리시스템은 사용자에게 매우 빠른 분석을 지원하고 고르게 분산되어 서로 큰 방해도 없을 것이다.
</aside>
하둡(Hadoop)이란?
대용량의 데이터를 분산처리 할 수 있는 자바 기반의 오픈 소스 프레임워크.하나의 대형 컴퓨터를 활용하여 데이터를 수집, 처리하는 대신, 하둡 서버가 설치된 다른 상용 하드웨어와 함께 클러스터링 하여 대규모의 데이터 세트를 병렬적으로 분석할 수 있다.
하둡의 특징:
- 클러스터 (Cluster): 하나의 대형 컴퓨터를 사용하여 데이터를 처리하는 대신, 적당한 성능의 범용 컴퓨터를 클러스터화 → 병렬처리
- HDFS(Hadoop Distributed FileSystem):
- 분산 파일처리시스템이란 전체 데이터셋을 여러 대의 머신에서 나누어 저장하는 방식으로 하둡에서는 HDFS라는 분산 파일처리시스템을 제공한다.
- 분산처리
- MapReduce라는 프레임워크를 활용, map함수에서 데이터 처리, reduce함수에서 원하는 결과를 추출한다.
- 분산저장
- 하둡 파일시스템(HDFS)을 이용, 파일을 적당한 블록 사이즈로 나눈 후 각 노드(각각의 컴퓨터)에 저장한다.하물며, 데이터의 유실, 부하 방지를 위해 각 블록의 복사본을 만든다.
- 장애 허용 시스템(Fault-toleran):
- 하나 이상의 컴퓨터가 고장나는 경우에도 시스템이 정상 동작하는 고장 상황에 강함.
- 선형적 확장(Scale out): 기존의 시스템의 용량이 부족하면 용량을 늘리는 것이 아닌 노드를 더 추가함으로서 용량 부족문제를 해결한다.
- 오픈 소스 기반
- 자바 기반의 프레임 워크
- RDBMS와 맵리듀스 비교:RDBMS 맵리듀스
데이터 크기 기가바이트 페타바이트 접근 방식 대화형과 일괄 처리 방식 일괄 처리 방식 변경 여러 번 읽고 쓰기 한 번 쓰고 여러 번 읽기 트랜잭션 ACID 없음 구조 쓰기 기준 스키마 읽기 기준 스키마 무결성 높음 낮음 확장성 비선형 선형
'데엔(Data-Engineering) > 하둡(Hadoop)' 카테고리의 다른 글
Failover controller란? (0) | 2023.04.09 |
---|---|
HDFS 휴지통 (1) | 2023.04.09 |
네임노드 & 데이터노드 (0) | 2023.04.08 |
Manager 전환 이슈 (0) | 2023.04.08 |
HDFS 저장 용량 확보 과정 (1) | 2023.04.08 |
댓글