빅데이타 기술 정리
Zookeeper
분산 코디네이트 서비스를 제공하는 시스템이다. Hadoop은 여러대의 분산된 노드에 의해 작업이 진행된다. Zookeeper 시스템은 분산된 각 노드를 관리하고 각 노드 간의 상호 조정을 가능하게 하는 서비스를 담당한다. Zookeeper 시스템 역시 여러 대의 분산 시스템으로 구성되었으며 각 노드 간의 락, 네이밍 서비스, 로드 밸런싱 작업을 수행한다.
Pig
Yahoo에서 처음 개발하였으며 복잡한 Map/Reduce 작업을 대체할 Pig Latin이란 자체 언어를 이용한다. Pig상에서 명령어를 입력하면 하부에서는 Map/Reduce 작업을 수행한다.
Hive
Facebook에서 개발하였으며 Java를 모르는 SQL 개발자를 위해 SQL문과 유사한 HiveQL을 사용하여 데이터 분석 작업을 수행한다. Pig와 마찬가지로 HiveQL을 작성하여 실행하면 Hive Driver는 Map/Reduce 코드로 변화, 실행하여 분석 작업을 수행한다.
Mahout
빅데이터 처리용 기계 학습 라이브러리이다. 주로 추천 엔진과 군집, 분류 기능을 처리한다. Mahout은 규모에 있어 시스템 한 대로 처리하기에 벅찬 빅데이터를 처리할 때 사용하는 것을 목표로 한다. Mahout은 자바 라이브러리 형태를 가진다.
HCatalog
하둡 생태계에서 Map/Reduce, Pig, Hive와 같은 상이한 서비스의 메타데이타 관리 서비스이다. HCatalog를 이용하면 서로 다른 서비스에서 데이터를 공유할 수 있다.
HDFS(Hadoop Distributed File System)
분산되어 있는 여러 서버의 로컬 디스크에 파일을 나누어 저장하고 또한 저장된 파일에 쉽게 접근하여 파일 내용을 읽어올 수 있는 시스템이다. 노드로 사용되는 서버들은 x86 리눅스 서버를 사용하며 오픈소스인 Hadoop을 이용하므로 페타바이트에 이르는 대규모의 데이타를 저렴한 비용으로 관리할 수 있다.
Map/Reduce
HDFS의 데이터를 분산 환경에서 병렬로 처리하고 가공하는 프레임워크이다. Map의 데이터 구조를 사용하며 분산된 노드 간에 데이터가 이동하는 것이 아니라 소스가 이동하여 데이터를 가공한다.
HBase
Hadoop Database의 약자이다. 빅데이터 기술에서 구조의 대표적인 NoSQL 중 하나이다. HDFS를 기반으로 하며 칼럼 기반의 데이터 베이스이다.
Avro/Thrift
다양한 언어를 지원하는 RPC(Remote Procedue Call) 서버와 데이터를 교환하며 데이터를 직렬화하는 메커니즘을 제공하는 소프트웨어 프레임워크이다. Thrift는 Facebook에서 개발한 경량 애클리케이션 서버이고 Avro는 Hadoop의 창시자인 더그 커팅이 만든 경량 애플리케이션 서버이다.