소공 1128 - 4차산업혁명의 핵심 - 빅데이터 분석

2025. 11. 28. 18:15·컴퓨터공학과/소프트웨어공학

4차 산업혁명의 핵심 - 빅데이터 분석

빅데이터 정의와 분석파이프라인을 이해

빅데이터 분석 파이프라인의 각 단계와 주요 기술을 이해

소프트웨어 관점에서 빅데이터 분석을 이해

빅데이터

- 빅데이터 시대의 도래

  • [기존] 서버 -> 데이터 생성 및 공유
  • [현재] 서버 뿐만아니라 전세계모든 사람들과 사물들까지 데이터를 생성 및 공유 ... (주체가! 엄청 확장되었다.)
    (ex) 스마트폰 및 사물 인터넷(IoT) 기술의 보급

- 빅데이터의 정의 : 5V (과거에는 3V였으나 지금은 5V에요!)

  • Variety : 다양한 형태의 데이터! - 정형, 반정형, 비정형 데이터
    정형 - 스키마(형태) 고정되어있음. ex) RDBMS의 열별로 고정된 그 데이터!
    기존에는 서버가 정형데이터만 사용했었어요!

    반정형 - 느슨한구조, 센서스트림(수시로변화하는 온도. -> 데이터베이스에 표형태로 저장될 수준은아님, 다만 그래도 규칙은 있죠? SNS 그래프, JSON 느슨한문법!
    비정형 - 멀티미디어데이터 (형태가없다.) 파일 형태로만 저장됨.
  • Volume : 대용량 데이터
  • Velocity : 매우 빠른 속도의 데이터 생성 - 배치분석/실시간 분석
  • Veracity : 분석 결과의 '진실성' ,데이터품질!
  • Value : 분설 결과의 가치 ... -> 서비스로서 제공을 하게됩니다. :)

 

빅데이터 기술 생태계

  • 요구사항에 적합한 빅데이터 분석 파이프라인 설계 후, 각 단계에 필요한 기술을 조합하여 활용
  • 오픈소스 프로젝트
  • 리눅스 기반
  • 클러스터 기반 → 분산 시스템 기반 
    빅데이터는 굉장히 크므로 한대의 pc에서 돌릴수가없다. 그래서 분산시스템을 구성함.
  • 클라우드 운영 환경 지원

얘는 플랫폼이에요! application이 돌아갈 수 있는 환경을 만들어주는겁니다. 

(프레임워크가 아닙니다!) 프레임워크 = 웹서비스 없어도 만들 수 있거든요 빅데이터같은경우 플랫폼이없으면 돌아갈수가없어

빅데이터SW는 여러가지 플랫폼을 조합한 기술적환경이없으면 돌아갈 수가 없다!

 

 

빅데이터 분석 파이프라인

  • 빅데이터로부터 분석 결과를 생성하기 위한 일련의 데이터 흐름 →  분석 결과 못지 않은 핵심 자산!
  • 각 단계는 분산 시스템(클러스터) 기반으로 동작하는 독립적인 소프트웨어 컴포넌트
  • 파이프-필터 아키텍처 패턴으로 각 컴포넌트 연결 →  단계 간 의존성이 매우 높음
    (*파이프-필터 아키텍처? : 각 컴포넌트가 독립적으로 돌릴 수는 있지만, 독립된 결과를 받아서 그다음 업무를 수행함. 파이프단계에 물려있다.)
  • 빅데이터 분석 파이프라인 →  복잡한 분산 소프트웨어
  • 빅데이터 분석 = 설계/ 개발/ 운영 과정이 모두 필요한 복잡한 소프트웨어 프로젝트!
    (그들간의 흐름이 끊기지 않게 잘 신경써주어야하기 때문이죠~)

 

그냥 두대이상의 PC가 동원되어야한다면 그게 바로 빅데이터에용!!

한대의 PC에서 절대 할 수 없는 것. 할수있더라도 처리가 막 1주일 걸리거나 그러면 안되는거겠죠? 

빅데이터 분석 파이프라인 : 데이터소스

  • 분석할 원천 데이터가 생성되는 곳 
    - 데이터베이스, 외부API (ex. RESTful API .. 교통/날씨 데이터), 이벤트 로그, IoT 센서 스트림(=실시간측정데이터) 등
  • 빅데이터 분석 파이프라인에서 직접 제어할 수 없는 외부 시스템이 다수 
    → 데이터 스키마 변경 위협 존재.
  • 데이터 품질 문제의 출발점 (원천데이터의 품질!)

약속된 형태의 데이터가 들어오지 않는다면?(=스키마,형태 변경)

내부에서 돌아가는 애들에 영향을 줄 수 있다! ... 우리가 분석 파이프라인을 수정해서 맞춰야한다.

빅데이터 분석 파이프라인 : 수집

  • 데이터 소스에서 발생하는 데이터를 실시간(*센서스트림) 또는 배치(*1일에 1번 등 일괄) 방식으로 수집
  • 수집이 중단되면 이후의 전체 분석 파이프라인 마비
  • 안정적인 데이터 수집 / 병목 없는 데이터 전달 / 데이터 유실 방지 필요
  • 데이터 품질 체크를 시작하는 단계 → 데이터 형식 또는 스키마 검증 (주로 품질체크하는 애들이 이거임)
  • 관련 기술 : Kafka(실시간 수집), Flume (로그 수집) 등

빅데이터 분석 파이프라인 : 저장

  • 수집된 원본 데이터, 분석 파이프라인 중간에 생성되는 데이터, 분석 결과 데이터 등을 저장
  • 데이터 수명(사실상 거의 수명이없음) >>>> 코드 수명
  • 저장된 데이터에 존재하는 '오류'는 되돌리기 어려움 
    (대용량 데이터인 경우를 생각해봐라.)
  • 데이터 버전 관리 및 스키마 관리 필요
  • 컴퓨터 클러스터 기반 분산 저장
  • 정형 데이터(스키마 고정) →  RDBMS(MySQL, Oracle, PostgreSQL 등) / 데이터웨어하우스(요건 분석기술도 딸려잇음)
  • 반정형 데이터 / 비정형 데이터 → NoSQL(Redis, Cassandra, MongoDB (느슨한 스키마) , Neo4j SNS그래프, InfluxDB센서스트림 등)
  • 분석용 원천 데이터 → HDFS / Data Lake / Data Lakehouse
  • 클라우드 운영 환경과의 결합을 위한 클라우드 스토리지 → Amazon S3 등

빅데이터 분석 파이프라인 : 처리

  • 수집 또는 저장된 데이터를 분석 가능한 형태(분석 기법을 적용할 수 있는 형태)로 준비
    • 전처리 : NULL 값 제거, 결측값 처리, 이상치 제거, 잘못된 레코드 필터링 등
    • 변환 : JSON 데이터 파싱값을 떼어냄 및 구조화, 타입 도는 형태 변환(좌표 →주소로 변환 등) . . 직렬화/역직렬화 개념인가?
    • 집계 : 분석에 필요한 요약 값 계산(총합, 부분합, 평균, 최대/최소값 등)
    • 조인/병합 : 여러 데이터 소스를 결합 → 유의미한 특징 데이터 또는 테이블 생성
  • 배치 처리(Batch Processing) : 대규모 데이터에 대한 일괄 처리
    컴퓨터 클러스터 기반 분산 컴퓨팅 → Hadoop, Spark 
  • 실시간 처리(Stream Processing) : 실시간 데이터에 대한 매우 짧은 간격의 배치 처리
    컴퓨터 클러스터 기반 분산 컴퓨팅 → Spark Streaming, Flink 등
  • 처리 안전성 확보 중요 but 까다로움 : (실패 시 핸들링, 재시도, 리소스 스케줄링 등)

빅데이터 분석 파이프라인 : 분석 (SKIP)

  • 처리된 데이터를 기반으로 유의미한 결과 생성
    - 
    머신러닝, 딥러닝, 통계 분석, 데이터 마이닝 등
  • 관련 기술 : Tensorflow, PyTorch, SciPy, Scikit Learn, Pandas, | SparkMLlib, FlinkML 등
  • 컴퓨터 클러스터 기반의 분산 알고리즘을 직접 구현하기도함 남이 구현한 분석프로그램보다 더 좋은결과를 얻기위해~
  • 데이터 / 분석 환경 / 분석 파이프라인의 재현성 중요 (모델 재현성과는 다름!)*재현성 = 다시 할 수 있게끔! (수집->처리->분석의 파이프라인을 언제든지 재현할 수 있어야함.. 동일한 분석결과나와야함)
    저장잘해놓고,,,코드잘해놓고,,, 요런거

빅데이터 분석 파이프라인 : 서빙 ( 결과 제공)

  • 필요한 사용자에게 분석 결과 제공
    • 대시보드(시각화), 결과 데이터파일 또는 스트림, API, 웹 서비스 (ㅎㅎ 웹서비스가 분석한 결과를 잘 보여줄수있는게 이게 대표적인 인터페이스래~)
    •  

'컴퓨터공학과 > 소프트웨어공학' 카테고리의 다른 글

1205 소공 - 머신러닝프로젝트  (0) 2025.12.05
1203 - 빅데이터 분석 프로젝트와 DataOps  (0) 2025.12.03
소공 1128  (0) 2025.11.28
소프트웨어공학 - 아키텍처 설계  (0) 2025.10.14
'컴퓨터공학과/소프트웨어공학' 카테고리의 다른 글
  • 1205 소공 - 머신러닝프로젝트
  • 1203 - 빅데이터 분석 프로젝트와 DataOps
  • 소공 1128
  • 소프트웨어공학 - 아키텍처 설계
sihyes
sihyes
24학번 컴퓨터공학과
  • sihyes
    시혜적으로개발
    sihyes
  • 글쓰기 관리
  • 전체
    오늘
    어제
    • 분류 전체보기 (104) N
      • 단순 설정 (9)
      • 백엔드 공부(BE, AWS) (8)
        • 로그인&회원가입 (3)
        • 파일업로드&GPT (2)
      • 개인 프로젝트 (2)
        • 알바솔로몬 (1)
        • PLACO 프로젝트 (0)
      • 도서 공부(정리) (20)
        • 알고리즘 코딩 테스트 자바 편 (1)
        • SQL첫걸음 (8)
        • 코딩 자율학습 스프링 부트 3 자바 백엔드 개발 .. (6)
        • Do it! 지옥에서 온 문서 관리자 깃&깃허브 .. (5)
      • 컴퓨터공학과 (51)
        • Python - 문해프 (1)
        • Java 1 & 2 (23)
        • 컴퓨터네트워크 (3)
        • 모앱JavaScript (0)
        • Data structures (9)
        • 소프트웨어공학 (5)
        • 오픈SW플랫폼 제출용 (5)
      • 개인공부정리페이지 (8)
        • 백준 (2)
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    ㅇ
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.4
sihyes
소공 1128 - 4차산업혁명의 핵심 - 빅데이터 분석
상단으로

티스토리툴바