수집 방식의 정의
구조 관점
- 정형 : RDB(관계형 DB) => 고정된 필드에 저장되며, 값과 형식에서 일관성을 가지는 데이터
- 비정형 : SNS, NoSQL, 텍스트, 이미지, 오디오, 비디오
- 반정형 : XML, HTML, JSON, RSS 등(메타 데이터를 포함) => Tag, Key 값으로 데이터를 바라 봄
시간 관점
- 실시간 : 센서 데이터, 시스템 로그, 네트워크 장비 로그 (수 초 ~ 수 분이내에 처리되어야 의미)
- 비실시간 : 구매정보, 헬스케어 정보 등(시간과 관련 X)
저장 형태
- 파일 (시스템 로그, 서비스 로그, 텍스트, 스프레드시트)
- 데이터베이스(RDB,NoSQL,in-memory DB)
- 콘텐츠(텍스트, 이미지, 오디오, 비디오)
- 스트림(센서 데이터, HTTP 트랜잭션, 알람)
수집 방식
파일 기반 수집 방식
- FTP, RCP/ SCP, RSync, API
통신 프로토콜 기반 수집 방식
- 소켓(TCP/ UDP), HTTP(웹 데이터)
데이터 전송기반 수집 방식
- 에이전트 / 스트리밍
수집 방식 결정
정형 데이터 수집 방식 기술
ETL(extract transform load) : 수집 대상 데이터를 추출하여 가공하여 데이터웨어하우스에 저장하는 기술
FTP : 보안상의 이슈로 최근에는 sftp를 사용하도록 권고함.
API : 시스템 간 연동을 통해 실시간으로 데이터를 수신할 수 있도록 기능을 제공하는 인터페이스
DBtoDB :데이터베이스 시스템(dbms) 간 데이터를 동기화 또는 전송하는 기능 제공
스쿱(sqoop) : RDB와 하둡간의 데이터 전송 기능 제공
RSync(remote sync) :클라이언트(client) / 서버(server) 방식으로 수집 대상 시스템과 1:1로 파일과 디렉터리 를 동기화하는 응용 프로그램
비정형 데이터 수집 방식 기술
크롤링(crawling) : 웹에서 정보, 뉴스, 게시판 등으로 부터 웹 문서 및 정보 수집
RSS(rich site summary) : 블로그, 뉴스, 쇼핑몰 등의 웹사이트에 게시된 새로운 글을 공유하기 위해
XML 기반으로 정보를 배포하는 프로토콜
Open API
척와(chuckwa) : 분산 시스템으로부터 데이터를 수집, 하둡 파일 시스템에 저장, 실시간 분석 기능 제공
반정형 데이터 수집 방식 기술
크롤링(crawling) / RSS / Open API
플럼(flume) : 분산 환경에서 대량의 로그 데이터를 수집 전송하고 분석하는 기능을 제공
스크라이브(scribe) : 다수의 수집 대상 서버로부터 실시간으로 데이터를 수집, 분산 시스템에 데이터를 저장 하는 기능 제공
척와 / 센싱 / 스트리밍