본문 바로가기

자격증공부/경영빅데이터분석사2급

[경영빅데이터분석사2급] 5과목 빅데이터기술 - 수집, 저장, 처리기술, 주요분석도구

320x100


1. 수집

ㅇ 개념
 - 여러 데이터 소스로부터 필요한 데이터를 검색하여 수동 또는 자동으로 수집, 검색/수집/변환을 통해 정제된 데이터를 확보하는 기술까지 포함, 조직 외부의 무한한 데이터 중 필요로 하는 데이터를 찾아내는 것이 중요, 데이터를 저장하고 분석하기 위해 데이터를 변환하거나 통합하는 작업도 중요, 작은 데이터라도 모두 저장하고 실시간으로 저렴하게 데이터를 처리해야 한다.
 
ㅇ 데이터 소스 유형
 - 정형 데이터 : 로그 데이터, 시계열데이터
 - 비정형 데이터 : 소셜 미디어, 오디오, 비디오, 자유형식 텍스트
 - 센서데이터는 비정형데이터로 온도, QR코드 등이 있다.
 
ㅇ 데이터 수집 기술
 - 정형 : ETL, FTP, API, ODBC
 - 비정형 : 크롤링, RSS, API, FTP, Parsing
 - 반정형 : Streaming
 
ㅇ 자원 확보 관점에서 데이터 소스 구분
 - 내부데이터 : 데이터베이스, 파일관리시스템
 - 외부데이터 : 스트리밍
 - 미디어 : 텍스트, 이미지
 
ㅇ 빅데이터 수집 시 고려해야 할 내용
 - 대용량 데이터 수집, 실시간 수집, 적재시간 단축, 수평적 확장 용이성 (분석의 적합성 X, 유연성X)
 
ㅇ 빅데이터 수집 시스템 요건
 - 확장성 : 데이터 수지 대상이 되는 서버 대수를 무한히 확장 가능
 - 안정성 : 수집된 데이터가 유실되지 않고 안정적으로 저장
 - 유의성 : 분석에 유의미한 데이터만을 선별
 - 실시간성 : 수집된 데이터를 실시간으로 반영
 
ㅇ 자동 수집 방법
 - 로그수집기 : 조직내부에 존재하는 웹서버의 로그 수집, 웹 로그, 트랜잭션 로그, 클릭 로그, DB 로그데이터 등을 수집하는 방법
  . Flume : Cloudera에서 채택한 솔루션, 커다란 규모의 분산 데이터를 수집하고 효율적으로 전송, 클러스터 환경에서 신뢰성 있는 로깅뿐 아니라 안정적인 확장성 제공, 다양한 장비로부터 수집되고 모아지는 데이터를 중앙 처리 저장 시스템에 저장, 주된 설계 목적은 신뢰성, 가용성, 관리성, 확장성
  . Scribe : 페이스북에서 사용
  . Chukwa : 야후에서 채택
 - 크롤링 : 주로 웹 로봇을 이용하여 조직 외부에 존재하는 소셜 데이터 등과 같은 인터넷에 공개되어 있는 자료 수집
  . 웹로봇 : 저장된 URL리스트에서 시작하여 웹 문서를 수집한다. 수집된 웹 문서에 포함된 URL들을 추출하여 새롭게 발견된 URL에 대한 웹 문서 수집 과정을 반복한다. 웹 문서를 돌아다니면서 필요한 정보를 수집하고 이를 색인해 정리하는 기능을 수행하며 주로 검색엔진에서 사용되고 있다. 일반적으로 수집기/분류기/데이터처리기로 구성된다.
  . 웹크롤러 : 방문한 사이트의 모든 페이지 복사본을 생성하는데 사용되며, 검색 엔진은 이렇게 생성된 페이지의 보다 빠른 검색을 위하여 인덱싱을 수행한다. 링크 체크나 HTML 코드 검증과 웹 사이트의 자동 유지 관리 작업을 위해 사용되기도 하며 자동 이메일 수집과 같은 웹페이지 정보를 수집하는 데도 사용된다. 조직적, 자동화된 방법으로 WWW을 탐색하는 컴퓨터 프로그램
 - RSS리더 : 데이터의 생산, 공유, 참여환경인 웹2.0을 구현하는 기술로 필요한 데이터를 프로그래밍을 통해 수집
 - ETL : 정보계 시스템을 위한 데이터 공유의 가장 일반적인 형태로서 레거시 시스템 환경으로부터 빅데이터를 추출하여 비즈니스 데이터로 변환하고 저장하는 기능을 담당. 논리적 데이터 변환/ 도메인 검증 / DBMS간 변환 / 필요 시 기본 값 생성/ 데이터 요약 기능

 

2. 저장

ㅇ데이터 저장 관련 기술
 - 분산파일 시스템 : 컴퓨터 네트워크를 통해 공유하는 여러 호스트 컴퓨터의 파일에 접근할 수 있게 하는 파일 시스템 (GFS, HDFS)
 - NoSQL : ACID 요건 (원자성-Atomicity / 일관성-Consistency / 고립성-Isolation / 지속성 – Durability) (Cloudate, HBase, Cassandra)
 - 클라우드 시스템 : 클라우드 컴퓨팅 환경에서 가상화 기술을 활용한 분산파일시스템 (Amazon S3, OpenStack Swift)
 - 병렬DBMS : 다수의 마이크로프로세서를 사용하여 여러 디스크에 대한 질의, 갱신 입출력 등의 데이터베이스 처리를 동시에 수행하는 DB시스템 (VOltDB, SAP HANA, Vertica, Greenplum, Netezza)

반응형

3. 처리기술

ㅇ 저장기술 : Haddop, Cassandra, MongoDB
 - Cassandra : 분산시스템에서 방대한 데이터를 처리할 수 있도록 고안된 오픈소스 데이터베이스 관리 시스템으로 페이스북에서 개발했으나 현재는 아파치 소프트웨어 재단의 프로젝트로 관리되고 있다.
 - Hbase : 구글의 빅테이블을 참고로 개발된 오픈소스 분산 비 관계형 데이터베이스로서 파워 셋에서 개발했으며 현재는 아파치 소프트웨어 재단에서 하둡 일환인 프로젝트로 관리되고 있다.
 
ㅇ 분석기술 : Hive, Mahout, R
 
ㅇ 분산 컴퓨팅
 - 여러 대의 컴퓨터를 연결하여 상호작용하게 함으로써 컴퓨팅의 성능과 효율을 높이는 것
 - 여러 개의 컴퓨팅 자원을 하나의 시스템 안에 결합하여 연결한 병렬컴퓨팅까지 포함
 - 분산 컴퓨팅의 목적은 성능확대와 가용성 확대
 - 예로써 컴퓨터 클러스터의 활용인데 수직적 성능확대와 수평적 성능확대가 있다.
 - 수직적 성능확대는 컴퓨터 자체의 성능을 업그레이드하는 것을 말하며, 수평적 성능확대는 컴퓨터들을 네트워크로 연결하여 성능을 업그레이드하는 것을 말한다.
  . 수평적 성능확대 : Peer to Peer 모델과 Master Slave 모델, 단순히 컴퓨팅 노드 수를 늘리고 상호 연동하여 성능을 향상하는 방법, 기존 투자 자원을 이용할 수 있다, 점진적인 성능개선을 추구할 수 있다.
  . 수직적 성능확대 : 강한 CPU의 사용, 주기억장치와 하드디스크 등의 증설로 인한 성능 향상, 통신속도로 인한 지연을 해결하기 위해 기가급 이상의 통신연결을 통해 문제점을 해결해야 한다, 기존의 프로그램 등 각종의 운영환경의 변화없이 업무를 지속할 수 있다, 컴퓨터가 고가 사양이 될수록 비용이 커진다는 단점이 있다.
 
ㅇ 하둡
 - 대용량 데이터의 분산 저장 및 신속한 처리를 위해 다수의 컴퓨터를 네트워크로 연결하여 하나의 시스템과 같이 사용할 수 있도록 구성한 시스템이다. 하둡은 HDFS와 맵리듀스로 구성되며, HDFS는 클라우드 컴퓨팅 환경을 구축하기 위해 이용하며 대용량 데이터 저장 기능을 제공하는 시스템이다. 하둡시스템은 마스터 노드와 슬레이브 노드들을 하나의 클러스터로 묶어서 이루어져 있다.
 - 하둡의 구성 : 마스터, 슬레이브, 네임, 데이터
 - HDFS : 데이터를 블록 단위로 나누어 데이터 노드에 자동으로 분산 저장된다. 저장이 완료되면 저장된 블록을 2개의 다른 데이터 노드에 전송하여 같은 블록 3개를 항시 유지한다. 블록 수를 복수로 가져감에 따라 데이터 가용성을 높인다. 데이터들은 3초 주기로 메시지를 주고 받으며 상황을 체크한다. 리눅스를 운영체제로 하는 저비용 하드웨어를 통해 구축하도록 설계되었다.
 - 맵리듀스 : 하둡에서 클러스터 환경에서의 대용량 병렬처리를 위한 기능, 일반적인 내장 하드 디스크 드라이브를 사용하는 컴퓨터로 연산을 수행한다, 각 컴퓨터는 서로 매우 약한 상관관계를 가지고 있기 때문에 수백~수천 대까지 확장이 가능하다. 많은 수의 컴퓨터가 처리에 참가하므로 시스템 장애는 자주 발생한다고 가정한다. 맵과 리듀스라는 간단하고 추상화된 연산으로 복잡한 여러 문제를 해결할 수 있도록 한다. 병렬 프로그램에 익숙하지 않은 프로그래머라도 쉽게 데이터에 대한 병렬 처리를 할 수 있도록 하고 있다.
 
ㅇ 실시간 처리기술
 - 구성하는 노드가 각자 쿼리를 처리한다, 한번에 처리할 데이터의 크기는 작게 한다, 작은 데이터를 병렬 처리해 응답시간을 실시간 수준으로 높이는 방식이다, 데이터를 유입 시점에 분석해 원하는 데이터 뷰로 미리 만드는 방식이다,
 
ㅇ PaaS는 개발환경, IaaS는 물리적 건물, 서버, 네트워크 등의 영역을 제공하고, SaaS는 응용프로그램을 제공한다.

320x100

4. 주요분석 도구

ㅇ 엑셀
 - 윈도 환경의 스프레드시트 프로그램이다
 - 사용자 그래픽 환경을 제공한다.
 - 스프레드시트 기능을 비롯해 매크로, 그래픽, DB기능, 차트작성 등 문서 작성에 필요한 기능을 제공한다. (마이닝 기능은 제공X)
 - MS사가 1985년에 개발한 SW이다.
 - 수식 작성과 함수 생성 및 계산이 편리하여 전 세계적으로 널리 사용되고 있다.
 - 상관분석을 위한 메뉴 패스 : 데이터 > 분석 > 데이터분석 > 상관분석
 
ㅇ SPSS (IBM)
 - 원하는 데이터를 직접 입력하는 스프레드시트 형식 입력법과 기존 데이터를 불러와 사용하는 방법 모두 사용 가능하다.
 - 데이터 획득에서부터 리포팅까지 전 과정을 메뉴와 대화상자로 수행 가능하다.
 - 분석을 위해서는 사용자가 가지고 있는 데이터 변수의 측도를 지정해줘야 한다.
 - MS사의 엑셀과 유사하게 생겼다.
 - 사용자 니즈에 맞춰 기관 속성에 따른 프로그램을 제공한다.
 - 편리한 사용자 환경에 가장 큰 장점이다.
 - 기본적으로 모든 데이터를 메모리에서 저장 및 처리하는 도구
 
ㅇ SAS
 - 상당히 고가인 제품으로 라이선스 없이는 사용이 불가하다.
 - 거의 모든 통계분석을 포괄하여 수행할 수 있고 매우 정밀한 결과를 제공한다.
 - 보고서 작성과 그래픽도 가능하다.
 - 데이터 입력과 편집을 위한 DATA STEP과 데이터 분석이 이루어지는 PROC STEP의 단계로 이루어져 있다.
 - 데이터 입력은 DATA STEP과 PROC STEP 모두 가능하다.
 - 기본적인 통계분석을 위한 모듈 : Base, Stat
 - 매트릭스 데이터를 처리하기 위해 필요한 모듈 : IML
 - 화면구성
  . 확장편집기, 출력윈도우, 로그윈도우, 탐색기와 결과창으로 나뉜다.
  . 확장편집기는 프로그램 명령문을 직접 입력하는 공간이다.
  . 출력윈도우는 입력한 명령어들에 대한 결과값이 출력되는 공간이다.
  . 로그윈도우는 실행과정에 있어 여러 가지 정보를 제공하는 창이다.
 
ㅇ R
 - 1970년 AT&T에서 개발한 통계언어인 S-language가 뿌리이다.
 - 현재는 GNU프로젝트를 통해서 개발 배포되고 있다.
 - 맥, 유닉스, 윈도우 등 다양한 컴퓨팅 환경에서 사용가능하다.
 - 54MB의 매우 작은 용량으로 무료로 다운로드할 수 있다.
 - 사용자들이 직접 분석 패키지를 만들어 업로드할 수 있고 타인이 업로드한 패키지를 다운받아 사용할 수 있다.
 - 시각화를 위해 주로 사용하는 패키지 : qplot
 - package 설치 시 사용하는 명령어 : install.packages(“party”)
 - 유사데이터에 대한 분석작업을 기존 스크립트를 재활용하면서 처리할 수 있는 작업의 재현성을 제공한다.
 - 다른 통계분석 툴에 비해 최신 통계기법이 적용되는 속도가 빠르고 통계패키지 프로그램 중 유일하게 저널이 발행되어 그 사용법을 익히기 편리하다.
 

< 경영빅데이터분석사2급 요약자료 다운로드 (바로가기) >

 

320x100
반응형