요약
1.1 빅데이터 대표 기술 - Hadoop , NoSQL
빅데이터 기술과 기존 기술과 차이
1.2 데이터 파이프라인
데이터 웨어하우스 or 데이터 레이크 > 데이터마트
1.3 파이썬에 의한 '대화형 데이터 처리'
데이터 프레임를 통한 텍스트 데이터의 가공&집계
1.4 BI도구와 모니터링
장기적 데이터 변화 검수
1.1 빅데이터의 정착
1.1.1 분산 시스템에 의한 데이터 처리의 고속화
- 언제부터 빅데이터?
- 2011년 후반, 기업들의 분산 시스템 도입으로 데이터 처리를 시작
- 빅데이터 취급이 어려운이유
- 데이터의 분석 방법을 모름 ( 가치창출을 못 함)
- 데이터 처리에 수고와 시간이 걸림 ( 효율적인 사용법을 모름)
- 대표 빅데이터 기술
- Hadoop
- 다수의 컴퓨터에서 대량의 데이터를 처리할 수 있는 분산응용프로그램을 지원하는 자바 소프트웨어 프레임워크
- 구성
- 분산파일 시스템(분산된 장비에 대용량 파일을 저장할 수 있는 기능)
- MapReduce(저장된 파일을 분산된 서버의 CPU와 메모리 자원을 이용하여 분석하는 병렬/분산 처리 프레임워크)
- NoSQL
- 대량의 데이터를 빠른 시간내 안전히 처리할 수 있는 기술
- 특징 : 유연성 / 확장성 / 고성능 / 고기능성 / 애플리케이션에서 온라인으로 접속 / 분산처리에 뛰어남
- 종류
-
키 밸류 스토어(KVS / key-Value store) – 다수의 키와 값을 관련 지어 저장
-
도큐멘트 스토어(document store) – JSON과 같은 복잡한 데이터 구조를 저장
-
와이드 칼럼 스토어(wide-column store) -여러 키를 사용하여 높은 확장성을 제공
- Hadoop + NoSQL
- NoSQL 데이터 베이스에 기록하고 Hadoop 으로 분산처리
- 웹서버 등에서 생성된 데이터
- NoSQL , RDB - 텍스트 데이터로 저장
- Hadoop - 대규모 처리를 실행
1.1.2 분산 시스템의 비즈니스 이용 개척
- 기존 방식 : 업무시스템 > RDB > DW (data warehouse)
- 하둡 도입 : 업무시스템 > RDB > 하둡 > DW
- DW 특징
- 데이터 용량 증가시 하드웨어 교체 ( = 고비용 )
- 대량의 데이터 처리 가능 & 우수 & 안정적
- 하드웨어와 소프트웨어가 통합된 통합 장비로 제공됨
- 하둡을 사용하는이유
- 하둡 도입의 방법 이용시 DW의 부하를 줄임
- 비용대비 효율적인 성능 ( 저비용 고성능 )
- 오픈소스 / 확장성 ( 데이터 공간 필요시 linux 서버 추가 )
1.1.3 데이터 분석 폭 확대
-클라우드 서비스와 데이터 디스커버리로 가속하는 빅데이터의 활용
-
데이터 처리를 위한 클라우드 서비스
- Amazon Redshift (2012.11.) 등장으로 클라우드 상에서 DW 관리가 상용화됨
- 데이터 디스커버리 (data discovery)
- = 셀프서비스용 BI도구 (business intelligence tool) = BI도구
- DW 시각시스템 - DW의 데이터를 시각화하는 방법으로 정보(가치)를 찾는 프로세스
- DW 의 데이터 > 시각화 > 정보 추출
1.2 빅데이터 시대의 데이터 분석 기반
- 기존 DW 와 빅데이터 기술의 차이 : 다수의 분산 시스템의 사용 유무 ( 확장성이 뛰어난 데이터 처리구조 )
1.2.1. 빅데이터 기술 ( 데이터 가공 구조 )
- 데이터 파이프 라인
- 데이터 추출 , 변경, 결합, 적재 하는 과정을 자동화 하는 것
- 시작은 왜, 어디에서, 어떻게 데이터를 수집할 것인가에 따라 달라진다
- ETL과의 차이점
- ETL시스템 : 데이터 추출 > 변환 > 적재 (DB or DW)
- 데이터 파이프라인
- ETL을 포함하는 용어
- 데이터를 한 시스템에서 또 다른 시스템으로 옮기는 작업을 뜻 한다
- 데이터 파이프라인을 통해 가져온 데이터는 DB 나 DW에 쌓지 않는 경우도 있고 혹은 다중으로 데이터를 쌓는 경우도 있다
- 데이터 수집 , 처리 , 스토리지
- 벌크형 (bulk)
- 이미 존재하는 데이터를 정리하여 추출
- 데이터베이스, 파일 서버 등 수집시 사용
- 스트리밍형(streaming)
- 생성 중 인(되는) 데이터를 끊임없이 보내는 방법
- 모바일 애플리케이션 , 임베디드 장비 등에서 수집시 사용
- 스트림처리 (stream processing)
- 스트리밍형 데이터를 실시간 처리
- 시계엘데이터를 지향한 DB 사용
- 배치처리 (batch processing)
- 장기적인 데이터 분석 , 대량의 데이터 저장 처리 시 적합
- 수집된 데이터는 '분산스토리지'에 저장됨
- 분산스토리지
- 데이터 저장법 - 객체 스토리지 / NoSQL DB
- 데이터 처리
- 분산데이터처리 프레임워크 (MapReduce)
- 데이터 집계
- 쿼리엔진 - SQL로 집계하는 방법 ( hive - 대화형 쿼리엔진 )
- ETL프로세스 - 외부 데이터 웨어 하우스 제품 이용하는 방법
- 역할 : 추후에 분석하기 쉽도록 가공하여 결과부를 외부 데이터 베이스에 저장
- 워크플로관리
- 매일 정해진 시간에 배치처리를 스케줄대로 실행하고 오류 발생시 관리자에게 통지
1.2.2 데이터 웨어하우스 / 데이터 마트 / 데이터 레이크
- 데이터 웨어하우스 구축 프로세스
- 데이터 소스 > 데이터 웨어하우스 >데이터 마트
- 참고
- 데이터 소스 > 데이터 웨어하우스 ( 데이터 가공 후 저장 ) 시 ETL프로세스 이용
- 데이터 마트는 BI도구와 조합시키는 형태 / 테이블 시각화시 사용
- 데이터 웨어하우스 와 데이터 마트는 SQL로 데이터를 집계함 ( 테이블 생성후 데이터 투입)
- 데이터레이크
- DW 외 데이터가 축적되는 장소 (정형 비정형 데이터 모든 데이터를 담을 수 있다 )
- 가공시 분산 데이터 처리 기술 사용
- 애드 혹 분석 및 대시보드 도구
- 애드 혹 분석
- 일회성 분석 / SQL 쿼리 직접 작성
- 데이터 탐색 가능
- 대시보드 도구
- 수작업으로 데이터 분석 및 그래프 생성 시사용
- DW에서 쿼리 실행으로 그래프 생성
1.3 스크립트 언어에 의한 특별 분석과 데이터 프레임
1.3.1 데이터 처리와 스크립트 언어
- 스크립트 언어 : 원시데이터를 전처리 시 사용하는 언어
- R
- 통계 분석에 적합
- python
- 다양한 라이브러리, 외부 api 호출, 문자열 처리 시 적합
- 데이터 프레임 모델인 pandas 사용
- 하나의 테이블을 하나의 객체로 취급
- 표 형식의 데이터를 추상화한 객체
- 수치 계산용 라이브러리 numpy
1.3.2 데이터 프레임, pandas사용법
- 배열안의 배열로 사용하여 데이터 프레임 생성가능
- 데이터 프레임 사용시 데이터 가공과 집계 가능
- JSON , 텍스트 데이터를 데이터 프레임으로 변환 후 가공 & 집계
- 웹 사이트의 액세스 가공 & 집계
- 시계열 데이터를 대화식으로 집계 가능
- 시간을 인덱스로 지정하여 시계열 데이터 분석 가능
- SQL결과 활용
1.4 BI 도구와 모니터링
1.4.1 모니터링
- (스프레드시트에 의한) 모니터링
- 프로젝트의 현재 상황 파악
- 데이터에 근거한 의사결정
- KPI 모니터링 ( Key Performance Indicator) 를 이용한 프로젝트 현황 파악
1.4.2 BI도구 이용
- 변화를 파악하고 세부 사항 이해
- 정기적인 보고서에 의한 변화 파악과 재집계
- 모니터링의 기본 전략 및 BI도구
- BI도구는 변화 원인 파악에 특화된 SW
- 적절한 데이터 준비 > BI도구로 시각화
댓글 영역