본문 바로가기

Data Science

빅데이터 수집 시스템 설계 및 구축

수집 방식의 정의

    구조 관점

       - 정형 : 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) : 다수의 수집 대상 서버로부터 실시간으로 데이터를 수집, 분산 시스템에 데이터를 저장                                           하는 기능 제공
             척와 /  센싱  / 스트리밍