성공적인 빅데이터 활용을 위해서는 데이터의 자원화데이터를 가공하고 분석 처리하는 기술마지막으로 데이터의 의미를 통찰하는 인력등 3가지 분야의 전략 수립이 필수적입니다.

 

외부와 내부에 존재하는 빅데이터를 확보하고 관리처리하는 전략 수립이 중요합니다빅데이터를 핵심 자원으로 인식하고 리소스를 키우는 것 또한 중요합니다데이터의 품질은 데이터 활용 결과에 중대한 영향을 미치므로 빅데이터 자원의 체계적 수집과 관리는 신뢰성 확보에 중요한 영향을 미칩니다.

 

빅데이터 수집기술은 조직 내부와 외부의 분산된 여러 데이터 소스로부터 필요한 데이터를 검색하여 수동 또는 자동으로 수집하는 과정과 관련된 기술로 일반적인 조직 내부에 존재하는 정형 데이터(Structured Data)와 조직 외부에 존재하는 트위터(Twitter), 페이스북(Facebook), 미투데이(me2day) 와 같은 비정형 데이터(Unstructured Data)를 수집하는 기술로 분류할 수 있습니다.

 

전통적으로 유닉스(Unix)에서의 로그 수집은 syslog을 사용하고 있으며자바에서는 Log4j를 많이 사용하고 있습니다문제는 각종 서비스들은 이러한 표준화된 도구에서 제공하는 규약을 지켜서 로그를 쌓아야 합니다빅데이터 분야에서도 흩어져 있는 각종 로그 데이터를 일관된 방법으로 수집할 수 있는 로그 수집 프레임워크(Log Aggregator Framework)가 필요합니다.

 


① RDBMS에서의 데이터 수집

기업에서 관리하고 있는 데이터베이스(DB, Database)에 저장되어 있는 정형데이터를 수집하는 기술로는 아파치에서 만들어진 스쿠프(Sqoop) 프로그램이 있습니다.

 

아파치 스쿠프(Apache Sqoop)

관계형 데이터베이스(RDBMS, Related Database Management System)에 저장되어 있는 경우라면 쉽고 유용하게 사용할 수 있는 오픈소스가 아파치 스쿠프(Apache Sqoop)입니다스쿠프는 Sql to Hadoop의 약자로간단한 CLI(Command Line Interface)로 오라클(Oracle), MySQL 등의 RDBMS의 특정 테이블 또는 특정 조건에 맞는 데이터를 HDFS(Hadoop Distributed File System)로 쉽게 옮길 수 있으며하이브(Hive), 피그(Pig)를 통해서 내용을 바로 확인할 수 있습니다반대로 HDFS에 저장되어 있는 데이터를 RDBMS로 옮기는 것도 가능합니다.

 

 

 

② 로그 파일 수집

로그 파일이 서비스의 특정 서버의 특정 위치에 파일을 생성하고 있는 경우나 RPC로 로그를 전달할 경우에 적용이 가능한 여러가지 오픈소스들이 있다우선 고려할 사항은 로그를 실시간(Real-time)으로 수집할 것인지아니면 배치(Batch)로 수집할 것인지에 따라서 오픈소스의 선택과 옵션이 달라지게 된다.

 

아파치 플룸(Apache Flume)

플룸(Flume)은 클라우데라(Cloudera)에서 개발한 오픈소스 로그 수집 소프트웨어로 아파치 인큐베이터를 통하여 안정화를 거치며Flume-NG로 명명되었습니다데이터의 수집을 위한 프레임워크로 다양한 로그데이터 수집 및 모니터링이 가능하고 실시간 전송도 지원합니다자바로 구현되어 있기 때문에 다양한 운영체제에 설치가 가능하며노드의 추가 및 관리가 손쉽고 분선처리 시스템의 로그 수집에 적합하여 하둡(Hadoop)과 조화롭운 작업이 가능합니다.

 

다양한 소스로부터 데이터를 수집하여 전송할 수 있는 기능을 있으며아키텍처가 단순하고 유연하며 확장 가능한 데이터 모델을 제공하여 실시간 분석 프로그램을 쉽게 개발할 수 있습니다.

 

 

아파치 척와(Apache Chukwa)

하둡(Hadoop) 프로젝트의 서브 프로젝트로 진행중인 오픈소스 프로젝트로 분산된 서버의 로그를 하둡 파일 시스템에 저장하고 하둡 맵리듀스(MapReduce)를 이용해 로그의 분석을 수행하는 솔루션입니다척와는 범용적인 로그 수집과 로그 관리를 위한 솔루션으로 개발되었지만 하둡 클러스터의 로그와 서버의 상태 정보를 관리하는 기능도 들어 있습니다.

 

하둡 역시 분산된 환경에서 수십 ~ 수천대 규모로 운영되기 때문에 하둡 데몬에서 출력하는 로그와 사용자가 수행시킨 작업에서 출력하는 로그는 각 서버에 저장이 됩니다하둡을 이용해 작업을 수행하다 보면 사용자 로그를 보기 위해 여러 노드를 접속해야 하는 불편함이 있는데척와를 이용하면 쉽게 로그를 수집할 수 있어서 편리합니다.

 

 

페이스북 스크라이브(Facebook Scribe)

페이스북(Facebook)이 개발하여 오픈소스화 시킨 분산형 로그 수집 서버 시스템입니다페이스북 자체 Scaling 작업을 위해 설계되어 현재 매일 수백억 건의 메시지를 처리하고 있습니다클라이언트와 서버의 타입에 상관없이 다양한 방식으로 로그를 읽어 들일 수 있습니다.

 

 

웹 크롤러(WebCrawler)

웹 크롤러는 조직적자동화 된 방법으로 월드 와이드 웹(WWW)을 탐색하는 컴퓨터 프로그램입니다웹 크롤러에 대한 다른 용어로는 자동 인덱스(Bot), (Worm), 웹 스파이더(Web Spider), 웹로봇(Web Robot) 등이 있습니다.

 

검색엔진과 같은 사이트에서는 데이터를 최신 상태로 유지하기 위해서 웹 크롤링을 합니다웹 크롤러는 방문한 사이트의 모든 페이지의 복사본을 생성하는데 사용되며검색 엔진은 이렇게 생성된 페이지들을 빠르게 검색하기 위해서 인덱싱을 실시합니다또한 크롤러는 링크 체크나 HTML 코드 검증과 같은 웹 사이트의 자동 유지 관리 작업을 위해 사용되기도 하며자동 이메일 수집과 같은 웹 피이지의 특정 형태의 정보를 수집하는데도 사용됩니다.

 

 

RSS(Really Simple Syndication) Feed

특정 사이트에 매일 방문하여 새로운 기사가 있는지를 확인하는 것은 매우 번거롭습니다특히 새 기사가 매일 또는 정기적으로 올라오는 것이 아니라불 규칙적으로 게시되는 경우는 더욱 그렇습니다사이트에 직접 방문하지 않고서도 새로운 기사들이 올라올 때면 자동적으로 확인할 수 있다면 편리할 것입니다.

 

RSS(Really Simple Syndication)는 뉴스나 블로그 사이트에서 주로 사용하는 쿈텐츠 표현 방식입니다웹 사이트 관리자는 RSS 형식으로 웹 사이트 내용을 보여 주며이 정보를 받는 사람은 다른 형식으로 이용할 수 있습니다. RSS가 등장하기 전에는 원하는 정보를 얻기 위해 사이트를 직접 방문하여야 했으나, RSS 관련 프로그램을 이용하여 자동 수집이 가능해졌기 때문에 사용자는 각각의 사이트 방문없이 최신 정보들만 선택할 수 있습니다. 

+ Recent posts