[CS] 빅데이터와 데이터 분석

Ryong·2024년 6월 20일

CS

목록 보기
16/16
post-thumbnail

빅데이터의 개념과 특성

빅데이터(Big Data)는 전통적인 데이터 처리 애플리케이션 소프트웨어로는 처리하기 어려운 크기와 복잡성을 가진 방대한 데이터 집합을 의미한다. 빅데이터의 특징은 주로 "3V"로 설명된다.

  1. Volume(규모):

    • 의미: 데이터의 양이 방대.
    • 예시: 소셜 미디어, 센서 데이터, 로그 파일.
  2. Velocity(속도):

    • 의미: 데이터 생성과 처리 속도가 매우 빠름.
    • 예시: 실시간 스트리밍 데이터, 온라인 트랜잭션.
  3. Variety(다양성):

    • 의미: 데이터의 형식과 출처가 다양.
    • 예시: 정형 데이터(데이터베이스), 반정형 데이터(JSON, XML), 비정형 데이터(텍스트, 이미지, 비디오).

추가적으로, Value(가치)Veracity(정확성)도 중요한 특성으로 언급.

  • Value(가치): 데이터로부터 유의미한 통찰과 가치를 추출할 수 있다.
  • Veracity(정확성): 데이터의 품질과 신뢰성을 보장해야 한다.

데이터 수집과 저장

데이터 수집:

  • 방법:
    • 웹 스크래핑(Web Scraping): 웹사이트에서 데이터를 자동으로 추출하는 방법.
    • 센서 데이터(Sensor Data): IoT 기기나 센서에서 실시간으로 데이터를 수집.
    • 로그 파일(Log Files): 시스템 로그, 서버 로그 등에서 데이터 수집.
    • API(Application Programming Interface): 외부 서비스에서 데이터를 가져오는 방법.

데이터 저장:

  • 데이터베이스:
    • 관계형 데이터베이스(RDBMS): MySQL, PostgreSQL.
    • NoSQL 데이터베이스: MongoDB, Cassandra, HBase.
  • 분산 파일 시스템(Distributed File Systems):
    • HDFS (Hadoop Distributed File System): 대규모 데이터 저장 및 처리에 사용.
  • 데이터 레이크(Data Lake):
    • 개념: 다양한 형식의 데이터를 원시 형태로 저장하는 중앙 저장소.
    • 장점: 데이터 유연성, 저비용 저장.

데이터 처리와 분석

데이터 처리:

  • 배치 처리(Batch Processing):
    • 개념: 대규모 데이터를 일정한 주기로 일괄 처리.
    • 기술: Apache Hadoop, Apache Spark.
  • 실시간 처리(Real-Time Processing):
    • 개념: 실시간으로 데이터를 처리하여 즉시 결과를 생성.
    • 기술: Apache Kafka, Apache Storm, Apache Flink.

데이터 분석:

  • 기술:
    • 데이터 전처리(Data Preprocessing): 데이터 정제, 변환, 축소.
    • 통계 분석(Statistical Analysis): 데이터 분포, 통계량 계산.
    • 기계 학습(Machine Learning): 예측 모델, 군집 분석, 분류.
    • 텍스트 분석(Text Analysis): 자연어 처리, 감성 분석.

데이터 시각화

데이터 시각화(Data Visualization)는 데이터를 시각적인 형태(차트, 그래프, 대시보드)로 표현하여 통찰을 얻는 과정.

  • 도구:

    • Tableau: 대화형 데이터 시각화 도구.
    • Power BI: Microsoft의 데이터 시각화 및 비즈니스 분석 도구.
    • Matplotlib: Python 기반의 2D 플로팅 라이브러리.
    • Seaborn: Matplotlib을 기반으로 한 고수준의 시각화 라이브러리.
    • D3.js: JavaScript 기반의 동적 데이터 시각화 라이브러리.
  • 기술:

    • 기본 차트: 막대 차트, 선 그래프, 파이 차트.
    • 고급 시각화: 히트맵, 트리맵, 산점도, 네트워크 그래프.
    • 대시보드: 여러 시각화 요소를 하나의 인터페이스에 통합하여 실시간 데이터 모니터링.

데이터 과학 도구와 기술

Hadoop:

  • 개념: 오픈 소스 분산 처리 프레임워크로, 대규모 데이터를 효율적으로 저장하고 처리하는 데 사용.
  • 구성 요소:
    • HDFS: 분산 파일 시스템.
    • MapReduce: 분산 데이터 처리 모델.
    • YARN: 클러스터 자원 관리 시스템.

Spark:

  • 개념: 빠르고 일반적인 분산 데이터 처리 시스템으로, 대규모 데이터 분석과 머신 러닝에 사용.
  • 특징: 메모리 내 데이터 처리, 다양한 언어 지원(Python, Scala, Java).
  • 구성 요소:
    • Spark Core: 기본 분산 처리 엔진.
    • Spark SQL: 구조화된 데이터 처리.
    • Spark Streaming: 실시간 데이터 처리.
    • MLlib: 머신 러닝 라이브러리.
    • GraphX: 그래프 처리 라이브러리.

Pandas:

  • 개념: Python에서 데이터 조작 및 분석을 위한 라이브러리.
  • 특징: 데이터프레임(DataFrame) 구조를 사용하여 데이터 정리, 분석, 시각화가 용이.
  • 기능:
    • 데이터 구조: Series, DataFrame.
    • 데이터 조작: 필터링, 그룹화, 병합, 피벗.
    • 데이터 입출력: CSV, Excel, SQL 등 다양한 형식의 데이터 읽기 및 쓰기.
profile
새로운 시작. 그리고 도약

0개의 댓글