본문 바로가기
Computer Science/데이터베이스

[데이터베이스] 빅데이터(Big Data)

by 클레어몬트 2024. 6. 21.

빅데이터(Big Data): 기존의 관리 방법이나 분석 체계로는 처리하기 어려운 방대한 양의 정형, 반정형, 비정형 데이터의 집합 [TTA 정보통신용어사전]

 

빅데이터 유형 3가지

- 정형 데이터(Structed Data): 형식과 구조가 있는 데이터

RDB의 테이블 데이터

 

 

- 반정형 데이터(Semi-Structed Data): 형식과 구조가 변경될 수 있는 데이터

HTML

 

데이터의 구조 정보를 데이터와 함께 제공하는 파일 형식의 데이터

e.g. HTML, XML, JSON(Javascript Object Notation), RDF(Resource Description, Framework)

질의 처리가 어려워 데이터 분석에 사용 시 정형 데이터로 변환하여 사용한다

- JSON 데이터는 CSV(Comma Separated Value) 또는 테이블 형태로 쉽게 변환이 가능하다

 

 

- 비정형 데이터(Unstructed Data): 형식과 구조가 없는 데이터

동영상 파일, 오디오 파일, 사진, 문서, 메일 본문

 

데이터의 특징을 추출하여 정형/반정형 데이터로 변환하는 전처리가 필요

데이터 분석 또는 인공지능 모델의 개발 목적과 입력 데이터의 종류에 따라 매우 다양한 방법의 전처리를 사용한다

 

 

 

[빅데이터의 공통적 특성] 3V

Volume: TB단위 이상의 데이터

Velocity: 고도화된 실시간 처리

Variety: 다양한 형태의 데이터(정형, 반정형, 비정형 등)

[빅데이터의 확장된 특성] 4V / 5V / 6V / 7V

Veracity: 데이터의 진실성(정확 + 신뢰)

Value: 가치 있는 데이터

Variability: 가변성 - 원래의 의미가 그대로 반영되며 바뀌는

Visualization: 그림이나 도표로 시각화

 

 

<빅데이터 처리 과정>

빅데이터 생명주기

ㅁ빅데이터 수집 기술 / 방법

ㅇ크롤링

웹 로봇(웹 크롤러)가 인터넷 링크를 따라다니며 방문한 웹 사이트의 웹 페이지 / 소셜 데이터 등 공개되어 있는 데이터를 수집

(서버의 데이터들을 크롤링하지 못하도록 설정 가능)

 

ㅇ로그 수집기

내부 웹 서버의 웹 로그, 트랜잭션 로그, 클릭 로그, DB의 로그 데이터 등을 수집

+ 방화벽 등에서도 생성된 다양한 로그 수집

 

ㅇ센싱

각종 센서로 데이터 수집

※ 최근 사물 인터넷을 통한 데이터 수집 활발

 

ㅇRSS 리더 / 오픈 API

데이터 생산-공유-참여 환경인 웹 2.0을 구현하는 기술로 필요한 데이터를 프로그래밍으로 수집

 

ㅇETL(Extraction, Transformation and Loading)

데이터의 추출, 변환, 적재를 통해 다양한 소스 데이터를 취합해 데이터를 추출하고 하나의 공통된 형식으로 변환하여 데이터 웨어하우스에 적재하는 과정

 

 

ㅁ빅데이터 저장 접근 방법

ㅇ분산 파일 시스템

 

ㅇNoSQL: 기존 RDB보다 비정형 데이터를 관리하는 데 우수 (일관성보다 가용성 및 확장성에 중점)

e.g. 몽고DB, H베이스, 카산드라, 카우치DB 등

 

ㅇ병렬 DBMS

 

ㅇ네트워크 구성 저장 시스템

 

 

ㅁ빅데이터 처리 기술

ㅇ맵리듀스: 빅데이터를 여러 서버로 분산하여 나누어 처리하고 이를 다시 모아 결과를 정리하는 분산+병렬 방식

e.g. Google의 맵리듀스, 하둡의 맵리듀스, microsoft의 드라이애드

 

ㅇ하둡: 대용량 데이터를 분산 처리할 수 있는 자바 기반의 오픈 소스 프레임워크로 구성

- 분산 파일 시스템인 HDFS(Hadoop Distributed File System)에 데이터를 저장

- 분산 처리 시스템인 맵리듀스를 이용해 데이터 처리

장점: 기존 데이터베이스 시스템보다 적은 비용, 여러 대의 서버에 데이터가 분산 저장되어 빠른 처리 속도

 

ㅇR: 통계계산과 그래픽을 위한 오픈소스 프로그래밍 언어

 

(실시간 처리 기술)

ㅇIBM의 InfoSphere Strams: 스트림 처리 기술로 강화된 스트림 컴퓨팅 지원

ㅇtwitter의 스톰: 분산 환경에서 스트리밍 데이터 분석 지원

 

(프로그래밍 언어 처리 기술)

ㅇGoogle의 소잴: 분산 데이터를 처리하는 프로그래밍 언어

ㅇ하둡의 Pig: 병렬 처리를 하는 고성능 데이터-플로우 언어와 실행 프레임워크

 

 

ㅁ빅데이터 분석 기법

ㅇ데이터 마이닝: 정형 데이터 분석

 

ㅇ텍스트 마이닝: 자연어 처리 기술을 사용해 인간의 언어로 쓰인 비정형 텍스트에서 유용한 정보를 추출하거나 다른 데이터와의 연계성을 파악하며, 분류나 군집화 등 빅데이터에 숨겨진 의미 있는 정보를 발견하는 것

 

ㅇ웹 마이닝: 인터넷에서 수집한 정보를 데이터 마이닝 기법으로 분석하는 것

 

ㅇ기계학습: 인공지능 분야에서 인간의 학습을 모델링한 것

 

ㅇ분류

 

ㅇ군집화

 

ㅇ감성 분석: 문장의 의미를 파악하여 글의 내용에 긍정/부정, 좋음/나쁨을 분류하거나 만족/불만족 강도를 지수화하고 분석하는 것

 

 

ㅁ빅데이터 시각화 기술

ㅇR

ㅇ파이썬

ㅇ태블로

 

 

ㅁ빅데이터 폐기 기술

ㅇ오버라이팅

ㅇ디가우싱

 

 

 

<빅데이터 보안>

 

 

 

 

 

 

 

 

출처 및 참고: 세종대학교 K-MOOC 데이터베이스 보안(김영갑)