[실시간 분석 시스템] 데이터 수집 #1 오픈 소스 수집기 비교

 

데이터 분석을 하기 위해서는 가장 먼저 고려해야 할 시스템이 수집 시스템, 즉, Data Collector 이다. 수집은 간단해 보이지만, 데이터 처리 플랫폼 전체의 아키텍처에 있어서 가장 중요한 요소이며 이후 구축할 여러가지 판단요소의 기준점이 될 수 있다. 수집은 현재 시스템의 다양한 곳에 존재하는 로그, 데이터 등이 대상이다.

수집 시스템을 구성하기 위한 다양한 오픈 소스들이 존재한다. 이번 글에서는 수집을 위한 오픈 소스들의 종류와 간단한 특징에 대해서 알아보고, 다음 글에서는 여러 오픈 소스 중에서 선택한 두 가지 오픈소스에 대해 상세한 설명을 하는 것으로 수집에 대해 풀어보고자 한다. 미리 얘기하자면 해당 두 가지 오픈 소스는 Apache Sqoop과 Apache Flume이다. 그리고, 수집할 데이터를 저장할 Data Store 은 분산 파일 시스템인 HDFS, 즉, Apache Hadoop FileSystem을 사용한다는 전제를 둔다. 이 오픈 소스들은 kth 의 대용량 실시간 분석 솔루션인 DAISY(Data Intelligence System)의 수집 시스템의 일부로서 실제 서비스에도 현재 적용되어 안정적으로 운용되어지고 있는 것들이다. 물론, 대부분의 플랫폼에서 선택한 오픈 소스이기도 하다.

새롭게 만드는 서비스,시스템이라면 로그 포맷, 생성 위치 등을 정하겠지만, 대부분 기존 서비스에서는 이미 어떤 형식으로든 분석의 대상이 될 로그가 생성되어 있을 것이다. 어떤 시스템은 RDBMS에 로그 테이블을 만들어 파티션하고 샤딩 등을 해서 저장하는 경우도 있을 것이고, 어떤 시스템은 웹서버, WAS의 Access Log 형태로 파일을 Disk에 롤링해가며 저장하는 경우도 있을 것이고, 전사적인 로그 포맷이 정해져 있어 JSON 또는 CSV 등의 형태로 특정 폴더에 특정 조건으로 잘 정의되어 저장하는 경우도 있을 것이다.

 

RDBMS로 부터 수집 : Apache Sqoop


 

RDBMS에 저장되어 있는 경우라면 쉽고 유용한 오픈 소스가 Apache Sqoop 이다. Sqoop은 Sql to Hadoop 의 약자로, 간단한 CLI(Command Line Interface)로 Oracle, MySQL 등의 RDBMS의 특정 테이블 또는 특정 조건에 맞는 데이터를 HDFS로 쉽게 옮길 수 있으며, Hive, Pig, HBase 등으로 바로 옮겨 확인 할 수 있다. 반대로 HDFS에 저장되어 있는 데이터를 RDBMS로 옮길 수도 있다. 로그 뿐 아니라 분석할 때 필요한 메타성 데이터를 가져올 때도 유용하다. Apache Sqoop에 대해서는 다음 글에서 보다 상세히 다룰 예정이다.
 

로그 파일 수집하기 : Apache Flume, Facebook Scribe, Apache Chukwa

로그 파일이 서비스의 특정 서버의 특정 위치에 파일을 생성하고 있는 경우나 RPC로 로그를 전달할 경우에 적용이 가능한 여러가지 오픈 소스들이 있다. 그러나, 그 이전에 먼저 명확히 해야 할 것은 로그를 실시간으로 수집,분석해야할 사항이 있는가? 아니면, 배치성의 분석만 필요한 것이가? 그리고, 수집과 동시에 실시간 분석을 할 것인가? 아니면 우선 저장하고 이후에 분석할 것인가에 따라 여러가지 경우의 수가 발생하게 된다. 선택한 수집 오픈소스의 활용, 옵션등이 달라지게 될 것이다. 이후에 언급하겠지만, RabbitMQ, ZeroMQ 와 같은 메시징 큐가 필요 할 수 도 있고, Apache Kafka 와 같은 또 다른 Layer가 필요하게 될 것이다.

우선 가장 많이 알려져 있는 수집기 오픈소스는 Apache Flume, Facebook Scribe, Apache Chukwa, 최근에 Netflix에서 공개한 suro 등등이 있다. 수집기 오픈소스에 대해 알아보기 전에, 대용량의 고속의 이벤트 데이터(로그)를 수집하는 시스템에 필요한 요건은 아래와 같다.

- 확장성 : 수집대상 서버는 무한대로 확장된다. 수십에서 수천, 수만대로 수집대상 서버는 늘어 날 것이다.
- 안정성 : 수집되는 데이터가 유실되지 않고 안정적으로 저장되어야 한다.
- 유연성 : 다양한 포맷의 데이터, 다양한 프로토콜을 지원해야 한다.
- 실시간성 : 수집된 데이터를 실시간으로 반영해야 한다.

위에서 언급한 수집기 오픈 소스중 3가지 Flume, Scribe, Chukwa를 간단 비교요약하면 아래와 같다.



위 간단 비교는 개인적인 의견이 포함되어 있다. 하지만, 최근의 빅데이터 플랫폼에서 수집 부분에 사용되는 오픈 소스중 가장 많이 사용이 언급되어지고, 발전이 보여지는 오픈소스는 단연 Apache Flume이라 할 수 있을 것이다. 하지만, 현재 서비스, 시스템의 상황에 맞게 위 오픈 소스 뿐 아니라 다양한 오픈 소스를 검토해서 적합한 것을 적용해야 한다.

빅데이터 분석 플랫폼의 가장 첫 관문인 수집부분은 위에서도 잠시 언급하였지만, 서비스 특성에 따라 위 수집기 이외에도 메시징 큐 등의 여타 Layer도 필요할 수 있으므로 다양한 검토가 필요한 부분이다.

다음 글에선 위에서 언급한 Apache Sqoop, Apache Flume에 대해 자세히 살펴볼 예정이다.

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

 

출처 : 한국데이터베이스진흥원

제공 : DB포탈사이트 DBguide.net

 

[출처] http://www.dbguide.net/knowledge.db?cmd=specialist_view&boardUid=176130&boardConfigUid=108&boardStep=0&categoryUid=

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
공지 오라클 기본 샘플 데이터베이스 졸리운_곰 2014.01.02 86113
공지 [SQL컨셉] 서적 "SQL컨셉"의 샘플 데이타 베이스 SAMPLE DATABASE of ORACLE 가을의 곰을... 2013.02.10 78624
공지 [G_SQL] Sample Database 가을의 곰을... 2012.05.20 95338
31 오라클 컬럼명 찾기 졸리운_곰 2017.04.17 2030
30 [Oracle | 오라클] DB 덤프/임포트 하기 졸리운_곰 2017.03.17 1230
29 Oracle Data pump 실전 사용 졸리운_곰 2017.03.17 857
28 오라클 덤프 export / import file 졸리운_곰 2017.03.17 1348
27 오라클 DB 백업과 복원 졸리운_곰 2017.03.17 1776
26 SQL HINT 를 이용하여 SQL Tunning 을 하는 방법 file 졸리운_곰 2017.03.15 1303
25 <운바-DB> Oracle HINT(기초) file 졸리운_곰 2017.03.15 1532
24 조인 순서 조정을 위한 힌트(ordered, leading) 졸리운_곰 2017.03.15 1476
23 ORACLE Hint 정리 file 졸리운_곰 2017.03.15 1723
22 Oracle Hint 설명 및 사용법 졸리운_곰 2017.03.15 1558
21 ORACLE SQL 서버 및 PLSQL 코딩 표준 가이드 file 졸리운_곰 2017.01.14 1758
20 ORACLE SQL 튜닝 가이드 file 졸리운_곰 2014.06.07 3943
19 Oracle DECODE문을 IF문처럼 사용하기. 졸리운_곰 2014.01.25 2472
18 [ORACLE] NVL함수 & DECODE함수 졸리운_곰 2014.01.25 2468
17 ※ Oracle 오라클 DECODE 함수 file 졸리운_곰 2014.01.25 2770
16 오라클 백업 및 복구(Datapump) 졸리운_곰 2014.01.25 2122
15 (Oracle) delete 복구 졸리운_곰 2014.01.25 2421
14 오라클 쿼리 복구 졸리운_곰 2014.01.25 3450
13 오라클 플래쉬백 사용하기(Flashback Query) 졸리운_곰 2014.01.25 2603
12 체크 제약조건 적용사례 졸리운_곰 2014.01.19 3169
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED