본문 바로가기

EDU

16차시. 빅데이터 처리 기술 기획하기

차시목표
1. 데이터의 크기, 생성 속도, 빈도에 따른 빅데이터 처리 요구 사항을 도출하고 도출된 요구 사항에 따라 빅데이터 처리를 위한 하드웨어 및 소프트웨어를 살펴본다.
2. 수립된 구성 요소를 통합하여 처리 모듈을 기획할 수 있다.
3. 데이터 처리를 위한 데이터 정합성 및 검증 모듈을 수립할 수 있다.
4. 데이터 처리 방식과 처리 결과로 시각화와 표현 방안을 수립할 수 있다.
주요내용
1. 데이터의 시각화 학습하기
2. ETL(Extract, Transform, Load) 학습하기
3. 데이터 분석 기법 학습하기
4. 업무 요건을 고려한 데이터 분석 방안의 정의 학습하기
5. 데이터 사전 처리 및 사후 처리 방안의 정의 학습하기
6. 데이터 처리 방식과 처리 결과에 대한 시각화 표현 방안의 수립 학습하기
7. 데이터의 활용 및 유통 시 정보 보안 요건의 검토

 

■ 빅데이터 처리 기술 기획하기

1. 데이터의 시각화

- 분석된 데이터를 시각화하여 표현하는 것이며, 시각화된 데이터를 통해 분석자가 데이터의 패턴(pattern), 미분(differentiation), 이상점(outlier)을 발견할 수 있습니다. 

분석자는 데이터에 내재되어 있는 인사이트를 얻기 위한 목적으로 이 방법을 사용합니다.
데이터의 시각화를 통해 시각적 표현 요소인 위치, 사이즈, 모형, 컬러, 크기 등을 통해 다른 수단으로는 전달하기 어려운 통찰력을 제공합니다. 

또 일정한 패턴, 색상 등을 활용하여 데이터의 의미를 쉽게 파악할 수 있습니다. 

 

2. ETL(Extract, Transform, Load) 

- ETL은 데이터 원천으로부터 필요한 데이터를 추출하여 목표 시스템의 데이터 마트나 데이터 웨어하우스에 적재하는 기능을 제공하는 기법입니다. 

데이터에 대한 품질과 신뢰성 보장을 위한 솔루션입니다. 

데이터의 추출, 재구성, 정제, 통합, 변형 등을 포함하고 있으며, 시스템에서 필요한 데이터가 개별 시스템에 상이한 형태로 분산되어 있는 문제를 해결합니다. 

실시간으로 데이터 추출 요구 사항이 있는 경우에는 CDC(Change Data Capture)의 도입을 고려할 수 있습니다.


 ● 데이터 분석 기법과 그에 대한 설명

- 예측: 데이터 분석을 통해 아직 발생하지 않은 사건에 대한 예측을 수행하는 기법입니다. 

- 분류: 사전에 알려진 기준에 따라 분류된 데이터군을 학습시켜 새로운 데이터가 추가될 경우 적합한 데이터군을 찾는 기법입니다
- 클러스터링(Clustering): 유사한 특징이 있는 데이터들을 차례로 합병하면서 유사 특성군으로 분류하는 방법입니다. 

- 데이터 마이닝(Data Mining): 데이터베이스의 대용량 데이터로부터 패턴 인식, 통계 분석 등을 이용하여 데이터 간의 연관성 분석 및 유용한 정보를 추출하는 기법입니다. 

- 텍스트 마이닝(Text Mining): 텍스트 기반의 데이터로부터 새로운 정보를 발견할 수 있도록 정보의 검색, 추출, 체계화, 분석을 모두 아우르는 텍스트 프로세싱(Text-Processing) 기술 및 처리 과정입니다. 

- 오피니언 마이닝(Opinion Mining): 텍스트 마이닝의 일종으로 감성 분석이라고도 합니다. 

SNS 등의 비정형 및 정형 텍스트에 대한 긍정(positive), 부정(negative), 중립(neutral)의 의견과 선호도를 분류하는 기법입니다. 

- 소셜 웹(Social Web) 분석: 대용량 소셜 네트워크 서비스(SNS)에 대한 정보를 추출하여 트렌드를 탐지합니다. 시간의 흐름에 따라 유통되는 이슈 및 향후 추세를 분석하는 기술입니다. 

 

1. 업무 요건을 고려한 데이터 분석 방안의 정의

● 하둡 기반의 분석 방안의 정의
- 연계와 수집을 통해 추출한 정형 및 비정형 데이터에 대해 분류, 가공 등의 전처리 과정을 거쳐 배치 방식으로 데이터를 분석합니다. 

데이터의 분석에는 저장된 대용량 데이터나 요약 데이터가 아니라 대규모 원본 데이터를 분석합니다.

 

● 실시간 분석 방안의 정의
- 데이터를 보관하지 않은 상태에서 분석이 필요한 업무이거나 이동 중인 데이터에서 가치 있는 인사이트를 찾기 위한 업무에 사용되는 분석입니다. 

지속적으로 입력되는 대량의 데이터나 순서에 의미가 있는 데이터를 분석합니다. 

다수의 실시간 원천 데이터로부터 발생한 이벤트를 대상으로 실시간 데이터 추출을 통해 분석을 수행합니다. 

기업 환경에서 경쟁력을 확보하기 위해 빅데이터를 저장하고 분석하는 것을 넘어 데이터 발생 시점에 실시간으로 처리하고 예측을 가능하게 하는 데이터 분석을 패스트 데이터(Fast Data)라고 합니다. 

 

● 사용자 주도 분석 방안의 정의
- 원하는 데이터를 선택해서 사용자 관점에서 분석이 필요한 업무이거나, 다양한 관점에서 데이터를 분석하여 최적의 결과를 찾기위한 업무에 사용되는 분석 입니다. 

시스템이 아닌 사용자의 결정에 따라 선택되어지는 데이터 또는 제약 없이 원하는 방식으로 데이터를 결합하여 분석합니다. 

기존 온라인 분석 처리(OLAP)에 해당하는 사용자 주도 분석은 수집 및 저장 된 데이터 중에서 필요 데이터를 ETL을 통해 선별하여 적재하고, 사용자의 요구에 따라 다양한 관점에서 분석을 수행할 수 있도록 기능을 제공합니다. 

 

2. 데이터 사전 처리 및 사후 처리 방안의 정의

● 데이터 사전 처리 방안의 정의
- 수집된 데이터는 바로 분석에 활용할 수 없는 경우가 많으므로 분석에 적합하도록 가공하여 활용할 수 있는 체계가 필요합니다. 

① NoSQL 중심의 분석 체계를 구성합니다. RDB 형태로 저장된 데이터를 분석의 효율을 위해 칼럼 형태로 재구성하여 저장할 수 있도록 구성할 필요가 있습니다. 

② 텍스트 마이닝, 패턴 추출 등의 기법을 활용하여 문서 파일이나 웹 콘텐츠 등의 비정형 데이터를 정형 데이터로 변환합니다. 

 

● 중요 보안 등급의 정보 포함 여부를 검토하는 방법
- 정보 흐름 검토
- 간접 추론 검토
- 사용자 View 검토


● 데이터 사후 처리 방안의 정의
① 메타데이터를 구성합니다. 

수집된 데이터의 프로파일 정보, 데이터의 저장이력 정보, 분석 결과 데이터의 프로파일 정보 등을 관리할 수 있도록 메타데이터를 구성합니다. 

메타데이터는 원본 데이터와 가공 및 분석 결과 데이터를 구분하여 항목을 설정합니다. 

② 데이터 저장소에 저장된 데이터를 데이터 분석을 위한 데이터 마트나 샌드박스로 적재합니다. 

데이터를 적재할 때 ETL 프로그램을 사용하거나 직접 데이터 추출 및 저장 스크립트를 작성할 수 있습니다. 

 

● 빅데이터 분석 처리에 필요한 소프트웨어 구성 요소의 정의
① R 적용을 고려합니다. 

R은 통계 분석 도구인 SPSS처럼 데이터의 입력, 출력, 처리, 분석, 시각화 등의 다양한 분석 알고리즘과 공개 라이브러리를 제공 할 수 있습니다. 

또 분석 결과를 그래픽으로 표현하는 기능 지원이 강력한 오픈소스 소프트웨어입니다. 

② 머하웃(Mahout) 적용을 고려합니다. 

머하웃(Mahout)은 하둡 기반으로 데이터 마이닝 알고리즘을 구현한 오픈소스입니다.
데이터의 분류, 클러스터링, 그룹핑, 회귀 분석, 패턴 마이닝, 차원 리덕션 등의 주요한 분석 알고리즘을 지원합니다.

③ 하이브(Hive) 적용을 고려합니다.

하이브는 셀렉, 조인, 그룹 바이, 리밋 등 SQL과 유사한 문법을 지원하며, 대용량 데이터의 분석이 가능합니다.

CLI(Command Line Interface)를 통한 인터랙티브 쿼리를 지원하며, Web과 JDBC 클라이언트를 제공합니다.

 

● 데이터 처리 구성 요소의 정의
① 분석 클러스터를 정의합니다. 

분석 클러스터는 분석 마트 및 분석 마트 테이블이 위치하는 분석 클러스터 서버를 구성합니다.
분석 클러스터 서버는 수집 클러스터로부터 데이터의 적재를 받습니다.

② 병렬 처리 시스템을 정의합니다.

병렬 처리 시스템은 다수의 노드에서 병행으로 데이터 분석을 수행하여 고성능 분석 시스템을 구현합니다. 
③ 데이터 유통 시스템을 정의합니다.

데이터 유통 시스템은 데이터 분석 결과를 다른 시스템에 제공하기 위한 데이터 유통 시스템을 구성합니다. 

분석된 결과를 경영 지원 시스템이나 의사결정 시스템에서 활용하기 위한 표준화된 데이터의 제공 방안을 마련합니다. 

 

3. 데이터 처리 방식과 처리 결과에 대한 시각화 표현 방안의 수립

● 사용자 대시 보드의 구성
- 데이터 처리 결과를 사용자에게 전달하기 위한 수단으로 대시 보드를 구현할 수 있다. 

- 내부적으로 수집 데이터를 기준에 따라 체계적으로 분류하고 이상 없이 활용할 수 있도록 데이터의 시각화나 사용자 접근성까지 고려되어야 한다. 

- 대시 보드의 구성 요소에는 정보 리포팅, 사용자 인터페이스, 페이지 레이아웃이 있다. 

① 리포팅 기능을 정의합니다. 데이터의 집계, 통계 정보를 그리드, 차트 등을 이용하여 직관적으로 전달할 수 있는 리포팅 기능이 제공되어야 합니다. 

② 사용자 인터페이스를 설계합니다. 

빅데이터의 수집, 저장, 연계 구성 요소의 경우에는 별도의 사용자 인터페이스가 제공되지 않거나 관리 목적의 CLI(Command Line Interface)가 대부분이지만, 대시 보드의 경우에는 웹 페이지 등의 사용자 친화적인 인터페이스가 제공됩니다. 

③ 편의성을 고려한 페이지 레이아웃을 정의합니다. 

데이터의 필터링, 검색, 상세 분석 등의 사용자와 상호 작용이 가능한 기능을 통한 데이터 조작 편의성을 고려하여 구성합니다. 

 

● 데이터의 시각화 방안의 정의
- 데이터의 시각화는 분석한 데이터를 사용자에게 직관적으로 전달하기 위한 표현 기법인 동시에 표현된 데이터를 통해 인사이트를 도출해 내기 위한 수단으로도 사용됩니다. 

● 데이터의 시각화 절차의 정의
- 데이터의 시각화는 정보의 구조화, 시각화 특성의 정의, 시각화 표현을 순서대로 수행합니다. 

- 정보의 구조화: 대량의 데이터에서 정보를 찾아내어 빅데이터의 시각화를 위한 구조화를 수행합니다. 

- 시각화 특성의 정의: 구조화된 정보의 특징을 표현할 수 있는 도표나 그래프를 선택합니다. 

- 시각화 표현: 명확한 시각화 표현을 위해 별도의 도표나 그래픽 요소를 추가 합니다. 

 

4. 데이터의 활용 및 유통 시 정보 보안 요건의 검토

- 분석이 완료된 데이터를 사용자나 활용 시스템을 제공하기 전에 정보 보안 관련 검토를 수행하도록 합니다.

 

 

 

 

데이터의 시각화란 분석된 데이터를 시각화하여 표현하는 것이며, 시각화된 데이 터를 통해 분석자가 데이터의 패턴(pattern), 미분(differentiation), 이상점 (outlier)을 발견할 수 있다. O
[해설]
데이터의 시각화 분석된 데이터를 시각화하여 표현하는 것이며, 시각화된 데이터를 통해 분석자가 데이터의 패턴(pattern), 미분(differentiation), 이상점(outlier)을 발견할 수 있습니다.
분석자는 데이터에 내재되어 있는 인사이트를 얻기 위한 목적으로 이 방법을 사용합니다.
데이터의 시각화를 통해 시각적 표현 요소인 위치, 사이즈, 모형, 컬러, 크기 등을 통해 다른 수단으로는 전달하기 어려운 통찰력을 제공합니다.
또 일정한 패턴, 색상 등을 활용하여 데이터의 의미를 쉽게 파악할 수 있습니다.
데이터 분석 기법 중 오피니언 마이닝(Opinion Mining)은 유사한 특징이 있는 데이터들을 차례로 합병하면서 유사 특성군으로 분류하는 방법이다. X
[해설]
오피니언 마이닝(Opinion Mining): 텍스트 마이닝의 일종으로 감성 분석이라고도 합니다.
SNS 등의 비정형 및 정형 텍스트에 대한 긍정(positive), 부정 (negative), 중립(neutral)의 의견과 선호도를 분류하는 기법입니다.
ETL(Extract, Transform, Load)란 데이터 원천으로부터 필요한 데이터를 추 출하여 목표 시스템의 데이터 마트나 데이터 웨어하우스에 적재하는 기능을 제 공하는 기법이다. O
[해설]
ETL(Extract, Transform, Load) 데이터 원천으로부터 필요한 데이터를 추출하여 목표 시스템의 데이터 마트나 데이터 웨어하우스에 적재하는 기능을 제 공하는 기법입니다.
데이터에 대한 품질과 신뢰성 보장을 위한 솔루션입니다.
데이터의 추출, 재구성, 정제, 통합, 변형 등을 포함하고 있으며, 시스템에서 필요한 데이터가 개별 시스템에 상이한 형태로 분산되어 있는 문제를 해결합니다.