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입니다.
단일 디스크에서 데이터를 읽는 이 문제는 많은 시간이 걸립니다.
동시에 여러 하드 드라이브에서 데이터를 읽어 해결가능하다
이와 같이 여러 디스크를 병렬로 쓰거나 읽을 때 고려해야 할 몇 가지 사항이 있습니다.
- 하드웨어 오류
많은 하드웨어 사용 → 고장 확률 증가로 이어집니다.
데이터 손실로 이어질 수 있는 이 문제를 방지하기 위해 데이터를 여러 위치에 복제하는 방법이 있습니다.
하드웨어 백업을 위한 대중적인 RAID(RAID)Redundant Arrays of Inexpensive Disks) 기술이지만 Hadoop의 파일 시스템인 HDFS는 다른 방법을 사용합니다.
하다. - 분할된 데이터 결합
여러 소스의 데이터를 병합하고 일관성을 보장하는 기능 제공(데이터 간에 모순이 없음을 확인하는 속성) 맵리듀스 사용맵리듀스는 디스크에서 데이터를 읽고 쓰는 문제를 키-값 쌍 계산으로 바꾸는 추상 프로그래밍 모델입니다.
오전.
요약하다 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 | 지도 축소 | |
데이터 크기 | 기가바이트 | 페타바이트 |
접근하다 | 대화형 및 일괄 처리 | 일괄 처리 |
변화 | 여러 번 읽고 쓰기 | 한 번 쓰고 여러 번 읽기 |
거래 | 산 | 존재하지 않는다 |
구조 | 쓰기 기준 체계 | 기준 체계 읽기 |
진실성 | 키 | 비천 |
확장성 | 비선형 | 선의 |