본문 바로가기
데이타베이스

빅 데이터 개요 및 처리 기술 소개

by minimax95 2020. 4. 29.

 

1. 빅 데이터의 정의

빅 데이터는 전례 없이 빠른 속도로 쏟아져 나오는 다양한 종류의 데이터로서 이른바 속도(Velocity), 크기(Volume), 다양성(Variety) 3V로 일컬어진다.(Gartner)

빅데이터는 기존 데이터보다 너무 방대하여 기존의 방법이나 도구로 수집/저장/분석 등이 어려운 정형 및 비정형 데이터들을 의미한다.

빅데이터를 기존 데이터베이스 관리 도구의 데이터 수집, 저장, 관리, 분석하는 역량을 넘어서는 규모로서 그 정의는 주관적이며 앞으로도 계속 변화될 것이라고 언급하고 있다. 어떤 그룹에서는 빅데이터를 테라바이트 이상의 데이터라고 정의하기도 하며 대용량 데이터를 처리하는 아키텍처라고 정의하기도 한다.(매켄지)

 

빅데이터에서 사용되는 단위는 아래와 같다.(^는 승수)

Giga 2^30 < Tera 2^40 < Peta 2^50 < Exa 2^60 < Zetta 2^70 < Yotta 2^80

GB < TB < PB < EB < ZB < YB

 

2. 빅데이터의 공통적 속성 3V

빅데이터의 공통적 특징은 3V로 설명할 수 있다. 3V데이터의 크기(Volume), 데이터의 속도(Velocity), 데이터의 다양성(variety)을 나타내며 이러한 세 가지 요소의 측면에서 빅데이터는 기존의 데이터베이스와 차별화된다.

데이터 크기(Volume)는 단순 저장되는 물리적 데이터양을 나타내며 빅데이터의 가장 기본적인 특징이다.

데이터 속도(Velocity)는 데이터의 고도화된 실시간 처리를 뜻한다. 이는 데이터가 생성되고, 저장되며, 시각화되는 과정이 얼마나 빠르게 이뤄져야 하는지에 대한 중요성을 나타낸다.

다양성(Variety)은 다양한 형태의 데이터를 포함하는 것을 뜻한다. 정형 데이터뿐만 아니라 사진, 오디오, 비디오, 소셜 미디어 데이터, 로그 파일 등과 같은 비정형 데이터도 포함된다.

이외에도 세 가지가 더 추가되었는데 첫째로 정확성을 살펴보자.

빅데이터를 분석하는 데 있어 기업이나 기관에서 수집한 데이터가 정확한 것인지, 분석할 만한 가치가 있는지 등을 살펴야 하는 필요성이 생겼고 이에 빅데이터의 새로운 속성인 정확성(Veracity)이 제시되고 있다.

둘째로 가변성이다. 소셜미디어의 확산으로 자기 의견을 웹을 통해 자유롭게 게시하는 것이 쉬워졌지만 실제로 자신의 의도와는 달리 자기 생각을 글로 표현하게 되면 데이터가 맥락에 따라 의미가 달라진다고 하여 빅데이터의 새로운 속성으로 가변성(Variability)이 제시되고 있다.

끝으로 시각화이다. 빅데이터의 정보는 정보의 사용 대상자가 쉽게 이해할 수 있어야 한다. 그렇지 않으면 정보의 가공을 위해 소모된 시간적, 경제적 비용이 무용지물이 될 수 있기 때문이다. 이러한 필요성으로 인해 빅데이터의 새로운 속성으로 시각화(Visualization)가 제시되고 있다.

앞으로 정보사회가 발전할 수록 이러한 속성들은 더 추가될 것으로 전망된다.

 

3. 처리기술

Batch, CEP, Flume, Sqoop, HDFS, GFS, Map Reduce, MPI, BSP, R, Hive, Mahout 등이 있다.

 

4. 플랫폼

IBM InfoSphere BigInsights, Hadoop, Cloudera Impala, Splunk, Dremel, Raonbit, IRIS 등이 있다.

 

5. 활용

텍스트 마이닝, 데이터 마이닝, 지능형 영상분석, 실시간 대용량 스트림 분석, 프로세스 마이닝 등에 활용할 수 있다.

*4~6항은 그 내용 하나하나가 방대하여 키워드 중심으로 더 자세히 살펴봐야 할 부분이다.

 

6. 빅 데이터 처리

  6-1. 빅데이터 소스 생성과 수집 기술

내부 데이터를 수집하는 경우 자체적으로 보유한 내부 파일 시스템, 데이터베이스 관리시스템 센서 등으로 정형 데이터 수집하는 것을 말하고 외부 데이터는 인터넷으로 연결된 외부의 이미지, 영상, 문서, 텍스트 등의 비정형 데이터를 말한다.

 

수집기술에는 아래와 같이 다양한 기술을 통해 수집할 수 있다.

 =>로그 수집기 : 내부에 있는 웹서버 로그 수집. 웹로그, 트랜잭션 로그, 클릭 로그, DB로그, 사용자 로그 등을 수집

 => 크롤링 : 주로 웹 로봇, 크롤링 프로그램으로 거미줄처럼 얽혀 있는 인터넷 링크를 따라다니며 방문한 웹사이트의 웹페이지라든가 소셜 데이터 등 인터넷에 공개되어 있는 데이터를 수집

 =>센싱 : 각종 센서로 데이터들을 수집. 이미지, 음성, 온도, 전력, 전압, 압력, 화학물질, 전파/방사능, 수온, 강우/수량 등

 =>RSS리더/Open API : 데이터의 생산, 공유, 참여 환경인 웹 2.0을 구현하는 기술로 필요한 데이터를 프로그래밍으로 수집

 =>ETL(Extraction, Transformation, Loading) : 데이터의 추출, 변환, 적재. 다양한 소스 데이터를 취합하여 데이터를 추출하고 하나의 공통된 형식으로 변환하여 데이터 웨어하우스에 적재하는 과정을 지원. 여기서 데이터의 전처리와 저장 단계가 진행되기도 함

 

  6-2. 빅데이터 저장 기술

분산 파일 시스템 : 컴퓨터 네트워크로 공유하는 여러 호스트 컴퓨터 파일에 접근할 수 있는 파일 시스템.아마존 Cloud S3 파일시스템

 

NoSQL : 데이터 모델을 단순화하여 관계형 데이터 모델과 SQL을 사용하지 않는 모든 DBMS, 데이터 저장장치에서 사용. => Cloudata, HBase, Cassandra

 

병렬 DBMS : 다수의 마이크로프로세서를 사용하여 여러 디스크의 질의, 갱신, 입출력 등 데이터베이스 처리를 동시에 수행하는 데이터 베이스 시스템. => VoltDB, SQP HANA, Vertica, Greenplum, Netezza

 

네트워크 구성 저장 시스템 : 서로 다른 종류의 데이터 저장 장치를 하나의 데이터 서버에 연결하여 총괄적으로 데이터를 저장 및 관리 => SAN(Storage Area Network), NAS(Network Attached Storage)

 

  6-3 빅데이터 처리 기술

빅데이터 일괄 처리 기술 : 빅데이터를 여러 서버로 분산하여 각 서버에서 나누어 처리하고, 이를 다시 모아서 결과를 정리하는 분산처리 기술 방식 => 구글 맵리듀스, 하둡 맵리듀스, 마이크로소프트 Dryad

 

빅데이터 실시간 처리 기술 : 스트림 처리 기술로 강화된 스트림 컴퓨팅을 지원하는 IBMInfoSphere 인포스피어 스트림즈, 분산 환경에서 스트리밍 데이터를 분석할 수 있게 해주는 트위터의 Storm이 있음

 

빅데이터 처리 프로그래밍 지원 기술 : 분산 데이터를 처리하는 프로그래밍 언어인 구글의 Sawzall과 병렬 처리를 하는 고성능 데이터-플로우 언어와 실행 프레임워크인 하둡 Pig가 있음

 

'데이타베이스' 카테고리의 다른 글

MySQL Workbench 사용법  (2) 2020.05.15
R 프로그래밍[1]  (0) 2020.05.11
R 프로그래밍[0]  (0) 2020.05.09
데이터베이스 연동(C#)  (2) 2020.05.06
DB 이중화(MariaDB Replication)  (2) 2020.04.25

댓글