본문 바로가기

ADsP(데이터 분석 준전문가)/개념정리

[1-4. 최신 빅데이터 상식]

728x90

[DBMS와 SQL]
(1) DBMS
1) DBMS 이란
-DataBase Management System의 약자.
-데이터베이스를 관리하여 응용 프로그램들이 데이터베이스를 공유하며 사용할 수 있는 환경을 제공하는 소프트웨어
-데이터베이스를 구축하는 틀을 제공하며, 효율적인 데이터 검색, 저장, 기능 등을 제공
-ex) 오라클, 인포믹스, 액세스

2) 데이터베이스 관리시스템 종류
1.관계형 DBMS
-데이터를 컬럼과 로우를 이루는 하나 이상의 테이블로 정리
-고유키가 각 로우를 식별
-로우는 레코드나 튜플로 부름
-각 테이블은 하나의 엔터티 타입(ex.고객)을 대표
-로우는 그 엔터티 종류의 인스턴스를 대표
-컬럼은 그 인스턴스의 속성이 되는 값들을 대표
2.객체지향 DBMS
-일반적으로 사용되는 테이블 기반의 관계형DB와 다르게 정보를 객체형태로 표현
3.네트워크 DBMS
-레코드들이 노드로, 레코드들 사이의 관계가 간선으로 표현되는 그래프 기반 데이터베이스 모델
4.계층형 DBMS
-트리 구조를 기반으로 하는 계층 데이터베이스 모델

3)데이터베이스의 설계절차
- 요구사항 분석->개념적 설계->논리적 설계->물리적 설계->구현

4) Relationship
-관리하고자 하는 업무 영역 내의 특정한 두 개의 엔터티 사이에 존재하는 많은 관계 중 특별히 관리하고자 하는 직접적인 관계(업무적 연관성)
1. 1:1 관계
-어느 쪽 입장에서 상대를 보더라도 반드시 단 하나씩과 관계
-현실에서 매우 드물게 나타남
-업무의 흐름에 따라 데이터가 설계된 형태에서 많이 나타남
2. 1:m 관계
-가장 흔하게 나타나는 매우 일반적인 형태
-한쪽은 m이고 다른 한쪽은 1
-부모와 자식 관계
3. m:n 관계
-서로가 서로를 1:M 관계로 보는 것
-쇼핑몰에서 회원과 상품의 관계

5) 데이터 웨어하우스와 ETL
-데이터 웨어하우스 : 방대한 조직 내에서 분산 운영되는 각각의 데이터베이스 관리 시스템들을 효율적으로 통합하여 조정/관리하는 역할을 하여 효율적인 의사결정 시스템을 위한 기초를 제공하는 실무적인 활용 방법론
>주제지향성(Subject Oriented) 업무중심이 아닌 주제중심
>통합성(Integrated) 혼재한 DB로부터의 데이터 통합
>시계열성(Time Variant) 시간에 따른 변경 정보를 나타냄
>비휘발성(Non-Volatile) 데이터 변경 없이 리포팅을 위한 read only 사용


-ETL(Extract, Transform, Load) : 데이터 웨어하우스 구축시 데이터를 운영 시스템에서 추출하여 가공(변환,정제)한 후 데이터 웨어하우스에 적재하는 과정

6) NoSQL
-데이터의 폭발적인 증가에 대응하기 위해 빅데이터 분산처리 및 저장 기술과 함께 발달된 분산 데이터베이스 기술
-확장성, 가용성 높은 성능 제공
-비관계형 데이터베이스 관리 시스템
-SQL 계열 쿼리 언어를 사용할 수 있다는 사실을 강조한 면에서 Not Only SQL로 불리기도 함
-Key와 Value의 형태로 자료를 저장
-대용량 데이터 처리와 대규모의 수평적 확장성 제공
-대부분 오픈소스
-ex) MongoDB, Hbase, Redis, Cassandra

(2) SQL
1) SQL이란
-Structured Query Language
-데이터베이스를 사용할 때 데이터베이스에 접근할 수 있는 데이터베이스 하부 언어
-단순한 질의 기능 뿐만 아니라 완전한 데이터 정의와 조작 기능을 갖춤
-테이블 단위로 연산을 수행 

2) SQL의 분류
1. DDL : 데이터 정의어 > 데이터의 생성, 수정, 삭제 등 데이터의 전체 골격을 결정하는 역할의 언어 (CREAT, ALTER, DROP, TRUNCATE)
2. DML : 데이터 조작어 > 정의된 데이터베이스에 입력된 레코드를 조회, 수정, 삭제 역할의 언어 (SELECT, INSERT, UPDATE, DELETE)
3. DCL : 데이터 제어어 > 데이터베이스에 접근하거나 객체에 권한을 주는 역할의 언어 (GRANT, REVOKE, COMMIT, ROLLBACK)

3) SQL 집계함수
- AVG : 평균 값
- COUNT : 개수를 반환
- SUM : 총합
- STDDEV : 분산
- MIN : 최소값
- MAX : 최대값
- AVG, SUM, STDDEV는 각 열은 수치데이터만 포함가능. COUNT는 어떠한 데이터타입도 사용 가능

4) SQL 주요 구문
- WHERE : 특정 레코드에 대한 조건을 설정할 때 사용되는 구문
- ORDER BY : 데이터를 지정된 컬럼으로 정렬하기 의한 구문
- GROUP BY : 데이터를 구룹별로 나눠 합계, 평균 등의 연산을 할 경우 사용하는 구문
- HAVING : GROUP BY를 통해 그룹별 연산함수들의 결과값에 조건식을 달기위해 사용하는 구문
==================================================================================
[Data에 관련된 기술]
1) 개인정보 비식별 기술
-비식별 기술 : 데이터 셋에서 개인을 식별할 수 있는 요소를 전부 또는 일부를 삭제하거나 다른값으로 대체하는 등의 방법으로 개인을 알아볼 수 없도록 하는 기술
-데이터 마스킹: 데이터의 길이, 유형, 형식과 같은 속성을 유지한 채, 새롭고 읽기 쉬운 데이터를 익명으로 생성하는 기술
>홍길동, 35세, 서울 거주, 한국대 재학->홍**, 35세, 서울 거주, **대학 재학
-가명처리: 개인정보 주체의 이름을 다른 이름으로 변경하는 기술, 다른 값으로 대체할 시 일정한 규칙이 노출되지 않도록 주의
>홍길동, 35세, 서울 거주, 한국대 재학->임꺽정, 30대, 서울거주, 국내대 재학
-총계처리: 데이터의 총합 값을 보임으로서 개별 데이터의 값을 보이지 않도록 함. 단, 특정 속성을 지닌 개인으로 구성된 단체의 속성 정보를 공개하는 것은 개인정보를 공개하는 것과 마찬가지의 결과임을 주의
>임꺽정 180cm, 홍길동 170cm, 이콩쥐 160cm, 김팥쥐 150cm->물리학과 학생 키 합 : 660cm, 평균 키 165cm
-데이터값 삭제: 데이터 공유, 개방 목적에 따라 데이터 셋에 구성된 값 중에 필요 없는 값 또는 개인 식별에 중요한 값을 삭제. 개인과 관련된 날짜 정보(자격취득일자 등)은 연 단위로 처리
>홍길동, 35세, 서울 거주, 한국대 졸업->90년대 생, 남자
-데이터 범주화: 데이터 값을 범주의 값으로 변환하여 값을 숨김
>홍길동, 35세->홍씨, 30~40세

*난수화
: 데이터를 특정한 순서나 규칙을 가지지 않는 무작위 숫자로 변화
*익명화
: 데이터에 포함된 개인 식별정보를 삭제하거나 알아볼 수 없는 형태로 변환

2) 무결성과 레이크
1. 데이터 무결성(Data Integrity)
-데이터베이스 내의 데이터에 대한 정확한 일관성, 유효성, 신뢰성을 보장하기 위해 데이터 변경/수정 시 여러 가지 제한을 두어 데이터의 정확성을 보증하는 것
-ex) 개체 무결성, 참조 무결성, 범위 무결성
2. 데이터 레이크(Data Lake)
-수 많은 정보 속에서 의미있는 내용을 찾기 위해 방식에 상관없이 데이터를 저장하는 시스템
-대용량의 정형 및 비정형 데이터를 저장할 뿐만 아니라 접근도 쉽게 할 수 있는 대규모의 저장소
-ex)Apache, Hadoop, Teradata Integrated Big Data Platform 1700
=======================================================================================
[빅데이터 분석 기술]
1) 하둡(Hadoop)
-여러 개의 컴퓨터를 하나인 것처럼 묶어 대용량 데이터를 처리하는 기술
-분산파일 시스템(HDFS)을 통해 수 천대의 장비에 대용량 파일을 저장할 수 있는 기능을 제공
-맵리듀스(Map Reduce)로 HDFS에 저장된 대용량 데이터들을 대상으로 SQL을 이용해 사용자의 질의를 실시간으로 처리하는 기술
-하둡의 부족한 기능을 서로 보완하는 하둡 에코시스템이 등장하여 다양한 솔루션 제공

2) Apache Spark
-실시간 분산형 컴퓨팅 플랫폼
-스칼라로 작성되어 있지만 스칼라, 자바, R, 파이썬, API 지원
-In-Memory 방식으로 처리를 하기 때문에 하둡에 비해 처리속도가 빠름

3) Smart Factory
-공장 내 설비와 기계에 사물인터넷(IOT)가 설치
-공정 데이터가 실시간으로 수집되고 데이터에 기반한 의사결정이 이뤄짐으로써 생산성을 극대화할 수 있는 기술

4) Machine Learning 
-인공지능의 연구 분야 중 하나
-인간의 학습 능력과 같은 기능을 컴퓨터에서 실현하고자 하는 기술 및 기법

5) Deep Learning
-컴퓨터가 많은 데이터를 이용해 사람처럼 스스로 학습할 수 있게 하기 위해 인공 신경망(Artificial Neural Network, ANN) 등의 기술을 기반하여 구축한 기계학습 기술 중 하나
-대표적인 딥러닝 기법 : DNN, CNN, RNN, LSTM, Autoencoder, RBM 등
-음성, 영상인식, 자연어처리 등의 여러 분야에서 활용
-ex) Tensorflow, Caffe, Torch, Theano, Gensim
======================================================================
[기타]
1) 데이터양의 단위
-바이트 > 킬로바이트 > 메가바이트 > 기가바이트 > 테라바이트

2) B2B와 B2C
-B2B: 기업과 기업 사이의 거래를 기반으로 한 비즈니스 모델 ex) 기업이 필요로 하는 장비, 재료나 공사입찰
-B2C: 기업과 고객 사이의 거래를 기반으로 한 비즈니스 모델 ex) 이동통신사, 여행회사, 신용카드회사, 옥션, 지마켓

3) 블록체인(Block Chain)
-거래정보를 하나의 덩어리로 보고 이를 차례로 연결한 거래 장부
-거래에 참여하는 모든 사용자에게 거래 내역을 보내 주며 거래 때 마다 이를 대조해 데이터 위조를 막는 방식 사용

4) 데이터 유형
1. 정형 데이터
- 형태(고정된 필드)
- 연산 가능
- 주로 관계형 데이터베이스(RDBMS)에 저장
- 데이터 수집 난이도가 낮고 형식이 정해져 있어 처리가 쉬움
- ex) 관계형 데이터베이스, 스프레드 시트, CSV 등
2. 반정형 데이터
- 형태(스키마, 메타데이터)
- 연산 불가능
- 주로 파일로 저장
- 데이터 수집 난이도가 중간
- 보통 API 형태로 제공되기 때문에 데이터 처리 기술(파싱)이 요구
- ex) XML, HTML, JSON, 로그 형태(웹로그, 센서데이터) 등
3. 비정형 데이터
- 형태가 없음
- 연산 불가능
- 주로 NoSQL에 저장
- 데이터 수집 난이도가 높음
- 텍스트 마이닝 혹은 파일일 경우 파일을 데이터 형태로 파싱해야 하므로 수집 데이터 처리가 어려움
- ex) 소셜데이터(트위터, 페이스북), 영상, 이미지, 음성, 텍스트(word, PDF 등) 등

*메타데이터(Meta Data)
-데이터에 관한 구조화된 데이터
-다른 데이터를 설명해주는 데이터
*스키마(Schema)
-데이터베이스의 구조와 제약 조건에 관한 전반적인 명세를 기록한 메타데이터의 집합

728x90