데이터 과학과 빅데이터

데이터 과학과 빅데이터

1. 데이터 과학

데이터 과학의 필요성

사물 인터넷(IoT)으로 세상의 모든 것이 연결되면서 다양한 형태의 데이터가 끊임없이 생산되고 수집된다. 인공지능 기술도 방대한 데이터를 통한 학습이 필수적이다. 이러한 데이터에서 의미 있는 지식을 추출하는 기술이 데이터 과학이다.

데이터 과학의 개념

데이터를 수집·분석하여 숨겨진 지식을 발견하고 문제 해결에 활용하는 모든 과정과 기술

DIKW 계층 구조

┌──────────────────┐
│     지혜(W)       │ 통찰력 + 창의적
│                  │ 아이디어 도출
├──────────────────┤
│     지식(K)       │ 규칙·패턴으로
│                  │ 찾은 유용한 정보
├──────────────────┤
│     정보(I)       │ 목적에 맞게
│                  │ 가공한 데이터
├──────────────────┤
│   데이터(D)       │ 관찰·측정으로
│                  │ 수집한 사실/값
└──────────────────┘

DIKW 실제 예시

계층의미예시
데이터수집된 원시 값매장별 일일 매출 숫자
정보가공된 데이터“A매장이 B매장보다 매출 20% 높음”
지식패턴·규칙 발견“주말 오후 2~4시 구매율이 최고”
지혜의사결정 활용“주말 오후에 프로모션 집중 배치”

데이터 과학자의 역량

드류 콘웨이(Drew Conway)의 데이터 과학 벤다이어그램에 따르면 세 가지 역량이 필요하다.

역량설명예시
컴퓨터 과학프로그래밍, 알고리즘Python, R, SQL
통계·수학확률, 회귀분석가설 검정, 분포 분석
도메인 지식분석 대상 전문 이해금융, 의료, 마케팅

세 역량이 겹치는 영역이 데이터 과학이며, 최근에는 시각화 기술도 중요한 자질로 평가된다.

데이터 과학의 대상이 반드시 빅데이터일 필요는 없다. 일반 데이터베이스 데이터도 분석 대상이 된다.


2. 빅데이터

빅데이터의 개념

기존 데이터베이스의 저장·관리 범위를 넘어서는 대규모의 다양한 데이터와 이를 처리하는 기술

좁은 의미로는 대규모 데이터 자체를 뜻하지만, 넓은 의미로는 저장·관리 기술과 분석 기술까지 포함한다.

빅데이터의 특징 (3V → 5V → 7V)

기본 3V

특징의미구체적 설명
Volume데이터양TB 단위 이상의 대량 데이터
Velocity속도실시간 수집·분석 처리 필요
Variety다양성정형 + 반정형 + 비정형

확장 특징

특징의미
Value의사결정에 활용할 유용한 가치
Veracity정확하고 신뢰할 수 있는 데이터
Visualization이해하기 쉬운 시각적 표현
Variability맥락에 따른 의미 변화 고려

데이터 형태 분류

형태설명예시
정형고정된 스키마 존재RDB 테이블, CSV
반정형내부적 구조 포함XML, HTML, JSON
비정형정해진 구조 없음텍스트, 이미지, 영상

빅데이터의 기술

┌──────────────────┐
│    빅데이터 기술    │
├──────┬─────┬─────┤
│저장  │분석  │표현  │
├──────┼─────┼─────┤
│Hadoop│텍스트│ R   │
│NoSQL │마이닝│     │
│      │오피니│     │
│      │언   │     │
│      │마이닝│     │
└──────┴─────┴─────┘

저장 기술

기술특징
Hadoop자바 기반 오픈소스 분산 처리 프레임워크
NoSQL관계 모델과 SQL을 사용하지 않는 DB

Hadoop의 핵심 구성

구성 요소역할설명
HDFS분산 파일 시스템여러 서버에 데이터를 분산 저장
MapReduce분산 처리 엔진대규모 데이터를 병렬로 처리
┌─────────────────────┐
│      MapReduce      │
│  (분산 처리 시스템)   │
├─────────────────────┤
│        HDFS         │
│  (분산 파일 시스템)   │
├──┬──┬──┬──┬──┬──┬──┤
│N1│N2│N3│N4│N5│N6│N7│
└──┴──┴──┴──┴──┴──┴──┘
  분산된 데이터 노드들

MapReduce 처리 예시 - 단어 빈도 집계

[입력 데이터]
  "hello world hello"

[Map 단계] 분할 후 키-값 생성
  (hello, 1)
  (world, 1)
  (hello, 1)

[Shuffle] 같은 키끼리 그룹화
  hello → [1, 1]
  world → [1]

[Reduce 단계] 합산
  (hello, 2)
  (world, 1)

분석 기술

기술설명
텍스트 마이닝비정형 텍스트에서 자연어 처리로 정보 추출
오피니언 마이닝SNS·블로그에서 긍정/부정/중립 선호도 분석
소셜 네트워크 분석연결 구조로 영향력·행동 패턴 추출
군집 분석유사 특성 데이터를 그룹으로 묶어 분석

오피니언 마이닝 예시

[수집 데이터]
  "이 제품 정말 좋아요!"  → 긍정
  "배송이 너무 느립니다"  → 부정
  "보통이에요"           → 중립

[분석 결과]
  긍정 65% / 부정 20% / 중립 15%
  → 제품 만족도 높지만
    배송 개선 필요

표현 기술: R

R은 통계 기반 데이터 분석과 시각화를 위한 오픈소스 언어다. 다양한 프로그래밍 언어와 연동되고, Hadoop 환경에서 분산 처리를 지원하는 라이브러리를 제공한다.

빅데이터 이전 vs 빅데이터

구분빅데이터 이전빅데이터
데이터 유형정형 데이터 중심정형 + 반정형 + 비정형
관련 기술RDB, 통계 패키지, 데이터 마이닝Hadoop, NoSQL, 텍스트 마이닝, R
저장 장치고가의 DB/웨어하우스저렴한 클라우드 환경

3. NoSQL

NoSQL의 등장

NoSQL은 Not Only SQL의 약자로, 관계 데이터베이스만 고집하지 말고 필요에 따라 다른 특성을 제공하는 데이터베이스를 사용하자는 의미다.

1998년에 처음 언급되었지만, 현재의 의미를 갖게 된 것은 2009년 요한 오스칼손(Johan Oskarsson) 이후로 보는 시각이 많다.

NoSQL의 특징

  • ACID 트랜잭션 대신 분산 처리에 초점
  • 스키마 없이 동작하여 구조 변경이 자유로움
  • 비정형 데이터 저장에 적합
  • 대부분 오픈 소스로 제공

관계 DB vs NoSQL

구분관계 DBNoSQL
데이터 유형정형 데이터정형 + 비정형
대용량 처리성능 저하대용량 지원
스키마미리 정의 필요없거나 변경 자유
트랜잭션ACID 보장미지원 (일부 예외)
검색조인 등 복잡한 검색단순 검색
확장성클러스터 부적합클러스터 적합
비용고가 라이선스오픈 소스

CAP 정리

분산 시스템에서 세 가지 속성을 동시에 만족할 수 없다는 이론으로, NoSQL의 설계 철학을 이해하는 핵심 개념이다.

속성의미
Consistency모든 노드가 같은 데이터를 봄
Availability항상 응답을 받을 수 있음
Partition Tolerance네트워크 장애에도 동작
      Consistency
         /\
        /  \
       / CA \
      /──────\
     / CP  AP \
    /          \
   /────────────\
Partition    Availability
Tolerance
조합특성대표 DB
CP일관성 + 분할 허용MongoDB, HBase
AP가용성 + 분할 허용Cassandra, DynamoDB
CA일관성 + 가용성전통 관계 DB

분산 환경에서는 P(분할 허용)를 포기할 수 없으므로 실제로는 CP 또는 AP 중 선택하게 된다.

NoSQL의 종류

키-값(Key-Value) 데이터베이스

가장 단순한 형태로, 키와 값의 쌍으로 데이터를 저장한다.

특징설명
장점어떤 형태의 값이든 저장 가능, 빠른 질의 처리
단점값의 일부 검색이나 내용 기반 질의 불가
대표 제품DynamoDB, Redis
┌──────────┬───────────┐
│   Key    │   Value   │
├──────────┼───────────┤
│ user:101 │ {name:..} │
│ user:102 │ {name:..} │
│ session  │ abc123..  │
│ img:001  │ <binary>  │
└──────────┴───────────┘

문서 기반(Document-Based) 데이터베이스

키-값 모델의 확장으로, JSON·XML 같은 반정형 문서로 데이터를 저장한다.

특징설명
장점문서 내 일부 검색 가능, 계층 구조 지원
단점문서 간 조인이 어려움
대표 제품MongoDB, CouchDB
// MongoDB 문서 예시
{
  "_id": "user_101",
  "name": "홍길동",
  "age": 30,
  "orders": [
    {"item": "책", "qty": 2},
    {"item": "노트북", "qty": 1}
  ]
}

컬럼 기반(Column-Based) 데이터베이스

컬럼 패밀리와 키의 쌍으로 데이터를 저장한다. 관계 모델의 테이블과 비슷하지만 행마다 컬럼 구성이 다를 수 있다.

특징설명
장점대규모 분산 저장에 유리, 유연한 컬럼 구성
단점복잡한 질의 처리가 어려움
대표 제품BigTable, HBase, Cassandra
Row Key: user_101
┌────────────────────────┐
│ 기본정보 (Column Family)│
│  name: 홍길동           │
│  age: 30               │
├────────────────────────┤
│ 주문정보 (Column Family)│
│  order1: 책            │
│  order2: 노트북         │
└────────────────────────┘

Row Key: user_102
┌────────────────────────┐
│ 기본정보 (Column Family)│
│  name: 김철수           │
├────────────────────────┤
│ (주문정보 없음)          │
└────────────────────────┘
→ 행마다 컬럼 구성이 다를 수 있음

그래프 기반(Graph-Based) 데이터베이스

노드에 데이터를 저장하고 간선으로 관계를 표현한다. 다른 NoSQL과 달리 ACID를 지원한다.

특징설명
장점데이터 간 관계 표현에 적합, ACID 지원
단점클러스터 환경에 부적합
대표 제품Neo4J, OrientDB, AgensGraph
(홍길동)──친구──►(김철수)
    │               │
  구매             구매
    │               │
    ▼               ▼
 (노트북)        (태블릿)
    │
  카테고리
    │
    ▼
(전자기기)

NoSQL 종류 비교

유형데이터 구조적합 분야
키-값Key → Value세션, 캐시, 장바구니
문서 기반Key → Document콘텐츠 관리, 카탈로그
컬럼 기반Key → Column Family로그 분석, 시계열 데이터
그래프Node + Edge소셜 네트워크, 추천 시스템

4. 데이터 마이닝

데이터 분석의 개념

데이터 분석은 쌓여 있는 데이터 안에 숨겨진 유용한 지식을 찾아내기 위해 가공하는 역할을 한다. SQL을 통해 원하는 데이터를 추출하여 분석하는 것도 데이터 분석 기술에 해당한다.

기계 학습 vs 데이터 마이닝

두 기술은 중복되는 부분이 많지만, 초점이 다르다.

구분데이터 마이닝기계 학습
초점발견(Discovery)예측(Prediction)
목적숨겨진 규칙·패턴 발견새 데이터의 결과 예측
관점통계학컴퓨터 과학
┌──────────────────┐
│    수집된 데이터    │
├─────────┬────────┤
│         │        │
▼         ▼        │
데이터    기계      │
마이닝    학습      │
│         │        │
▼         ▼        │
규칙·패턴  학습     │
발견      모델     │
          │        │
          ▼        │
       새 데이터    │
       결과 예측    │
└──────────────────┘

기계 학습의 분류

유형방식예시
지도 학습정답이 있는 데이터로 학습스팸 메일 분류, 가격 예측
비지도 학습정답 없이 패턴 발견고객 군집화, 이상 탐지
강화 학습보상을 통해 학습게임 AI, 자율 주행

데이터 마이닝의 분석 기법

분류 분석 (Classification)

미리 정의된 기준에 따라 새로운 데이터가 어떤 그룹에 속하는지 판단한다.

[학습 데이터]
  성적 90+ → A등급
  성적 80+ → B등급
  성적 70+ → C등급

[새 데이터]
  성적 85 → B등급으로 분류

군집 분석과 달리 미리 정의된 그룹이 존재한다.

대표 알고리즘: 의사결정 트리, k-NN, SVM, 나이브 베이즈

군집 분석 (Clustering)

미리 정해진 기준 없이 유사한 특성의 데이터를 독립적인 군집으로 나눈다.

유형방법세부 기법
계층적가까운 데이터를 순서대로 묶음최단/최장/평균/중심/와드 연결법
비계층적최적 군집을 한번에 형성K-Means 등

K-Means 군집 분석 예시

1) 초기 중심점(K=2) 지정
   ★A          ★B

2) 가까운 중심에 데이터 할당
   ★A ● ●      ★B ○ ○
      ●            ○

3) 중심점 재계산
      ★A'         ★B'
   ● ● ●       ○ ○ ○

4) 수렴할 때까지 반복

연관 분석 (Association)

데이터 간 발생 빈도를 분석하여 연관 규칙을 찾아낸다. 장바구니 분석이라고도 한다.

연관 규칙 평가 지표

지표의미공식
지지도X와 Y가 함께 발생할 확률P(X∩Y)
신뢰도X 발생 시 Y도 발생할 확률P(Y|X) = P(X∩Y)/P(X)
향상도연관 관계의 강도신뢰도/P(Y)

연관 분석 예시

[거래 데이터]
  T1: 맥주, 기저귀
  T2: 맥주, 빵, 기저귀
  T3: 빵, 우유
  T4: 맥주, 기저귀, 우유

[분석 결과]
  맥주 → 기저귀
  지지도: 3/4 = 75%
  신뢰도: 3/3 = 100%
  → "맥주를 사면 기저귀도 산다"

Apriori 알고리즘은 최소 지지도를 충족하는 빈발 항목 집합을 단계적으로 찾아 연관 규칙을 생성하는 대표적 방법이다.


5. 데이터 시각화

데이터 시각화의 개념

데이터 분석 결과를 이해하기 쉽게 그림이나 그래프 등으로 표현하는 기술이다. 시각화는 단순한 결과 표현을 넘어, 이전에 보이지 않던 규칙이나 패턴을 발견하는 분석 과정의 일부이기도 하다.

인포그래픽 vs 데이터 시각화

구분인포그래픽데이터 시각화
초점정보의 직관적 전달분석 활용을 위한 시각적 표현
목적명확한 커뮤니케이션패턴 발견과 분석 지원

시각화 방법

방법목적활용 차트
시간 시각화시간 흐름에 따른 변화막대그래프, 꺾은선
분포 시각화데이터의 분포 상태트리맵, 원그래프, 도넛
관계 시각화데이터 간 상관관계버블 차트, 산점도
비교 시각화항목 간 유사성·차이방사형 차트, 히트맵
공간 시각화지역에 따른 분포지도 매핑, 단계 구분도

적합한 시각화 선택 기준

데이터 성격권장 시각화예시
추세·변화시간 시각화월별 매출 추이
비율·구성분포 시각화시장 점유율
상관 관계관계 시각화광고비와 매출 관계
순위·크기비교 시각화부서별 성과 비교
위치·지역공간 시각화지역별 인구 밀도

시각화 도구

도구특징
R통계 분석 + 시각화, 오픈소스
Tableau드래그&드롭 기반, 빠른 시각화
Python(Matplotlib)프로그래밍 기반 유연한 시각화
D3.js웹 기반 인터랙티브 시각화
Gephi네트워크/그래프 시각화

R은 1993년 뉴질랜드 오클랜드 대학교에서 개발된 프로그래밍 언어이자 데이터 분석 소프트웨어다. 대화형 방식으로 운영되며, R 스튜디오를 통해 GUI 환경에서 작업할 수 있다.


요약

핵심 개념 정리

개념설명
데이터 과학데이터에서 지식을 발견하고 활용하는 과정
DIKW데이터 → 정보 → 지식 → 지혜의 계층 구조
빅데이터대규모 다양한 데이터와 처리 기술
NoSQL비정형 데이터 저장에 적합한 비관계형 DB
데이터 마이닝데이터에서 규칙과 패턴을 발견하는 기술
기계 학습데이터로 학습하여 결과를 예측하는 기술
데이터 시각화분석 결과를 시각적으로 표현하는 기술

NoSQL 유형 요약

키-값     : Key → Value (단순)
문서 기반  : Key → JSON/XML 문서
컬럼 기반  : Key → Column Family
그래프    : Node + Edge (관계)

데이터 마이닝 기법 요약

분류 분석 : 정해진 그룹에 할당
군집 분석 : 유사 데이터 그룹화
연관 분석 : 함께 발생하는 패턴