CS/데이터베이스

[데이터베이스] CH13. 데이터 과학과 빅데이터

rngPwns 2025. 7. 2. 19:54

 

✅ 01 데이터 과학


📌 데이터 과학(Data Science)의 필요성

4차 산업혁명 시대

  • 빅데이터, 사물 인터넷, 인공지능 등 핵심 기술의 중심에 데이터가 있음
  • 21세기의 원유는 데이터

데이터의 방대한 규모와 다양한 형태

  • 전통적인 방식으로 수집하고 저장하는 데 한계가 있음

다양해진 데이터 활용에 대한 요구

  • 단순히 데이터를 분류하고 검색하는 것을 넘어
    방대한 양의 데이터 속에 숨겨진 규칙과 패턴을 찾아내어
    문제 해결에 활용하고 미래의 일을 예측하여
    미리 준비하기를 원함

📌 데이터 과학의 개념과 목표

개념

  • 데이터를 수집한 후 분석을 통해 데이터를 정확히 이해함으로써
    그 속에 숨겨진 새로운 지식을 발견하고,
    이를 문제 해결에 활용하는 모든 과정의 활동
    → 데이터 생성, 수집, 저장, 분석, 표현의 전 과정을 포함
  • 활동을 지원하는 수단이나 기술도 포함

목표

  • 수집된 데이터로부터 가공된 정보를 거쳐 지식과 지혜를 추출하는 것

📌 데이터 과학의 적용 예

  • 게임 회사에서 동시 접속자 수, 아이템 구매 정보 등을 분석하여
    마케팅과 새로운 게임 개발에 활용
  • 선거 전략을 세우고 당선자 예측
  • 선수, 경기장, 날씨 등의 데이터를 분석하여
    스포츠 경기 결과 예측

✅ DIKW (Data → Information → Knowledge → Wisdom) 계층 구조


📌 데이터 (Data)

  • 관찰하거나 측정하여 수집한 사실이나 값
  • 예: 출판사에서 3년간 1월부터 12월까지 매달 책의 판매량을 조사한 결과

📌 정보 (Information)

  • 상황에 대한 이해를 바탕으로
    데이터를 목적에 맞게 가공한 것
  • 예: 연간 분기별 책 판매량의 합계 계산

📌 지식 (Knowledge)

  • 규칙이나 패턴을 통해 찾아낸 의미 있고 유용한 정보
  • 예: 연간 분기별 책 판매량을 분석하여
    3분기에 판매량이 증가하는 규칙그 원인을 찾아낸 것

📌 지혜 (Wisdom)

  • 지식에 통찰력을 더해
    새롭고 창의적인 아이디어를 도출한 것
  • 예:
    → 3분기 판매 증가 규칙에 따라
    → 내년 3분기에 출간할 책의 콘텐츠를 기획하고
    → 적합한 홍보 전략을 세움

✅ 데이터 과학의 특징

  • 컴퓨터 과학, 통계학, 적용 분야에 대한 이해
    모두 필요로 하는 복합적인 기술

 

✅ 02 빅데이터


📌 빅데이터(Big Data)의 개념

좁은 정의

  • 기존 데이터베이스가 저장하고 관리할 수 있는 범위를 넘어서는
    대규모의 다양한 데이터

넓은 정의

  • 대규모 데이터를 저장 및 관리하는 기술
    가치 있는 정보를 만들기 위한 분석 기술까지 포함

📌 빅데이터 활용 사례

아마존닷컴

  • 상품 구매 내역을 저장하고 분석
  • 고객 소비 성향 파악 → 관심 상품 추천 메일 전송
  • 로그인 시 자동 제시

구글

  • 사용자 정보와 검색 조건 분석
  • 맞춤형 광고 제공

페이스북

  • 글, 사진, 동영상 데이터를 분석
  • 맞춤형 광고 제공

📌 빅데이터 활용 – 정치 분야

국내

  • 여론조사 기관들이 SNS 기반 선거 데이터 분석
  • 투표 결과 예측에 활용

미국

  • 유권자 데이터를 다각도로 수집
  • 성향 파악 → 선거 전략 수립

✅ 빅데이터의 기본 특징: 3V


1️⃣ 데이터 양 (Volume)

  • TB(테라바이트) 단위 이상의 대량 데이터
  • 여러 경로에서 계속 생성되는 방대한 양

2️⃣ 속도 (Velocity)

  • 수집과 분석을 정해진 시간 내에 빠르게 수행해야 함
  • 데이터 생성·전달 속도가 매우 빠르기 때문

3️⃣ 다양성 (Variety)

  • 형태가 다양한 데이터 포함

종류

  • 정형 데이터: 관계형 DB (예: 테이블)
  • 반정형 데이터: XML, HTML (일부 구조 있음)
  • 비정형 데이터: 구조 없음
    예) 책, 의료 기록, 비디오, 위치 정보, 이메일, SNS 등

✅ 빅데이터의 유형

  • 단순한 양적인 측면을 넘어 **다양한 형태(질적 측면)**까지 고려하는 데이터

✅ 빅데이터의 확장된 특징: 7V

활용 영역 확대 + 기술 발전 → 기존 3V → 5V → 7V로 확장


4️⃣ 가치 (Value)

  • 분석 결과가 의사결정에 도움이 되는 유용한 가치를 가져야 함

5️⃣ 정확성 (Veracity)

  • 정확하고 신뢰할 수 있는 데이터여야 함
  • 가공 작업을 통해 높은 정확성 유지가 중요

6️⃣ 시각화 (Visualization)

  • 분석 결과를 이해하기 쉽고 보기 좋게 시각화
    (도표, 그래프 등)

7️⃣ 가변성 (Variability)

  • 데이터가 맥락에 따라 변함
  • 특히 텍스트 중심 비정형 데이터에서 중요
  • 원래 의미를 반영하여 분석하도록 해야 함

🔎 요약:

빅데이터는 빠르게 생성되는 대량의 다양한 데이터를
정확하게 가공하고, 가변성을 고려하여 분석,
가치 있는 결과를 시각화하는 것이 중요!


✅ 빅데이터 기술


📌 저장 기술

종류

  • 기존 관계형 데이터베이스
  • 하둡(Hadoop)
  • NoSQL 

※ 하둡·NoSQL은 비정형 데이터를 관리하는데 유리, 기존 DB를 대체하기보단 보완적 역할


📌 하둡(Hadoop)

  • 자바 기반 오픈 소스 프레임워크
  • 대용량 데이터 분산 처리

구성

  • HDFS: 분산 파일 시스템
  • MapReduce: 분산 처리 시스템

장점

  • 오픈소스 → 비용 저렴
  • 서버 여러 대에 분산 저장 → 빠름

📌 NoSQL

  • SQL 안 씀, 관계형 모델 아님

특징

  • 일관성보단 가용성, 확장성 중시

장점

  • 유연한 데이터 모델
  • 비정형 데이터에 적합
  • 저렴한 비용 + 병렬·분산 처리

예시

  • HBase, Cassandra, MongoDB, CouchDB

📌 분석 기술

텍스트 마이닝 (Text Mining)

  • 자연어 처리를 통해
    반정형·비정형 텍스트에서 정보 추출

오피니언 마이닝 (Opinion Mining)

  • SNS/블로그 등에서 의견 수집 → 긍정/부정/중립 등 감정 분석

소셜 네트워크 분석 (Social Network Analysis)

  • 연결 구조나 강도를 분석
  • 영향력, 관심사, 행동 패턴 추출

군집 분석 (Cluster Analysis)

  • 데이터 간 유사도 측정 → 유사 특성 데이터끼리 군집화

📌 표현 기술

R

  • 통계 기반 분석 + 시각화 제공 언어/환경

특징

  • 오픈 소스
  • 기본 통계 ~ 최신 마이닝까지 가능
  • 다양한 언어와 연동
  • Hadoop 환경에서 분산 처리용 라이브러리 제공

✅ 03 빅데이터 저장 기술: NoSQL


📌 NoSQL의 등장 배경

관계형 데이터베이스의 한계

  • 정형 데이터 위주 → 비정형 데이터에는 부적합
  • 단일 컴퓨터 기반 → 확장성에 불리

NoSQL의 필요성

  • 관계형 DB만 고집하지 말고, 환경에 맞는 다양한 DB를 사용하는 접근으로 이해해야 함

📌 NoSQL (Not Only SQL)

의미

  • ACID(원자성, 일관성, 격리성, 지속성) 트랜잭션을 포기하고
  • 저렴한 비용으로 다수의 컴퓨터에 데이터를 분산·저장·처리할 수 있는 데이터베이스

특징

  • 스키마 없이 유연하게 사용 가능
  • 데이터 구조를 수시로 변경 가능
  • 비정형 데이터 저장에 적합
  • 대부분 오픈소스

📌 관계형 데이터베이스 vs NoSQL

    구분                      관계형 DB                                                                     NoSQL
장점 트랜잭션 + 복잡한 질의 처리 가능 (조인) 구조 유연 + 빠른 저장 처리
단점 비정형 데이터 저장/확장에 비효율 SQL 미지원 → 별도 분석 기술 필요

 


📌 NoSQL은 관계형 DB의 경쟁자 X

  • 보완적 대안
  • 데이터 성격/목적에 따라 선택

사용 예시

  • 관계형 DB: 인사, 회계, 정형 데이터
  • NoSQL: SNS, 센서, CCTV, 삽입 중심 데이터

✅ NoSQL의 4가지 종류

  1. 키-값(key-value) 데이터베이스
  2. 문서 기반(document-based) 데이터베이스
  3. 컬럼 기반(column-based) 데이터베이스
  4. 그래프 기반(graph-based) 데이터베이스

🔹 1. 키-값 데이터베이스

 

특징

  • 가장 단순한 형태: 키(key)와 값(value)의 쌍
  • 값은 이미지/동영상 등 모든 형태 가능
  • 질의 속도 빠름
  • 단, 값 일부 질의는 불가능 → 별도 처리 필요

대표 예시

  • DynamoDB (아마존)
  • Redis (트위터)

🔹 2. 문서 기반 데이터베이스

특징

  • 키와 **문서(JSON, XML)**의 쌍
  • 트리 구조 기반의 반정형 문서 저장
  • 객체지향의 객체 개념과 유사
  • 문서 전체 또는 일부 검색 가능 (ex. XQuery 사용)

대표 예시

  • MongoDB, CouchDB

🔹 3. 컬럼 기반 데이터베이스

특징

  • 컬럼 패밀리 + 키 조합
  • 컬럼 패밀리 = 관련 컬럼들의 집합
  • 테이블 구조와 유사하지만,
    • 컬럼 구성은 자유롭게 다름
    • 다양한 형태의 데이터를 컬럼 값으로 저장 가능

대표 예시

  • Google BigTable, HBase, Cassandra

🔹 4. 그래프 기반 데이터베이스

 

특징

  • **노드(데이터), 간선(관계)**로 표현
  • 그래프 순회 방식으로 질의 처리
  • 관계 기반 추천, 친구 찾기 등에 적합
  • ACID 지원, 단 클러스터 환경엔 부적합

대표 예시

  • Neo4J, OrientDB, AgensGraph

 

 

✅ 04 빅데이터 분석 기술: 데이터 마이닝


📌 데이터 분석 기술

  • 데이터 안에 숨겨진 유용한 정보, 즉 지식을 찾아내기 위해
    데이터를 가공하는 역할을 담당
  • 데이터베이스에서 SQL문을 통해 원하는 데이터를 추출해
    분석하는 것도 포함

📌 빅데이터 분석 기술

  • 기존 데이터 분석 기술에 빅데이터의 특징이 더해짐
  • 다양한 비정형 데이터를 기반으로 엄청난 양의 데이터를 처리

대표 기술

  • 데이터 마이닝 (data mining)
  • 기계 학습 (machine learning)

✅ 데이터 마이닝 vs 기계 학습

📌 분석 목적이 다름

  • 데이터 마이닝 → 목적: 발견
    • 데이터에서 규칙과 패턴을 찾아 유용한 정보(지식) 도출
  • 기계 학습 → 목적: 예측
    • 수집된 데이터로 프로그램을 학습시켜
      새로운 데이터 입력 시 결과 예측

⚠️ 두 기술은 목적은 다르지만, 서로의 기법을 상호 활용


✅ 데이터 마이닝

📌 개념

  • 대량의 데이터에서 숨겨진 규칙과 패턴을 찾아내는 기술
  • ‘데이터베이스에서의 지식 발견’에서 출발 → 빅데이터 분석 영역으로 확대

활용 예시

  • 고객 성향 분석 → 판매 전략
  • 신용 등급 판단
  • 불량 원인 파악 및 개선 등

📌 대표적인 분석 기법

  1. 분류 분석 (classification analysis)
  2. 군집 분석 (cluster analysis)
  3. 연관 분석 (association analysis)

✅ 1. 분류 분석

📌 개념

  • 새로운 데이터가 어떤 그룹에 속하는지 예측
  • 기존에 정의된 기준에 따라 분류
  • ✅ 군집 분석과는 달리 기준이 미리 존재함

예시

  • 의사가 기존 환자 데이터 기반으로 새 환자의 병명 진단

📌 주로 사용되는 기법

  • 로지스틱 회귀 모형
  • 의사결정나무
  • K-최근접 이웃 (K-NN)
  • 베이즈 분류 모형
  • 인공신경망
  • 지지 벡터 기계 (SVM)
  • 유전 알고리즘 등

 

✅ 2. 군집 분석

📌 개념

  • 기준 없이, 유사한 특성을 가진 데이터들을 여러 독립 군집으로 나눔
  • 유사성 기반 → 거리가 가까운 데이터들을 묶음
  • 군집 형성 후 특성과 관계 분석

예시

  • 성격 특징에 따라 심리적으로 유사한 사람들을 집단화

📌 분류

1) 계층적 군집 분석

  • 유사한 데이터를 반복적으로 묶어감
  • 군집 개수에 도달할 때까지 수행
  • 연결 기준: 최단, 최장, 평균, 중심, 와드 등

2) 비계층적 군집 분석

  • 가능한 모든 군집 방법 중
    가장 최적화된 군집을 선택
  • ✅ 대표 알고리즘: K-중심 군집(K-means)

 

✅ 3. 연관 분석

📌 개념

  • 데이터 간 동시 발생 빈도를 분석하여 **숨겨진 연관 규칙(association rule)**을 찾아냄
  • 연관 규칙 평가지표: 지지도, 신뢰도, 향상도

📌 특징

  • 상품 간 연관성 분석마케팅에 활용
  • 장바구니 분석 (Market Basket Analysis)”라고도 불림

예시

  • 자주 함께 구매되는 상품 파악
  • 묶음 판매, 진열 전략 수립

대표 알고리즘

  • Apriori 알고리즘

 

 

✅ 05 빅데이터 표현 기술: 데이터 시각화

📌 데이터 시각화의 개념

  • 데이터 분석 결과를 이해하기 쉽고 보기 좋게
    그림이나 그래프 등으로 표현
  • 단순한 결과 표현을 넘어서,
    규칙이나 패턴을 찾는 분석 과정의 일부로 인식됨

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

구분목적
인포그래픽 정보를 명확하고 직관적으로 전달
데이터 시각화 시각적으로 정보를 제시하여 분석에 활용

 

 

✅ 데이터 시각화 방법

시각화는 목적과 데이터 유형에 따라 다양하게 분류됨

1️⃣ 시간 시각화

  • 시간의 흐름에 따른 변화나 경향을 시각적으로 표현
  • 막대그래프, 누적 막대그래프, 점그래프 등 사용
  • 예: 요일별 편의점 매출 막대그래프

2️⃣ 분포 시각화

  • 데이터가 전체에서 어떻게 분포되는지 표현
  • 트리맵, 원그래프, 도넛 차트 등 사용
  • 예: 스마트폰 시장 점유율 원그래프

3️⃣ 관계 시각화

  • 데이터 간 상관관계를 시각적으로 표현
  • 버블 차트, 산점도 등 사용
  • 예: 빵과 버터 판매량의 상관관계 산점도

4️⃣ 비교 시각화

  • 여러 항목의 값을 비교하여
    차이와 유사성을 표현
  • 방사형 차트, 히트맵, 스타 차트 등 사용
  • 예: 운동선수 기록 점수 히트맵

5️⃣ 공간 시각화

  • 지도 위에 데이터를 표시하여 지역별 분포를 시각화
  • 지도 매핑, 통계 주제도, 단계 구분도 등 사용
  • 예: 도시별 인구나 보행자 교통사고 현황 통계 주제도

 

✅ 데이터 시각화 도구의 출현

📌 배경

  • 빅데이터 시대 → 시각화의 필요성 증가

 

📌 시각화 도구 예시

  • 태블로(Tableau)
  • 그래프비즈, 태그 클라우드, 게피(Gephi), 프로세싱(Processing)
  • Fusion Table
  • 대부분 오픈소스 → 무료 사용 가능

 

📌 도구 선택 기준

  1. 시각화 목적과 데이터 유형을 파악
  2. 원하는 시각화 유형에 맞는 도구 선택
  3. 자신의 작업 환경에 적합한 도구 선택

 

✅ 주요 시각화 도구 소개


📌 태블로 (Tableau)

  • 대표적인 시각화 도구
  • 다양한 그래프를 쉽고 빠르게 생성
  • 실시간 공유와 빠른 그래프 변형 가능

📌 R

  • 프로그래밍 언어 + 통계 분석 툴
  • 함수 기반으로 명령 작성 → 바로 결과 확인
  • RStudio를 이용해 GUI 환경에서 작업 가능
  • 시각화 + 분석에 특화된 도구

📌 파이썬 (Python)

  • 다양한 분야에서 활용되는 프로그래밍 언어
  • 최근에는 시각화 도구로도 주목받고 있음

✅ 시각화 도구 활용 예


📌 연관 분석 with R

  • 예:
    어느 편의점의 거래 내역 분석
    판매 상품 간 연관 규칙 파악

📌 워드 클라우드 with R

  • 예:
    애국가 텍스트 파일에서 단어 추출
    → 출현 빈도수 기반으로 구름 모양 시각화