티스토리 뷰

728x90

 

데이터 저장소와 분석

하드 디스크의 용량은 크게 증가했지만 데이터 IO 속도는 그렇지 못했다.
하지만 같은 양의 데이터를 100개로 나눠서 저장하고 공유하여 병렬로 작업한다면 IO 속도를 줄일 수 있다.
이때 고려해야 할 문제들이 있다.

1. 하드웨어 장애
하드웨어를 많이 사용할수록 장애 발생 확률도 높아진다.
데이터 손실을 방지하기 위해 복제본을 만들어 여러 곳에 보관할 수 있다.

2. 분산된 데이터 병합
데이터 분석을 위해 100개로 나눠서 저장한 데이터를 병합해야 한다.
맵리듀스는 데이터 IO를 key-value 쌍의 계산으로 변환한 추상화된 프로그래밍 모델을 제공한다.

 

하둡의 처리 패턴

하둡 에코시스템은 분산 컴퓨팅과 대규모 데이터 처리를 위한 기반 시설이다.
최초의 하둡은 일괄 처리를 위해 만들어졌으나 시간이 흐르며 다양한 처리 패턴이 생겨났다.

  • 일괄 처리 - 맵리듀스는 한 번의 쿼리로 전체 데이터셋을 처리할 수 있는 일괄 질의 처리기이다.
  • 반복 처리 - Spark는 메모리에 저장된 임시 데이터셋을 탐색하여 작업을 수행할 수 있으므로 매번 디스크 IO를 수행하지 않아도 된다.
  • 스트림 처리 - 스트리밍 시스템(Storm, Spark Streaming, Samza 등)은 실시간으로 실행되고 경계가 없는 스트림 데이터를 분산 계산하여 그 결과를 하둡 저장소나 외부 시스템에 전송한다.
  • 대화형 SQL - 장기 실행 전용 데몬 (Impala) 또는 컨테이너를 재사용하는 분산 쿼리 엔진(Tez based Hive)을 사용한다.
  • 검색 - 검색 플랫폼인 Solr는 하둡 클러스터에서 실행되어 HDFS에 문서를 인덱싱하여 저장하고 검색 쿼리를 제공한다.

 

RDBMS vs 맵리듀스

  RDBMS 맵리듀스
데이터 크기 GB PB
데이터 유형 정형 정형, 반정형, 비정형
접근 방식 대화형, 일괄 처리 일괄 처리
IO 여러 번 읽고 쓰기 한 번 쓰고 여러 번 읽기
트랜잭션 ACID -
구조 쓰기 기준 스키마 읽기 기준 스키마
무결성 높음 낮음
확장성 비선형 선형

 

728x90
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
공지사항
링크
Total
Today
Yesterday