하둡과의 만남

Q·2022년 11월 28일
0

Hadoop 완벽 가이드

목록 보기
1/13

하둡과의 만남

1.데이터

  • Big Data의 출현
    • 뉴욕증권 거래서 하루 1테라
    • 페이스북 대략 10억개의 사진, 1페타비이트의 저장소
    • 인터넷 보관소(The Internet Archive)는 대략 2페타바이트의 데이터를 저장, 매달 20테라 바이트 증가..
  • 좋은 소식은 Big Data는 우리 주변에 널려 있다는 것이고, 나쁜 소식은 그것을 저장하고 분석하기 위한 고군 분투가 예상된다.

2. 데이터 저장소와 분석

  • 하드 드라이브의 저장 용량은 수년 동안 엄청나게 증가했지만 엑세스 속도는 그에 미치지 못한다.
  • 1테라 바이트를 약 100MB/S 로 전송한다면 2시간 반 이상 걸린다.
  • 100개의 드라이브가 있고, 각 드라이브는 100/1씩 저장하고 병렬로 동작한다면 2분내에 데이터를 읽을 수 있다
  • 여러 디스크들을 병렬로 읽고 쓴다면 문제가 개선될 꺼 같은데 여러가지를 고려해야 한다.
    1. 하드웨어 장애
    • 많은 하드웨어를 사용할수록 하드웨어에 장애가 생길 확률이 높아지는 진다.
    • 일반적으로는 하드웨어 장애를 극복하기 위해 데이터를 복제해 둔다. (RAID)
    • HDFS는 좀 다른 방식으로 해결한다
    1. 데이터 결합 (combining)
    • 분할된 데이터를 어떤식으로든 결합할 필요가 있다.
    • 다중 병합의 정합성은 악명 높은 도전과제 이다.
    • 맵리듀스는 디스크에 읽고 쓰는 문제를 추상화해서 키와 값에 대한 계산으로 변환시키는 프로그램 모델을 제공한다.
    • 맵과 리듀스라는 두 종류의 계산 부분이 존재하고, 그 과정에서 병합이라는 인터페이스가 제공된다.
  • 하둡은 안정적인 공유 저장소와(HDFS) 분석시스템(맵리듀스)을 제공한다.

3. 다른 시스템과의 비교

RDBMS

  • 대규모 일괄 분석을 위하여 다수 디스크와 데이터베이스를 함께 사용할 수 없을가? 맵리듀스는 왜 필요할까?
    • 이 질문에 대한 답변은 디스크 드라이브의 탐색시간이 전송속도 보다 더디게 향상되고 있다.
  • 데이터베이스에서는 작은 일부만 업데이트 할 때는 B-Tree가 더 적합하다
    • 데이터베이스의 많은 부분을 업데이트 할 때 B-Tree는 재구축을 위해 Sort/Merge를 사용하기 때문에 맴리듀스보다 효율적이지 못하다
  • 데이터베이스는 정해진 형태가 있는 엔티티로 구성되어있어 구조화된 데이터를 처리한다.
    • 맵리듀스는 비구조화 반구조화된 데이터에서 잘 작동한다
    • 즉 입력 키값이 데이터의 고유속성이 아니라 분석하고자 하는 사람에 의해 선택적이다.
  • 데이터베이스는 무결성 유지와 중복제거를 위해 정규화 된다.
    • 맵리듀스는 웹서버 로그와 같이 정규화되지 않은 모든 종류의 로그파일 분석에 아주 적합하다.
  • 맵리듀스는 선형적으로 확장 할 수 있는 프로그래밍 모델이다.

그리드 컴퓨팅

  • HPC(고성능 컴퓨팅)은 SAN으로 연결되어 공유 파일시스템에 엑세스하는 기계장치들의 클러스터로 작업을 분산한다
    • 이것은 상당히 계산 중심의 작업에 적합하지만 노드들이 더 큰 데이터 용량을 엑세스 할 때는 네트워크 대역폭에 병목현상이 발생한다.
    • 이 때 계산을 수행할 노드들이 빈둥빈둥 노는 문제가 생긴다.
  • 맴리듀스는 계산 노드에 데이터를 함께 배치한다.
    • 따라서 로컬에 있기 때문에 엑세스가 빠를 수밖에 없다.
    • 데이터 지역성 이라고 알려진 이러한 특성은 맵리듀스의 핵심이고, 좋은 성능을 낼 수 있는 이유이다.

자발적 컴퓨팅

  • 사람들은 처음 맵리듀스가 SETI@home(외계지적생명체 탐사프로젝트)와 비슷하다고 생각함
  • 그 외에도 인터넷 메르센 소스찾기 프로젝트와 Folding@home(단백질 접힘과 질병과의 관계를 위해하기 위한) 프로젝트가 있음
  • SETI@home는 표면적으로 맵리듀스와 비스해 보이지만 상단한 차이가 있다.
    • 상당히 CPU중심적이다
    • 분석을 위해 몇 시간 또는 며칠이 걸린다.
    • 작업 단위를 전송하는 시간이 계산을 수행하는 시간보다 작아서 전세계의 수십만개의 컴퓨터 위에서 실행하기 적합하게 만들어졌다.
    • 자발작인 자원자들은 대역폭이 아니라 CPU 사이클을 기중하는 것이다.
  • 맵리듀스는 초고속 네트워크로 연결된 단일 데이터 센터에서 몇 분에서 몇 시간 정도가 걸리는 작업들을 신뢰할 수 있는 전용 하드웨어에서 수행하도록 설계되었다.

하둡의 역사

  • Apache Lucene의 창시자인 더그커팅에 의해 시작됨
  • 오픈소스 웹 검색엔진인 Apache Nutch에서 탄생하였고 Lucene프로젝트의 일부였음 2002년에 시작됨
  • 2003년 구글 GFS에서 아이디어를 얻음
  • 2006년 더그 커팅이 야후에 합류하고 하둡 기술을 적용함
  • 2008년 기술적인 성공과 활발한 커뮤니티를 인정받아 아파치 최고수준의 프로젝트로 등록 됨 -> 야후 뿐만 아니라 다양한 회사에서 적용함
  • 하둡은 더그 커팅 아들이 노란 코끼리인형에게 지어준 이름

참고

profile
Data Engineer

0개의 댓글