주목! 9가지 오픈소스 빅 데이터 기술
갈수록 많은 기업들이 더 많은 데이터를 축적하며 경쟁력 향상을 꾀하고 있다. 그리고 이와 같은 빅 데이터 열풍의 중심에는 오픈소스 기술이 자리 잡고 있다. 여기 독자 여러분이 주목해야 할 아홉 개의 오픈소스 빅 데이터 기술을 소개한다.
아파치 하둡
데이터 집약적 분산형 애플리케이션(data-intensive distributed application)용 오픈소스 소프트웨어 프레임워크인 아파치 하둡은 본래 당시 야후에서 일하던 더그 커팅이 작업 중인 오픈소스 웹 검색 엔진 넛치(Nutch)를 지원할 목적으로 개발한 것이다. 당시 넛치를 개발 중이던 커팅은 복수의 컴퓨터를 연결해 처리하기 위해 맵리듀스 기능과 분산 파일 시스템을 도입했고, 이로부터 하둡의 역사가 시작됐다. 하둡이라는 이름은 커팅의 아들이 가지고 놀던 장난감 코끼리에서 유래했다. 맵리듀스를 통해 하둡은 빅 데이터를 분할한 뒤 다수의 노드(node)에서 병렬로 처리한다. 현재 하둡은 빅 데이터를 구성하는 정형, 반정형, 비정형 데이터를 저장하는 가장 대중적인 테크놀로지로 사랑받고 있다. 하둡은 아파치 라이선스 2.0(Apache License 2.0) 에서 이용할 수 있다.
R
R은 오픈소스 프로그래밍 언어이자 통계적 컴퓨팅과 가상화를 지원하는 소프트웨어 환경이다. 1993년 뉴질랜드 오클랜드 대학의 로스 이하카와 로버트 젠틀맨이 개발한 R은 이후 대량의 데이터 셋을 통계적으로 분석하기 위한 툴로 큰 인기를 누리고 있다. R의 상용 버전은 레드햇이 리눅스를 지원하는 방식과 유사한 서비스와 지원 모델을 추구하는 레볼루션 애널리틱스(Revolution Analytics)로 배포되고 있다. R은 GNU 제너럴 퍼블릭 라이선스(GNU General Public license)에서 이용 가능하다.
캐스케이딩
캐스케이딩(Cascading)은 하둡용 오픈소스 소프트웨어 추상화 계층(abstraction layer)으로, 사용자들이 JVM 기반 언어를 활용해 하둡 클러스터에서 데이터 프로세싱 워크플로(data processing workflow)를 제작, 실행할 수 있도록 지원한다. 캐스케이딩의 장점은 맵리듀스 작업 근간의 복잡성을 숨겨준다는데 있다. 캐스케이딩의 개발자 크리스 웬슬은 이를 맵리듀스의 대안 API라 소개한다. 이는 광고 타겟팅(ad targeting)이나 로그 파일(log file) 분석, 생물정보학, 기기 학습, 예측적 애널리틱스, 웹 컨텐츠 마이닝(Web contents mining), ETL 애플리케이션 등에 주로 사용된다. 캐스케이딩의 상용 버전은 캐스케이딩의 개발자 웬슬이 설립한 컨커런트(Concurrent)이 지원하고 있다. 캐스케이딩을 도입한 기업들로는 트위터, 엣시(Etsy) 등이 있다. 캐스케이딩은 GNU 제너럴 퍼블릭 라이선스로 이용 가능하다.
스크라이브
스크라이브(Scribe)는 페이스북이 개발한 서버로, 2008년부터 사용되기 시작했다. 이는 여러 서버들에서 실시간으로 스트림되는 로그 데이터를 종합하는 역할을 한다. 페이스북의 자체 스케일링(scaling) 작업을 위해 설계된 스크라이브는 현재 매일 수백 억 건의 메시지를 처리하고 있다. 스크라이브는 아파치 라이선스 2.0에서 이용 가능하다.
엘라스틱서치
개발자 셰이 바논이 아파치 루센(Apach Lucene)에 기반해 제작한 엘라스틱서치(ElasticSearch)는 분산형 레스트풀(RESTful) 오픈소스 검색 서버다. 이는 특별한 설정 없이도 거의 실시간의 검색과 멀티테넌시(multitenancy)를 지원하는 스케일러블 솔루션(scalable solution)이다. 현재는 스텀블어폰(StumbleUpon)이나 모질라와 같은 여러 기업들이 이를 채택하고 있다. 엘라스틱서치는 아파치 라이선스 2.0에서 이용 가능하다.
아파치 H베이스
아파치 H베이스(Apache HBase)는 구글의 빅테이블(BigTable)을 본떠 자바로 작성된 오픈소스 비관계 열지향 분산형 데이터베이스(non-relational columnar distributed database)로, 하둡 분산형 파일시스템(HDFS, Hadoop Distributed Filesystem)에 기반한 구동을 목적으로 설계됐다. 이는 폴트 톨러런트 스토리지(fault-tolerant storage)와 대량의 희소 데이터(sparse data)에의 신속한 접속을 지원한다. H베이스는 지난 몇 해간 시장의 관심을 모은 NoSQL 데이터 스토어(NoSQL data store) 중 하나다. H베이스는 2010년 페이스북의 메시징 플랫폼에 채택되기도 했다. H베이스는 아파치 라이선스 2.0에서 이용 가능하다.
아파치 카산드라
또 하나의 NoSQL 데이터 스토어 아파치 카산드라는 자신들의 인박스 서치(Inbox Search) 기능을 지원할 목적으로 페이스북이 개발한 오픈소스 분산형 데이터베이스 관리 시스템이다. 페이스북이 2010년 카산드라를 포기하고 H베이스를 채택하긴 했지만, 카산드라는 여전히 많은 기업들에서 활용되고 있다. 그 중 한 기업인 넷플릭스(Netflix)를 예로 들면, 그들은 카산드라를 스트리밍 서비스 용 백 엔드 데이터베이스(back-end database)로 활용 중이다. 카산드라는 아파치 라이선스 2.0에서 이용 가능하다.
몽고DB
더블클릭(DoubleClick) 창업 멤버들이 개발한 몽고DB(MongoDB)는 대중적으로 사랑받는 또 다른 NoSQL 데이터 스토어다. 몽고DB는 역동적 스키마(dynamic schema)를 통해 정형 데이터를 BSON(Binary JSON)이라고 하는 JSON 형태의 문서로 저장한다. 현재 MTV 네트웍스(MTV Networks), 크레이스리스트(craigslist), 디즈니 인터렉티브 미디어 그룹(Disney Interactive Media Group), 뉴욕 타임즈(The New York Times), 엣시 등 시장의 여러 대기업들이 몽고DB를 채택하고 있다. 이는 GNU 아프로 제너럴 퍼블릭 라이선스(GNU Affero General Public License)에서 이용 가능하며, 랭기지 드라이버(language driver)는 아파치 라이선스 하에서 이용 가능하다. 상용 몽고DB 라이선스는 10젠(10gen)이 제공하고 있다.
아파치 카우치DB
아파치 카우치DB(Apach CouchDB) 역시 오픈소스 NoSQL 데이터 스토어 중 하나다. 이는 JSON을 이용해 데이터를 저장하고 있으며 자바스크립트를 쿼리 랭기지(query language)로, 맵리듀스와 HTTP를 API로 사용하고 있다. 카우치DB는 2005년 전 IBM 로터스 노츠의 개발자 다미엔 카츠가 대규모 객체 지향형 데이터베이스용 저장 시스템으로 개발한 것이다. BBC는 역동적인 콘텐츠 플랫폼에 카우치DB를 적용하며, 크레딧 스위스(Credit Suisse)의 물류 사업부는 그들의 파이썬 마켓 데이터 프레임워크(Python market data framework)의 설정 세부 사항 저장에 이를 사용하고 있다. 카우치DB는 아파치 라이선스 2.0에서 이용 가능하다.
참고
http://www.ciokorea.com/slideshow/12897
http://www.bicdata.com/bbs/board.php?bo_table=business_developer&wr_id=66