• zookeeper

    1. 서버에 서비스 분배, 효율적 병렬처리
    2. 서버간 데이터 동기화 (데이터 파편화 방지)
    3. 운영서버 문제 발생시 다른 운영서버로 전환해 서비스 연속성 유지
    4. 분산환경 구성하는 서버의 환경설정 통합적으로 관리
  • Oozie

    • 하둡 작업 관리하는 워크플로우 & 코디네이터 시스템
    • 자바 서블릿 컨테이너에서 실행되는, 자바 웹 어플리에키션 서버
    • 맵리듀스 작업 혹은 피그 작업 같은, 특화된 액션으로 구성된 워크플로우를 제어
  • HBase

    • HDFS 기반의 컬럼 기반 데이터베이스
    • 구글의 빅테이블(BigTable) 논문 기반으로 개발
    • 실시간 랜덤 조회 및 업데이트가 가능
      • 각 프로세스는 개인의 데이터를 비동기적으로 업데이트 가능
      • 단, 맵리듀스는 일괄 처리 방식으로 수행
    • 트위터, 야후, 어도비 같은 해외 업체에서 사용하고 있으며, 국내에서는 2012년 네이버가 모바일 메신저인 라인에 HBase를 적용한 시스템 아키텍쳐 발표
  • Pig

    • 야후에서 개발됐으나 현재는 아파치 프로젝트 소속 프로젝트
    • 복잡한 맵리듀스 프로그래밍을 대체할 피그 라틴 (Pig Latin) 이라는 자체 언어 제공
    • 맵리듀스 API를 매우 단순화한 형태이고, SQL 과 유사한 형태로 설계
      • SQL과 유사하기만 할 뿐, 기존 SQL 지식 활용은 어려움
  • Hive

    • 하둡 기반의 데이터 웨어하우징용 솔루션
    • 페이스북에서 개발했으며, 오픈소스로 공개되며 주목받은 기술
    • SQL 과 매우 유사한 HiveQL 이라는 쿼리 언어 제공
      • 자바를 모르는 데이터 분석가들도 쉽게 하둡 데이터를 분석할 수 있게 도와줌
    • HiveQL은 내부적으로 맵리듀스 잡으로 변환되어 실행
  • Mahout

    • 하둡 기반으로 데이터 마이닝 알고리즘을 구현한 오픈소스 프로젝트
    • 현재 다양한 분석용 주요 알고리즘 지원
      • 분류 (Classification)
      • 클러스터링 (Clustering)
      • 추천 및 협업 필터링 (Recommenders / Collaborative Filtering)
      • 패턴 마이닝 (Pattern Mining)
      • 회귀분석 (Regression)
      • 차원축소 (Dimension Reduction)
      • 진화 알고리즘 (Evolutionary Algorithms)
    • Mahout 을 그대로 사용할 수도 있지만, 보통 비즈니스 환경에 최적화해서 사용
  • HCatalog

    • 하둡으로 생성한 데이터를 위한 테이블 및 스토리지 관리 서비스
    • HCatalog의 가장 큰 장점은, 하둡 에코시스템 간의 상호운용성 향상
      • ex) HCatalog 이용시 Hive 에서 생성한 테이블이나 데이터 모델을, Pig 나 맵리듀스에서 손쉽게 이용 가능
      • 이전에도 에코시스템 간의 데이터 모델 공유가 불가능한 것은 아니었으나, 상당한 백엔드 작업이 필요
    • 현재는 하이브의 서브 프로젝트로 통합된 상태
  • Avro

    • RPC (Remote Procedure Call) 와 데이터 직렬화를 지원하는 프레임워크
    • json 을 이용해, 데이터 형식과 프로토콜을 정의하며, 작고 빠른 바이너리 포맷으로 데이터를 직렬화
  • Chukwa

    • 분산 환경에서 생성되는 데이터를 HDFS 에 안정적으로 저장하는 플랫폼
    • 분산된 각 서버에서 에이전트 (agent) 를 실행하고, 콜렉터 (collector) 가 에이전트로부터 데이터를 받아 HDFS 에 저장
      • 컬렉터는 100개의 에이전트 당 하나씩 구동
      • 데이터 중복 작업 등은 맵리듀스로 처리
    • 야후에서 개발, 아파치 오픈소스 프로젝트로 공개
  • Flume

    • Chukwa 처럼 분산된 서버에 에이전트가 설치되고, 에이전트로부터 데이터를 전달받는 컬렉터로 구성
    • 차이점은 전체 데이터의 흐름을 관리하는 마스터 서버의 존재
      • 마스터 서버의 존재로 인해 데이터를 어디서 수집하고, 어떤 방식으로 전송하고, 어디에 저장할지를 동적으로 변경 가능
    • 클라우데라에서 개발, 아파치 오픈소스 프로젝트로 공개
  • Scribe

    • 페이스북에서 개발한 데이터 수집 플랫폼
    • Chukwa 와는 다르게 데이터를 중앙 집중 서버로 전송하는 방식
    • 최종 데이터는 HDFS 외에 다양한 저장소를 활용 가능
      • 설치와 구성이 쉽도록, 다양한 프로그램 언어를 지원
    • HDFS 에 저장하기 위해서는 JNI (JAVA Native Interface) 를 이용해야 함
  • Scoop

    • 대용량 데이터 전송 솔루션
    • 2012/04 에 아파치 최상위 프로젝트로 승격
    • Sqoop 은 HDFS, RDBMS, DW, NoSQL 등 다양한 저장소에 대용량 데이터를 신속하게 저장하는 방법을 제공
    • 오라클, MS-SQL, DB2 등과 같은 상용 RDBMS 와 MySQL, PostgreSQL 과 같은 오픈소스 RDBMS 등을 지원
  • Hiho

    • Sqoop 과 같은 대용량 데이터 전송 솔루션
    • 현재 Github에 공개
    • 하둡에서 데이터를 가져오기 위한 SQL 을 지정할 수 있으며, JDBC 인터페이스를 지원
    • 현재는 오라클과 MySQL 의 데이터 전송만 지원
  • Spark

    • 인메모리 기반의 데이터 처리 프레임워크
    • 머신러닝과 대화형 질의에서 활용도 높음
    • HDFS, HBase, Cassandra (NoSQL 의 일종) 와 호환
    • SQL 처리, 스트리밍 데이터 처리에도 활용 가능
  • Impala

    • 클라우데라에서 개발한 하둡 기반의 실시간 SQL 질의 시스템
    • 맵리듀스를 사용하지 않고, 자체 개발한 엔진을 사용해 빠른 성능을 보임
    • 임팔라 (Impala) 는 데이터 조회를 위한 인터페이스로 HiveQL 을 사용
    • 수초 내에 SQL 질의 결과를 확인할 수 있으며, HBase 와도 연동 가능
  • Tajo

    • 고려대학교 박사 과정 학생들이 주도해서 개발한 하둡 기반의 DW 시스템
    • 2013년 아파치 재단의 인큐베이션 프로젝트로 선정
      • 2014/04 최상위 프로젝트로 승격
    • 데이터 저장소는 HDFS 를 사용하되, 표준 데이터베이스 질의 언어인 SQL 을 통해 실시간으로 데이터 조회 가능
    • Hive 보다 1.5~10배 빠르며, 클라우데라의 ImpalA 와는 비슷한 속