티스토리 뷰

빅데이터를 위해서는 크게 세가지 분야의 기술이 필요합니다. 

첫째, 데이터의 획득 및 생성하기 위한 센서나 디바이스에 적용할 기술이 있습니다. 

둘째, 데이터를 축적하기 위해 병렬처리와 같은 아키텍처나 스토리지가 관련 기술이 필요합니다. 

마지막으로 축적된 데이터를 분석하기 위해 하둡과 같은 기술들이 필요하겠죠. 


이번에는 축적된 빅데이터를 분석하는 기술에 대해서 한번 정리해 보려고 합니다. 


흔히 빅데이터 = 하둡 이라고 생각을 많이 합니다. 

전혀 틀린 이야기는 아니지만 하둡이 만능은 아니라는 점을 확실히 이야기 하고 싶습니다. 


하둡은 다음과 같은 장점 때문에 빅데이터의 분석 기술로 각광받고 있습니다. 

  • 대용량 비정형 데이터를 기반으로 함.
  • HDFS와 맵리듀스를 활용하여 쉽게 분산 처리가 가능함.
  • PC급의 하드웨어 환경으로도 충분히 동작함.
  • 오픈소스이며 무료로 제공되고 있음. 


그러나 하둡은 배치 처리 기반이라는 점을 기억해야 합니다. 

즉, 실시간 예약과 같은 OLTP 서비스에서는 하둡보다는 기존의 RDMBS가 분명 더 나은 성능을 보일 것입니다. 

앞서 빅데이터 사례에서도 살펴봤듯이 실제로 빅데이터 분야에서도 실시간 처리에 대한 요구가 증가하고 있는 현실입니다. 


이렇게 데이터 분석에 대한 요구가 다양해짐에 따라 새로운 요구에 대응할 수 있는 차세대 빅 데이터 처리 지원 툴이 등장하고 있습니다. 

하나씩 정리해 보기로 하죠.. 


Google Dremel

Dremel은 빠른 속도로 대규모 데이터를 해석하는 분산처리가 지원되는 도구입니다. 

맵리듀스가 배치처리에 적합하다면 Dremel은 짧은 시간내에 분석이 가능한 것으로 1조 행의 데이터를 몇 초이내에 처리할 수 있다고 합니다. 

구글에서는 2006년 이후 널리 사용되고 있으며, 올해 발표한 Big Query에서도 Dremel을 기반으로 사용하고 있다고 합니다. 


Google Pregel

Pregel은 그래프 알고리즘을 처리하기 위한 도구입니다. 

그래프 알고리즘은 Facebook에서 제공하는 소셜 그래프 등을 생각하면 쉬울 것 같습니다. 

즉, SNS 사이트가 수집한 사람 사이의 관계나 사이트 간의 관계 데이터를 나타내는 것이죠. 

실제 Pregel은 구글의 링크 분석에 사용되고 있으며 수백 만 노드와 수 조의 관계에서 얻어지는 데이터를 분석한다고 합니다. 

오픈소스 진영에서는 Pregel과 유사한 Apache HAMA 프로젝트를 진행 중이라고 합니다. 


Google Percolator

구글의 검색 엔진에서 검색 인덱스를 작성하기 위해 채택된 기술이라고 합니다. 

2010년 구글에서는 웹 문서 인덱스를 기존의 맵리듀스에서 Percolator로 교체했다고도 하네요. 

실제로 맵리듀스에 비해 거의 100배에 해당하는 처리 성능을 보여준다고 합니다. 

일종의 분산 트랜잭션 시스템으로 야후에서도 Streaming MapReduce 프로젝트로 유사한 연구를 진행했다고 하네요. 


Apache Mahout

하둡과 연동되는 프로젝트로 오픈소스로 제공되고 있으며, 기계학습을 기반으로 비슷한 속성의 것을 분류하는 작업을 손쉽게 처리하는 기능을 가지고 있습니다. 

기계학습이란 아마존과 같은 사이트에서 "관심 상품 추천"이나 페이스북과 같은 사이트에서 "알 수도 있는 사람" 등을 추천하는 기술이라고 생각하면 쉽습니다. 

실제로 야후 메일 서비스의 스펨 메일 검사는 하둡과 Mahout으로 구성되어 있다고 합니다. 


Google Prediction API 

처음 공개되었을 때, 구글 API 중 가장 강력하고 미래 지향적이라는 평가를 받았던 것입니다. 

"구글이 미래를 예언해 드립니다."라는 문구가 떠오르네요. 

Apache Mahout과 같은 기계학습을 클라우드 서비스로 제공하고 있는 것입니다. 

즉, API를 이용해서 기계학습 알고르즘을 활용한 Prediction 기능을 제공하는 것이죠. 

자동차 회사인 포드에서도 연비 향상과 같은 연구를 위해 Prediction API를 사용하고 있다고 합니다. 


CEP (Complex Event Processing)

여러 소스에서 시시각각 전달되는 데이터를 복합적으로 분석하고 판단하여 신속하게 의사를 결정하기 위해 

빅데이터를 고속으로 처리하기 위한 기술인 CEP가 사용되기도 한다고 합니다. 

주로 주식시장의 거래처리, 신용카드의 부정 이용 확인, 정보 시스템의 가동 상황 확인에 사용된다고 하는데요. 

IBM이나 오라클 등이 이 상품에 주력하고 있다고 합니다. 

특히 IBM은 스트림 컴퓨팅이라는 이름으로 이 분야와 관련된 기술을 제공하고 있습니다. 

기술적인 특징으로는 데이터가 처리 시스템에 도착하자마자 스토리지에 저장는 과정 없이 바로 메모리 상태에서 순차적으로 처리된다고 합니다. 


이외에도 대용량 데이터를 저장하여 활용하기 위한 DWH(Data Ware House), 

데이터를 분석 가능한 상태로 만들기 위한 MDM(Master Data Management), 

데이터 보안을 강화해 익명성과 비밀 계산이 가능한 기술인 PPDM(Privacy Preserving Data Mining)와 같은 기술들도 있습니다. 

그리고 여기에 언급하지 않은 NoSQL, R과 같은 도구들도 있겠죠. 


물론 하둡이 만능은 아니지만 아직까지도 하둡에 대한 관심과 의존도가 높은 것은 사실입니다. 

또한 여기에 나열한 기술들도 갑자기 나온 것이 아니라 기존 기술들을 바탕으로 개선한 것이라는 점을 주목해야 합니다. 

즉, 적용하는 분야의 특성에 따른 요구사항에 맞추어 하둡과 같은 분산 기술을 기반으로 발전시킨 것이라는 점입니다. 


댓글
댓글쓰기 폼