13. 데이터 과학과 빅데이터
01 데이터 과학
1. 데이터 과학의 필요성
방대한 양의 데이터 속에 숨겨진 규칙과 패턴을 찾아내 문제 해결에 활용
앞으로 벌어질 일을 예측하여 미리 준비
2. 데이터 과학의 개념
데이터를 수집 → 분석 → 숨겨진 새로운 지식 발견, 이를 문제 해결에 활용하는 모든 과정의 활동
DIKW 계층 구조
데이터 → (상황에 대한 이해) → 정보 → (의미) → 지식 → (통찰력) → 지혜
- 데이터: 관찰하거나 측정하여 수집한 사실이나 값
- 정보: 데이터를 목적에 맞게 가공한 것
- 지식: 규칙과 패턴을 통해 찾아낸 의미있고 유용한 정보
- 지혜: 지식에 통찰력을 더해 새롭고 창의적인 아이디어를 도출
02 빅데이터
1. 빅데이터의 개념
좁은 정의: 기존의 데이터베이스가 저장하고 관리할 수 있는 범위를 넘어서는 대규모의 다양한 데이터
넓은 정의: 대규모의 데이터를 저장 및 관리하는 기술과 가치 있는 정보를 만들기 위해 분석하는 기술
2. 빅데이터의 특징
3V: 데이터양, 속도, 다양성
- 데이터양(Volume)
- 테라바이트 단위 이상의 대량 데이터
- 속도(Velocity)
- 데이터의 수집과 분석을 정해진 시간 내에 처리
- 다양성(Variety)
- 형태의 다양성
- 정형, 반정형, 비정형 데이터를 모두 포함
5V: 가치, 정확성
- 가치(Value)
- 빅데이터 분석으로 얻으 결과는 문제 해결을 위한 의사 결정에 활용될 만한 가치가 있어야 한다
- 정확성(Veracity)
- 정확하고 신뢰할 수 있어야 한다
7V: 시각화, 가변성
- 시각화(Visualization)
- 분석 결과를 이해하기 쉽고 보기 좋게 그림/도표로 시각화
- 가변성(Variability)
- 맥락에 따른 가변성 → 원래 의미가 그대로 반영될 수 있도록 노력
3. 빅데이터의 기술
저장 기술
- 하둡
- 대용량 데이터를 분산 처리할 수 있는 자바 기반 오픈 소스 프레임워크
- HDFS(Hadoop Distributed File System)에 데이터 저장
- MapReduce를 이용해 데이터 처리
- 오픈소스→ 비용이 적게 든다
- 여러 대의 서버에 데이터 분산 저장 → 처리 속도가 빠르다
- NoSQL
- 관계 데이터 모델과 SQL을 사용하지 않는 데이터베이스 시스템
- 기존 관계 데이터베이스의 가용성과 확장성에 중점을 둔다
- 유연한 데이터 모델 지원
- 저렴한 비용으로 분산 처리, 병렬 처리
- H베이스, 카산드라, 몽고DB, 카우치 DB
분석 기술
- 텍스트 마이닝: 반정형 또는 비정형 텍스트에서 자연어 처리 기술을 기반으로 가치있는 정보를 추출하고 가공
- 오피니언 마이닝: SNS, 블로그, 게시판 등에 기록된 사용자들의 의견을 수집하고 분석하여 제품이나 서비스에 대한 긍정, 부정, 중립 등의 선호도를 추출
- 소셜 네트워크 분석: 소셜 네트워크의 연결 구조나 강도 등을 바탕으로 소셜 네트워크에 나타난 영향력, 관심사, 성향, 행동 패턴 등을 추출
- 군집 분석: 데이터 간의 유사도 측정 → 유사 특성의 데이터 집합 추출
표현 기술
- R-통계 기반 데이터 분석, 다양한 시각화를 위한 언어와 개발 환경 제공
03 빅데이터 저장 기술: NoSQL
1. NoSQL의 등장
Not Only SQL - 관계 데이터베이스만 고집하지 말고 필요에 따라 다른 특성을 제공하는 데이터베이스를 사용하는 것이 좋다
cf. 관계 데이터베이스
- 정형화된 데이터 저장
- 데이터의 형태와 크기를 미리 정하고 테이블 단위로 구분하여 데이터 저장
- 트랜잭션을 통해 ACID(원자성, 일관성, 격리성, 지속성)를 보증
- 안정적인 데이터 관리, 복잡한 조건을 포함하는 데이터 검색 가능
멀티미디어 데이터, SNS→비정형 데이터가 대량 생산
→ NoSQL 등장: 웹에서 대량의 비정형 데이터의 저장과 처리
2. NoSQL의 특징
빠른 속도로 생성되는 대량의 비정형 데이터 저장, 처리 → ACID를 위한 트랜잭션 기능 X
저렴한 비용으로 여러 대의 컴퓨터에 데이터를 분산 저장 처리하는 것이 가능한 데이터베이스
스키마 없이 동작, 데이터 구조를 미리 정의할 필요X →
비정형 데이터 저장에 적합
관계 데이터베이스와 NoSQL의 비교
관계 데이터베이스 | NoSQL | |
---|---|---|
처리 데이터 | 정형 데이터 | 정형 데이터, 비정형(반정형) 데이터 |
대용량 데이터 | 처리 시 성능 저하 | 처리 지원 |
스키마 | 미리 정해짐 | 없거나, 변경이 자유로움 |
트랜잭션 | O, 일관성 유지 보장 | 지원X, 일관성 유지 보장X |
검색 기능 | 조인 등 복잡한 검색 기능 제공 | 단순한 데이터 검색 기능 제공 |
확장성 | 클러스터 환경에 적합하지 않음 | 클러스터 환경에 적합 |
라이선스 | 고가의 라이선스 비용 | 오픈 소스 |
사례 | Oracle, MySQL, MS SQL 서버 | 카산드라, 몽고DB, H베이스 |
3. NoSQL의 종류
키-값 데이터베이스
가장 단순한 형태
키와 값의 쌍으로 데이터가 저장
이미지, 동영상 등 모든 형태의 값 저장 가능
질의 처리 속도가 빠르다
키를 이용해 특정 값 지정 → 값 전체 검색 가능, 값의 일부 검색/값의 내용을 이용한 질의 불가능
아마존-다이나모DB, 트위터-레디스
문서 기반 데이터베이스
키-값 데이터 모델이 확장된 형태
키와 문서의 쌍으로 데이터 저장
트리 형태의 계층적 구조가 존재하는 JSON, XML 등과 같은 반정형 형태의 문서로 데이터 저장
특별한 문서 대상 질의 언어(XQuery)를 이용하면 문서 내의 일부 검색/질의에 활용 가능
몽고DB, 카우치DB
컬럼 기반 데이터베이스
컬럼 패밀리와 키의 쌍으로 데이터 저장
컬럼 패밀리: 테이블에서 1개의 투플(1개의 행)을 구성하는 속성들의 모임
관계 데이터 모델의 테이블과 달리 다양한 형태의 데이터를 값으로 저장할 수 있음
구글-빅테이블, H베이스, 카산드라
그래프 기반 데이터베이스
데이터 간의 관계를 표현하는 데 적합
질의: 그래프 순회 과정
트랜잭션을 통해 ACID를 지원, 클러스터 환경에 적합X
소셜 네트워크에서 친구 찾기 질의/연관 데이터 추천 등에 적합
네오포제이, 오리엔트DB, 아젠스그래프
04 빅데이터 분석 기술: 데이터 마이닝
1. 데이터 분석의 개념
2. 기계 학습과 데이터 마이닝
둘은 유사한 개념
분석 목적: 데이터 마이닝-발견, 기계 학습-예측
3. 데이터 마이닝
대표적인 데이터 분석 기술-대량의 데이터 안에 숨겨진 지식을 발견하기 위해 규칙과 패턴을 찾아내는 기술
- 분류 분석
- 새로운 데이터가 어떤 그룹 또는 등급에 속하는지를 판단
- 미리 정의된 기준에 따라 기존 데이터의 그룹이 나뉘어 있음
- 군집 분석
- 미리 정해진 기준이 없는 상태에서 유사한 특성을 공유하는 데이터들을 여러 개의 독립적인 군집으로 나누는 것
- 데이터 간의 유사성에 기반을 두고 거리가 가까운 데이터를 하나의 군집으로 모음
- 계층적 군집 분석: 가장 유사한 데이터를 묶어나가는 과정을 반복하며 원하는 개수의 군집을 형성
- 비계층적 군집 분석: 데이터를 군집으로 나눌 수 있는 모든 방법을 생각해본 후 가장 최적화된 군집을 형성
- 연관 분석
- 장바구니 분석
- 데이터 간의 발생 빈도를 분석하여 그 속에 숨겨진 연관 규칙을 파악
- 상품이나 서비스 간의 연관 관계를 분석하여 마케팅에 주로 활용
05 빅데이터 표현 기술: 데이터 시각화
1. 데이터 시각화 개념
데이터 분석을 통해 추출한 결과를 모두가 이해하기 쉽고 보기 좋게 글미이나 그래프 등으로 표현
2. 데이터 시각화 방법
- 시간 시각화
- 시간의 흐름에 따른 데이터의 변화나 경향 표현
- 분포 시각화
- 선택/분류 기준에 따라 전체적으로 데이터가 각 부분에 어떻게 분포되어 있는지 표현
- 관계 시각화
- 데이터 간 상관관계
- 비교 시각화
- 데이터 값을 비교해서 유사성/차이 표현
- 공간 시각화
- 지도 위에 데이터 표시 - 장소/지역에 따른 데이터 분포 시각화
3. 데이터 시각화 도구
태블로, R …
'CS > DataBase' 카테고리의 다른 글
[데이터베이스 개론] 12. 데이터베이스 응용 기술 (0) | 2022.12.11 |
---|---|
[데이터베이스 개론] 11. 보안과 권한 관리 (0) | 2022.12.02 |
[데이터베이스 개론] 10. 회복과 병행제어 (0) | 2022.12.02 |
[데이터베이스 개론] 9. 정규화 (0) | 2022.12.01 |
[데이터베이스 개론] 6. 관계 데이터 연산 (0) | 2022.10.02 |