Hadoop 최종 가이드 – 1장 Hadoop에 대해 알아보기

Hadoop The Definitive Guide는 Hadoop을 실행/사용하는 경우 반드시 읽어야 하는 성경과 같은 책입니다.

http://www.yes24.com/Product/Goods/36151445

하둡 완전 가이드 – YES24

★ Hadoop 최고의 성경 개정판 제4판 출시!
이 책은 Hadoop 프로젝트의 커미터이자 핵심 설계자인 Tom White가 저술했으며 Hadoop 설립자 Doug Cutting을 비롯한 프로젝트별 전문가가 저술했습니다.

www.yes24.com

1장부터 24장까지 필요한 부분을 정리해서 읽을 생각이고 3개월을 목표로 하고 있습니다.

이 책을 읽는 목적은 데이터 관련 백엔드를 개발하면서 빅데이터를 자연스럽게 활용하는 데 있는데, 이때 널리 쓰이는 하둡 플랫폼을 공부하면 좋겠다는 생각이 들기 시작했다.
스터디를 하다보면 다른 사람들은 어떻게 받아들였는지, 같이 나온 부분들을 정리해서 어떤 부분이 더 공부가 필요한지 알게 될 것 같아요.


1장 – Hadoop 만나기

데이터 저장 및 분석

하드 드라이브 용량시간이 지남에 따라 엄청난 증가하지만 데이터 읽기 속도게다가 도달하지

1990년대에 일반적인 하드디스크는 1,370MB를 저장하고 초당 4.4MB의 전송률을 가지고 있었으므로 약 5분(1,370/4.4초)이 걸렸습니다.
약 2시간 30분 이상이 걸립니다.
디스크 속도의 증가에 비해 전송 속도의 증가는 약 1/50입니다.

단일 디스크에서 데이터를 읽는 이 문제는 많은 시간이 걸립니다.
동시에 여러 하드 드라이브에서 데이터를 읽어 해결가능하다

이와 같이 여러 디스크를 병렬로 쓰거나 읽을 때 고려해야 할 몇 가지 사항이 있습니다.

  1. 하드웨어 오류
    많은 하드웨어 사용 → 고장 확률 증가로 이어집니다.
    데이터 손실로 이어질 수 있는 이 문제를 방지하기 위해 데이터를 여러 위치에 복제하는 방법이 있습니다.
    하드웨어 백업을 위한 대중적인 RAID(RAID)Redundant Arrays of Inexpensive Disks) 기술이지만 Hadoop의 파일 시스템인 HDFS는 다른 방법을 사용합니다.
    하다.
  2. 분할된 데이터 결합
    여러 소스의 데이터를 병합하고 일관성을 보장하는 기능 제공(데이터 간에 모순이 없음을 확인하는 속성) 맵리듀스 사용맵리듀스는 디스크에서 데이터를 읽고 쓰는 문제를 키-값 쌍 계산으로 바꾸는 추상 프로그래밍 모델입니다.
    오전.

요약하다 Hadoop은 안정적이고 확장성이 뛰어난 스토리지 및 분석 플랫폼을 제공합니다.
하다.

일괄 처리를 넘어

Hadoop은 MapReduce를 사용하는 배치 처리 시스템으로 대화형 분석에는 적합하지 않습니다.
일반적으로 요청을 처리하는 데 시간이 많이 걸리므로 오프라인 사용에 적합하다고 볼 수 있습니다.
첫 번째 하둡HDFS와 MapReduce를 결합하여 일괄 처리를 위한 시스템으로 만들어졌지만 현재 수많은 생태계 프로젝트의 용어로 사용됨그럴 것이다.

  • HBase – 온라인 액세스를 지원하고 키-값 저장소로 사용되는 시스템입니다.
  • YARN – Hadoop 클러스터에 저장된 데이터를 처리할 수 있는 클러스터 리소스 관리 시스템입니다.
  • Impala, Hive – 대화형 SQL 제공
  • Spark – 반복 처리에 유용한 데이터 처리 프레임워크
  • Stom, Spark Streaming, Samza – 스트림 처리
  • Solr – 검색

많은 생태계를 함께 사용하여 일괄 처리를 넘어 다양한 처리 패턴을 수행할 수 있습니다.

다른 시스템과의 비교

관계형 데이터베이스 관리 시스템

내가 말했듯이 Hadoop은 여러 디스크를 사용하여 무거운 처리를 수행합니다.

그럼 하둡 없이 기존 데이터베이스에서 광범위한 다중 디스크 분석을 수행하는 것이 불가능한 이유는 무엇입니까?

위 질문에 대한 답은 검색 시간은 전송 속도보다 느리게 진행됩니다.
그건. Seek는 데이터를 읽거나 쓸 때 디스크 헤더를 디스크의 특정 위치로 이동시키는 작업이며 전송 속도는 디스크 대역폭에 따라 다릅니다.

관계형 데이터베이스는 대부분의 작업에 몇 개의 레코드 변경이 포함되기 때문에 순회에 기존 B-트리를 사용합니다.
B-트리의 경우 중요한 변경 사항이 있을 때 데이터베이스를 재구성하기 위해 정렬/병합을 사용해야 하므로 MapReduce보다 효율성이 떨어집니다.

관계형 데이터베이스는 낮은 대기 시간으로 상대적으로 적은 양의 데이터를 추출하고 수정하기 위해 데이터 세트를 인덱싱하기 때문에 특정 쿼리 및 데이터 수정에 적합하고 MapReduce는 전체 데이터 세트의 분석이 필요한 문제에 적합합니다.

아래는 전통적인 관계형 데이터베이스와 MapReduce를 비교한 표입니다.

전통적인 RDBMS 지도 축소
데이터 크기 기가바이트 페타바이트
접근하다 대화형 및 일괄 처리 일괄 처리
변화 여러 번 읽고 쓰기 한 번 쓰고 여러 번 읽기
거래 존재하지 않는다
구조 쓰기 기준 체계 기준 체계 읽기
진실성 비천
확장성 비선형 선의