12주차 데이터베이스

민주·2024년 1월 2일
0

CS

목록 보기
21/22

데이터 과학은 데이터의 큰 규모, 다양한 형태와 데이터 활용 증가에 대응하기 위해 발전한 분야. 이 분야는 데이터 수집, 저장, 분석, 표현의 전 과정을 포함.

주요 목적은 데이터를 통해 숨겨진 새로운 지식을 발견하고, 문제 해결에 활용하는 것. 이를 위해 데이터 과학은 컴퓨터 과학, 통계학, 특정 적용 분야에 대한 이해를 필요로 하는 복합적 기술을 사용.

DIKW(DIWK) 계층 구조는 데이터 과학의 중요한 개념 중 하나. 이 구조는 데이터, 정보, 지식, 지혜의 네 단계로 구성:

  1. 데이터(Data): 관찰이나 측정을 통해 수집된 사실이나 값. 예를 들어, 온도 측정값이나 판매 데이터 등이 해당.

  2. 정보(Information): 데이터를 상황에 맞게 가공하여 얻은 의미 있는 형태. 예를 들어, 특정 기간의 평균 온도나 월별 판매량 증감 등의 데이터가 정보에 해당.

  3. 지식(Knowledge): 정보 분석을 통해 발견된 규칙이나 패턴. 의미 있고 유용한 정보로, 시장 추세나 소비자 행동 패턴 이해에 포함.

  4. 지혜(Wisdom): 지식에 통찰력을 더한 새롭고 창의적인 아이디어. 문제 해결이나 새로운 전략 개발에 활용될 수 있음.

이 계층 구조는 데이터로부터 시작해 지혜에 이르는 정보의 가치 증대 과정을 나타냄. 데이터 과학자들은 이 구조를 이해하고 활용해 데이터에서 가치 있는 통찰을 도출하고 실제 세계의 문제를 해결하는 데 중요한 역할을 함.

빅데이터(Big Data)는 기존 데이터베이스의 저장 및 관리 능력을 초과하는 대규모의 다양한 데이터를 뜻함. 이는 대규모 데이터의 저장, 관리 기술과 가치 있는 정보를 만들기 위한 분석 기술을 포함. 빅데이터의 특징은 '3V'로 요약:

  1. 데이터양(Volume): 테라바이트(TB) 단위 이상의 대량 데이터를 포함하며, 여러 경로를 통해 지속적으로 생성되는 많은 양의 데이터.

  2. 속도(Velocity): 데이터의 수집과 분석을 정해진 시간 내에 처리하는 것으로, 많은 양의 데이터가 빠르게 생성되고 전달됨으로써 수집 및 분석 작업이 실시간으로 진행됨.

  3. 다양성(Variety): 정형, 반정형, 비정형 등 다양한 형태의 데이터를 포함. 이는 빅데이터를 단순한 양적 대규모 데이터를 넘어서 질적 측면의 다양한 형태를 포함하는 대규모 데이터로 이해하는 것을 의미.

빅데이터 기술은 저장 기술, 분석 기술, 표현 기술을 포함:

빅데이터 저장 기술:

  • 하둡(Hadoop): 대용량 데이터를 분산 처리할 수 있는 자바 기반의 오픈 소스 프레임워크. 분산 파일 시스템인 HDFS에 데이터를 저장하고, 맵리듀스를 이용해 데이터 처리. 오픈 소스이며, 여러 대의 서버에 데이터를 분산해서 저장해 처리 속도가 빠름.
  • NoSQL: 관계 데이터 모델과 SQL을 사용하지 않는 데이터베이스 시스템. 가용성과 확장성에 중점을 둠. 비정형 데이터 저장을 위해 유연한 데이터 모델을 지원하며, 분산 처리와 병렬 처리가 가능함. 예: H베이스, 카산드라, 몽고DB, 카우치DB 등.

빅데이터 분석 기술:

  • 텍스트 마이닝: 반정형 또는 비정형 텍스트에서 자연어 처리 기술로 정보를 추출하고 가공.
  • 오피니언 마이닝: SNS, 블로그, 게시판 등에 기록된 사용자들의 의견을 수집하고 분석하여 제품이나 서비스에 대한 선호도를 추출.
  • 소셜 네트워크 분석: 소셜 네트워크의 연결 구조나 강도 등을 바탕으로 영향력, 관심사, 성향, 행동 패턴 등을 추출.
  • 군집 분석: 데이터 간 유사도를 측정한 후 특성이 비슷한 데이터를 합쳐 최종적으로 유사 특성의 데이터 집합을 추출.

빅데이터 표현 기술:

  • R 언어: 데이터 분석을 통해 추출한 의미와 가치를 시각적으로 표현하기 위해 사용됨. 다양한 프로그래밍 언어와 연동 가능하고 다양한 운영체제를 지원하며, 하둡 환경에서 분산 처리를 지원하는 라이브러리를 제공.

빅데이터 저장 기술: NoSQL(Not Only SQL)

대량의 비정형 데이터를 빠른 속도로 저장, 처리
ACID(원자성, 일관성, 격리성, 지속성) 위한 트랜잭션 기능 미제공
저렴한 비용으로 여러 대의 컴퓨터에 데이터 분산, 저장, 처리 가능
융통성 있는 데이터 모델 사용
스키마 없이 동작, 데이터 구조 변경 용이
비정형 데이터 저장 적합

관계 데이터베이스 vs. NoSQL

  • 관계 데이터베이스
    • 장점: 트랜잭션 일관성 유지, 테이블 간 관계 표현, 복잡한 질의 처리
    • 단점: 대량 비정형 데이터 저장 확장성 비효율
  • NoSQL
    • 장점: 트랜잭션 기능 미제공, 스키마 변경 자유, 대량 비정형 데이터 빠른 저장, 처리
    • 단점: SQL 대신 별도 분석 기술 필요

NoSQL 종류

  • 키-값(key-value) 데이터베이스
    • 키와 값 쌍 저장, 다양한 형태 값 저장 가능
    • 질의 처리 속도 빠름
    • 키 이용 전체 검색 가능, 값 일부 검색 및 내용 기반 질의 별도 처리 필요
    • 예: 아마존 다이나모DB(DynamoDB), 레디스(Redis)
  • 문서 기반(document-based) 데이터베이스
    • 키와 문서 쌍 저장, JSON, XML 등 반정형 형태 문서 저장
    • 문서 객체지향 개념 유사
    • 문서 전체 검색 및 특별한 문서 대상 질의 언어 이용 부분 검색 가능
    • 예: 몽고DB(MongoDB), CouchDB
  • 컬럼 기반(column-based) 데이터베이스
    • 컬럼 패밀리와 키 쌍 저장, 관련 컬럼 값들 모음
    • 관계 데이터 모델 테이블 유사성 및 차별성
    • 다양한 형태 데이터 저장, 컬럼 패밀리별 구성 다양화
    • 예: 구글 빅테이블(BigTable), H베이스(HBase), 카산드라(Cassandra)
  • 그래프 기반(graph-based) 데이터베이스
    • 노드 데이터 저장, 간선 데이터 관계 표현
    • 질의 그래프 순회 처리
    • 연관 데이터 추천, 소셜 네트워크 친구 찾기 적합
    • ACID 지원, 클러스터 환경 부적합
    • 예: Neo4J, OrientDB

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

기존 데이터 분석 기술 + 빅데이터 특징: 다양한 형태 비정형 데이터 기반 대량 데이터 처리
대표 기술: 데이터 마이닝, 기계 학습

  • 데이터 마이닝: 숨겨진 규칙, 패턴 발견
  • 기계 학습: 수집된 데이터 학습, 새로운 데이터 결과 예측

데이터 마이닝 분석 기법

  • 분류 분석: 새로운 데이터 그룹, 등급 예측, 기존 데이터 그룹 기준 정의
    • 기법: 로지스틱 회귀모형, 의사결정나

무, K-최근접 이웃모형, 베이즈분류모형, 인공신경망, 지지벡터기계, 유전 알고리즘

  • 군집 분석: 유사한 특성 데이터 독립적 군집 나눔, 군집 특성 및 관계 분석
    • 계층적: 유사 데이터 묶기, 최단/최장/평균/중심/와드 연결법
    • 비계층적: 최적화된 군집 형성, K-중심 군집
  • 연관 분석: 데이터 발생 빈도 분석, 숨겨진 연관 규칙 파악
    • 예: 상품 동시 구매 분석, Apriori 알고리즘 사용
profile
일단 가보면 뭐든 있겠지

0개의 댓글