4장
현재의 데이터 처리 기술은 저장된 방대한 양의 데이터를 사용자가 원하는 부분에 맞춰 원하는 시간에 처리하는 데 초점을 맞춘다.
Hadoop(하둡)
하둡은 여러 컴퓨터로 구성된 클러스터를 이용하여 방대한 양의 데이터를 처리하는 분산 처리 프레임워크이다.
하둡은 기본적으로 맵리듀스의 분산 처리 구조를 사용한다. 맵리듀스는 하나의 큰 데이터를 여러 개의 조각으로 나누어 처리하는 맵 단계와 처리된 결과를 하나로 모아서 취합한 후 결과를 도출해 내는 리듀스 단계로 구성되어 있다.
하둡은 맵리듀스 모듈과 HDFS 두 가지로 구성되어 있다.
Pig(피그)
피그는 고수준 언어로 데이터 분석을 프로그래밍할 수 있는 방대한 양의 데이터 분석 플랫폼이다.
피그의 언어 계층은 텍스트 기반의 언어인 피그 라틴이다.
Hive(하이브)
하이브는 하둡 기반의 데이터웨어하우스 인프라로, 관계형 데이터베이스에 익숙한 개발자에게 훌륭한 인터페이스를 제공한다.
하이브는 SQL과 같이 선언적으로 데이터를 처리한다.
HiveQL 질의 언어를 이용하여 분석한다.
Cascading (캐스캐이딩)
캐스캐이딩은 하둡용 오픈 소스 소프트웨어 추상화 계층이다.
JVM(자바 가상 머신)기반의 언어 활용
장점은 다른 추상화 계층 기술인 피그, 하이브 등과 같이 맵리듀스 작업의 복잡성을 숨겨 준다.
Cascalog(캐스칼로그)
아차피 피그, 하이브, 캐스캐이딩 등을 대체할 수 있는 툴이다.
캐스칼로그는 SQL보다 훨씬 높은 수준의 사용자 추상화를 제공할 수 있으며, 이것으로 작성한 코드는 하둡에서 처리할 수 있게 연동하여 구성할 수 있다.
Mrjob(미스터잡)
맵리듀스 모듈을 개발하기 쉽게 도와주는 도구나 하둡을 쉡게 구동하고, 구동한 후 생성한 코드들을 쉽게 추가할 수 있는 기능을 함께 제공한다.
각 단계에 디버거를 실행하여 실제 코드가 내부에서 어떻게 동작하는지 파악할 수 있다.
S4
S4는 야후에서 공개한 오픈 소스 기반의 분산 스트림 처리 시스템이다.
사용자 수백만 명에게서 초당 수천 건의 질의 요청을 받는 웹 검색 엔진에 사용자의 검색 요구를 실시간으로 분석하는 다양한 분석 알고리즘을 쉽게 배치하고 운영할 수 있으며, 실제 현장에서 활용할 수 있도록 확장성을 제공한다.
MapR(맵알)
맵알은 아파치 하둡의 배포판 공급 업체인 맵알 테크놀로지에서 높은 신뢰성을 요구하는 기업에 제공하는 상업용 하둡이다.
Acunu(아큐누)
아큐누는 하둡보다는 카산드라를 대체하려고 개발했다.
Azkaban(아즈카반)
링크드인의 오픈 소스 프로젝트인 아즈카반은 각 서비스가 여러 개의 연산들을 통합하여 비즈니스 로직으로 실행하며, 이것으로 사용자가 원한느 워크플로우를 정의할 수 있도록 개발한 배치 스케줄러이다.
Oozie(우지)
우지는 아즈카반과 함께 하둡 기반의 워크플로우 제어 시스템이다.
Greenplum(그린플럼)
그린플럼은 Shared-Nothing MPP구조의 데이터베이스이며, 포스트그레스큐엘을 기반으로 만들었다.
표준 SQL 인터페이스를 활용할 수 있고, 다수의 시스템에 데이터를 복제하는 RAID 기술을 활용하여 데이터 손실도 최소화한다.
EC2
아마존 EC2는 클라우드에서 컴퓨팅의 규모를 자유롭게 변경할 수 있는 웹 서비스이다.
개발자가 웹 스케일 컴퓨팅을 쉽게 사용할 수 있도록 설계했으며, 간단한 인터페이스로 필요한 저장 공간을 간편하게 얻고 구성할 수 있다.
Heroku(히로쿠)
히로쿠는 다양한 프로그래밍 언어를 지원하는 클라우드 개발 도구 중 하나로, 구글 앱 엔진과 비슷한 형태로 서비스한다.
처음에는 루비 언어만 지원하다 나중에는 자바, 노드.제이에스, 스칼라, 파이썬 등도 지원했다.
히로쿠를 사용하면 사용자가 서버 관리를 신경 쓰지 않고 응용 프로그램 개발과 관리에만 집중할 수 있다.
R 프로그래밍 언어
R 프로그래밍 언어는 통계적으로 계산하고 그래픽을 처리하는 프로그래밍 언어이자 소프트웨어 환경이다.
데이터 분석 결과를 시각화할 수 있는 것으로, 수학 기호가 정확히 표시되는 출판물 수준의 고화질 그래프를 제공한다.
Pipes(파이프)
파이프는 야후가 제공하는 웹 응용 프로그램으로, 데이터 파이프라인을 생성한다.
파이프로 방대한 양의 데이터를 처리하기는 어려우나, 전문가용의 무료 응용 프로그램으로 다수의 소규모 프로세스를 연결시킬 수는 있다.
Mechanical Turk(미케니컬 터크)
아마존에서 만든 미케니컬 터크는 컴퓨터가 수행할 수 없는 임무를 수행하게 하려고 프로그래머가 사람의 인지 능력을 사용하는 것을 도와주는 크라우드 소실 인터넷 마켓 플레이스이다.
정보 검색, 컴퓨터 비전, 기계 번역 등 인공지능 분야에서는 결국 사람이 무엇이 옳은지 판단해야 할 때가 많다.
Solr/Lucene(솔라/루씬)
아차피 루씬 기반의 기업 검색 플랫폼인 솔라는 자바로 작성되었으며, 아파치 톰캣과 같은 서블릿 내에 있는 독립적인 전체-텍스트 검색 서버로 작동한다.
루씬과 통합되어 현재는 솔라/루씬 프로젝트로 명칭이 바뀌었다.
솔라는 파일을 인덱스하는 검색 엔진 이상으로, XML 요청을 HTTP로 보내는 웹 서비스 API가 있는 검색 서버이다.
ElasticSearch(엘라스틱서치)
자바 기반
엘라스틱서치는 아파치 루씬 기반의 분산 형태인 오픈 소스 검색 엔진 서비스이다.
기업을 대상으로 하는 솔라와는 달리 웹 서비스를 이용하는 일반 사용자에게 적합한 서비스를 제공한다.
Datameer(데이터미어)
방대한 양의 데이터를 처리하는 하둡 기반 비즈니스 지능형 마켓을 목표로 설계한 데이터미어는 단순한 프로그래밍 환경을 제공한다.
데이터미어는 일단 사용자가 분석하려는 타입을 명세화한 후 맵리듀스 작업으로 변환시킨다.
InfoSphere Bihlnsights(인포스피어 빅인사이트)
IBM의 인프스피어 빅인사이트는 인터넷에서 정형화된 데이터 및 비정화된 데이터를 관리하고 분석하는 IBM의 다목적 솔루션이다.
INfoSphere Streams(인포스피어 스트림즈)
IBM의 인포스피어 스트림즈는 짧은 시간 안에 방대한 양의 스트리밍 데이터를 직속적으로 분석할 수 있는 IBM의 또 다른 솔류선이다.
인포스피어는 스트림즈는 다양한 정형화 데이터 및 비정형화 데이터 유형을 모두 지원하는 강력한 확장성과 빠른 속도의 인프라를 제공한다.
알아보기
PostgreSQL(포스트그레스큐엘)
다른 관계형 데이터베이스 시스템과 달리, 연산자, 복합 자료형, 집계 합수, 자료형 변환자, 확장 기능 등 다양한 데이터베이스 객체를 사용자가 임의로 만들 수 있는 기능을 SQL 차원에서 제공한다.
이런 특징은 단순한 자료 저장소로써의 기능을 넘어 마치 하나의 새로운 프로그래밍 언어처럼 개발자의 창의성에 따라 무한한 기능을 손쉽게 구현할 수 있도록 한다.
Ruby(루비)
루비는 마츠모토 유키히로가 개발한 동적 객체 지향 스크립트 프로그래밍 언어이다.
루비는 순구 객체 지향 언어라, 정수나 문자열 등을 포함한 데이터 형식 등 모든 것이 객체이다.
첫댓글 새로운 용어들 잘 정리해서 오랫동안 기억할 수 있게 하세요~~