새소식

컴퓨터공학 💻/딥러닝

[딥러닝 기초이론] 빅데이터 기술의 이해

  • -
빅데이터 기술의 이해

 

유튜브(Youtube) 동영상 스트리밍 서비스에 대해 모르시는 분은 아마 없을 것이라 생각됩니다. 와이즈앱에 의하면 최근 유튜브 서비스는 한국인이 한달 간 가장 오래 쓴 어플리케이션으로 총 317억 분을 달성해 1위를 기록했습니다.
또한 전세계 유튜브 안에서 1분마다 대략 400시간 정도의 동영상이 업로드되고 있다고 합니다. 이것은 인터넷의 방대한 규모의 문자, 이미지, 동영상과 같은 데이터들이 점점 더 빠르게 생성되고 있다는 것을 의미합니다.

 

이렇게 매 순간 마다 생성되는 동영상 데이터의 시스템을 처리하고 분석하고 관리를 하는 것은 매우 어려울 것입니다. 그래서 방대한 데이터를 수집하고 저장하고 분석을 통해서 정보를 생성하는 빅데이터 기술이 필요합니다.

 

빅데이터의 특징

빅데이터의 특징은 크게 3가지로 Velocity(데이터의 생성 속도), Volume(데이터의 양), Variety(데이터의 다양성)이 존재합니다.

Velocity : 실시간으로 데이터를 생산하고 생산된 데이터를 분석을 통해 처리합니다.

Volome : 데이터의 양이 방대해지면서 수 백 테라 혹은 페타바이트 이상으로 증가합니다.

Variety : 데이터의 다양성에는 다시 3가지의 데이터가 존재합니다.

• 정형 데이터 (structured) : csv, xlsx와 같이 혹은 관계형 데이터베이스, 스프레드시트에 고정된 필드에 저장된 데이터.
• 비정형 데이터 (Unstructured) : 고정된 필드에 저장되어 있지 않고 일정한 형태가 아닌 데이터.
• 반정형 데이터 (semi-structured) : html, json과 같이 고정된 필드는 아니지만 스키마를 포함한 데이터.

 

이외에 Veracity(데이터의 정확성), Variability(데이터의 가변성), Visualization(데이터의 시각화)의 특징들도 가집니다.

 

빅데이터의 처리 속성

• 의사 결정 속도 : 빠른 의사 결정이 상대적으로 덜 요구되어 장기적, 전략적인 접근이 필요합니다.
• 처리복잡도(Processing Complexity) : 다양한 데이터 소스, 복잡한 로직 처리, 대용량 데이터 처리로 처리 복잡도가 높아 분산 처리 기술이 필요한 지 판단합니다.
• 데이터 규모 : 처리할 데이터 규모가 방대합니다. 고객 정보를 수집 및 분석을 장기간에 걸쳐 수행해야 하므로 처리해야 할 데이터양이 더욱 더 방대해집니다.
• 데이터 구조 : 비정형 데이터의 비중이 증가하여 소셜 미디어 데이터, 로그 파일 스트림 데이터, 콜센터 로그 등 비정형 데이터 파일의 비중이 높다는 것에 포커스를 맞춥니다.
• 분석 유연성(Analysis Flexibility) : 처리 및 분석 유연성이 높고 잘 정의된 데이터 모델, 상관관계, 절차 등이 없으므로 기존의 데이터 처리 방법에 비해 높은 처리와 유연성이 특징입니다.
• 처리량(Throughput) : 동시 처리량이 낮고, 대용량 + 복잡한 처리가 가능하기에 동시에 처리할 수 있는 데이터 양이 적어, 실시간 처리로 인한 서비스와 같은 비즈니스 모델, 데이터분석 모델에는 부적합하거나 사전의 처리를 진행한 후 실시간이 이루어져야 합니다.

 

빅데이터 처리 과정과 기술

1단계 [데이터소스] : (1) DBMS나 시스템의 내부데이터 (2) SNS 등의 소셜미디어, 공공데이터와 같은 데이터 웨어 하우스 등의 외부데이터 (3) 이미지, 영상 등의 미디어들이 처리를 위한 소스가 됩니다.

 

<데이터 소스의 생성>

• 내부 데이터 수집 : 자체적으로 보유한 내부 파일시스템, 데이터베이스 관리시스템 센서 등으로 정형 데이터를 수집합니다.
• 외부 데이터 수집 : 인터넷으로 연결된 외부의 이미지, 영상, 문서, 텍스트 등의 비정형 데이터를 수집합니다.

 

2단계 [수집] : 비즈니스 목적에 알맞은 데이터 소스를 수집합니다. 시스템이나 소프트웨어를 이용하여 로그를 수집하거나, 크롤링, 하드웨어를 이용한 방법이 있습니다.

 

• 로그 수집기 : 내부에 있는 웹서버 로그를 수집합니다. (웹 로그, 트랜잭션 로그, 클릭 로그, DB 로그, 사용자 로그 등)
• 크롤링 : 주로 웹 로봇, 크롤링 프로그램으로 거미줄처럼 얽혀 있는 인터넷 링크를 따라다니며 방문한 웹사이트의 웹페이지, 소셜 데이터 등 인터넷에 공개되어 있는 데이터를 수집합니다.
• 센싱 : 각종 센서로 데이터들을 수집합니다. (이미지, 음성, 온도, 전력, 압력, 화학물질, 전파/방사능, 수온, 강우/수량 등)
• RSS 리더 / Open API : 데이터의 생산, 공유, 참여 환경인 웹2.0을 구현하는 기술로 필요한 데이터를 프로그래밍으로 수집합니다.
• ETL (Extraction, Transformation, Loading) : 데이터의 추출, 변환, 적재의 약자입니다. 다양한 소스 데이터를 취합하여 데이터를 추출하고 하나의 공통된 형식으로 변환하여 데이터 웨어하우스에 적재하는 과정을 지원합니다. 여기서 데이터의 전처리와 저장 단계가 진행되기도 합니다.


3단계 [저장] : 수집한 데이터들은 정형, 비정형, 반정형의 형태를 갖추면 적절한 방법으로 빅데이터 시스템에 저장합니다.

 

• 분산 파일 시스템

컴퓨터 네트워크로 공유하는 여러 호스트 컴퓨터 파일에 접근할 수 있는 파일시스템을 갖춥니다.
기술_ GFS (Google File System), HDFS (Hadoop Distributed File System), 아마존 Cloud의 S3 파일 시스템.
• NoSQL

데이터 모델을 단순화하여 관계형 데이터 모델과 SQL을 사용하지 않는 모든 DBMS, 데이터 저장장치에서 사용됩니다.
기술_ Cloudata, HBase, Cassandra.
• 병렬 DBMS

다수의 마이크로프로세서를 사용하여 여러 디스크의 질의, 갱신, 입출력 등 데이터베이스 처리를 동시에 수행하는 데이터 베이스 시스템입니다.
기술_ VoltDB, SQP HANA, Vertica, Greenplum, Netezza.
• 네트워크 구성 저장 시스템
서로 다른 종류의 데이터 저장 장치를 하나의 데이터 서버에 연결하여 총괄적으로 데이터를 저장 및 관리합니다.
기술_ SAN (Storage Area Network), NAS (Network Attached Storage).


4단계 [처리] : 수집한 데이터들을 실시간으로 일괄 처리하게 되는데, 이것은 일종의 데이터 정제 과정입니다. 데이터셋에서 원하는 부분만 혹은 전체를 추출하고, 분석을 위해 데이터셋을 재배치하는 등의 데이터 셋의 폼을 바꾸는 과정입니다.


5단계 [분석] : 상황에 따라 앞선 처리과정에서 전처리가 될 수도 있고 혹은 분석과정에서 먼저 전처리를 진행합니다. 데이터들 분석할 수 있는 형태(Type)로 전처리한 후, 수학적인 기법을 적용하여 통계 분석하며, AI에서 대표적인 딥러닝, 머신러닝 기법들을 통해 예측, 분류 등의 분석결과를 생성합니다.

 

• 텍스트 마이닝 Text Mining
자연어처리 NLP 기술로 인간의 언어로 쓰인 비정형 텍스트에서 유용한 정보를 추출하거나 다른 데이터와의 연계성을 파악하여, 분류나 군집화 등 빅데이터에 숨겨진 의미 있는 정보를 발견하는 분석 방법입니다.

• 웹 마이닝 Web Mining
인터넷에서 수집한 정보를 데이터 마이닝 기법으로 분석하는 방법입니다.

• 오피니언 마이닝 Opinion Mining
평판 분석이라 하며, 다양한 온라인 뉴스, SNS, 사용자가 만든 콘텐츠에서 표현된 의견을 추출, 분류, 이해와 자산화하는 컴퓨팅 기술입니다.
텍스트 속의 감성과 감동, 여러가지 감정 상태를 식별하려고 감성 분석을 사용합니다.
마케팅에서는 버즈 Buzz(입소문) 분석이라고도 불립니다.

• 리얼리티 마이닝 Reality Mining
휴대폰, 모바일 디바이스, 단말기 등의 기기를 사용하여 인간관계와 행동 양태 등을 추론합니다. 통화량, 통화 위치, 통화 상태, 대상, 내용 등을 분석하여 사용자의 인간관계, 행동 특성 등의 정보를 찾아냅니다.
• 소셜네트워크 분석 Social Network Analysis
수학의 그래프 이론 Graph Theory 을 바탕으로 소셜 네트워크 서비스에서 소셜 네트워크 연결 구조와 연결 강도를 분석하여 사용자의 명성 및 영향력을 측정하는 기법입니다.

• 분류 Classification
미리 알려진 클래스들로 구분되는 훈련 데이터군을 학습시켜 새로 추가되는 데이터가 속할 만한 데이터군을 찾는 지도학습 방법입니다.
가장 대표적인 방법으로 KNN(K-Nearest Neighbor)과 인공신경망을 적용하는 방법이 있습니다.

• 군집화 Clustering
특성이 비슷한 데이터를 합쳐 군으로 분류하는 학습 방법입니다.
분류방법과는 다르게 훈련 데이터 군을 이용하지않는 비지도 학습방법을 사용합니다.
트위터 등의 SNS에서 주로 사진/카메라를 이용하는 사용자군과 게임에 관심이 있는 사용자군 등의 예시처럼 관심사나 취미에 따라 군집으로 분류할 수 있습니다.

• 기계학습 Machine Learning
인공지능 분야에서 인간의 학습을 모델링한 알고리즘으로 흔히 아는 딥러닝 기법도 포함함.
컴퓨터가 학습할 수 있도록 알고리즘과 기술을 개발하여 수신한 이메일의 스팸여부과 같은 추상적이거나 특징 (feature)를 추출하기 어려운 경우 신경망으로 판단을 할 수 있도록 학습(훈련)을 합니다.
결정 트리 (Decision Tree) 등 기호적 학습, 신경망이나 유전자 알고리즘 등의 비기호적 학습, 베이지안 (Bayesian) 이나 은닉 마코프 Hidden Markov, 확률적 학습 등 다양한 기법들이 있습니다.

• 감정 분석 Sentiment Analysis
문장의 의미를 파악하여 글의 내용에 긍정/부정, 좋음/나쁨의 이진 분류를 하거나, 만족/중간/불만족처럼 강도를 지수화 하고, 해당 지수를 이용한 고객의 감성 트렌드를 시계열적으로 분석하고 고객 감성 변화에 기업의 신속한 대응과 부정적인 의견의 확산을 방지하는 비즈니스 요구사항에 활용할 수 있습니다.


6단계 [표현] : 분석결과를 시각화 하는 과정으로 분석결과 그 자체가 될 수 있으며 그래프, 스프레드시트, DB, 인포그래픽 등 다양한 형태로 직관적이고 보기 편하게 표현합니다.

 

활용 분야

제조업, 의료업, 금융업 등 다양한 산업군에서 다양하게 활용됩니다.

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.