최신 빅데이터 상식
1. DBMS와 SQL
가. DBMS
1) DBMS란 무엇인가
- DBMS는 Data Base Management System의 약자로서 데이터베이스를 관리하여 응용 프로그램들이 데이터베이스를 공유하며 사용할 수 있는 환경을 제공하는 소프트웨어
- 데이터베이스를 구축하는 틀을 제공하며 효율적인 데이터 검색, 저장 기능 등을 제공
- 대표적인 데이터베이스 관리시스템에는 오라클, 인포믹스, 액세스 등이 있다
2) 데이터베이스 관리시스템 종류
- 관계형 DBMS
이 모델은 데이터를 칼럼과 로우를 이루는 하나 이상의 테이블로 정리하며, 고유키가 각 로우를 식별한다. 로우는 레코드나 튜플로 부르며, 일반적으로 각 테이블/관계는 하나의 엔티티 타입(고객이나 제품과 같은)을 대표한다. 로우는 그 엔티티 종류의 인스턴스를 대표하며 칼럼은 그 인스턴스의 속성이 되는 값을 대표한다
- 객체지향 DBMS
객체지향 DB는 일반적으로 사용되는 테이블 기반의 관계형 DB와 다르게 정보를 '객체'형태로 표현하는 데이터베이스 모델
- 네트워크 DBMS
레코드들이 노드로, 레코드들 사이의 관계가 간선으로 표현되는 그래프를 기반으로 하는 데이터베이스 모델
- 계층형 DBMS
트리 구조를 기반으로 하는 계층 데이터베이스 모델
나. SQL
1) SQL이란 무엇인가?
SQL은 Structured Query Language의 약자로 데이터 베이스를 사용할 때 데이터베이스에 접근할 수 있는 데이터 베이스의 하부 언어로, 단순한 질의 기능 뿐만 아니라 완전한 데이터의 정의와 조작 기능을 갖추고 있다
테이블을 단위로 연산을 수행하며 영어 문장과 비슷한 구문으로 초보자들도 비교적 쉽게 사용 가능
2) SQL 집계함수
AVG 지정한 열의 평균 값을 반환, 수치형
COUNT 테이블의 특정 조건이 맞는 것의 개수를 반환, 수치형, 문자형
SUM 지정한 열의 총합을 반환, 수치형
STDDEV 지정한 열의 분산을 반환, 수치형
MIN 지정한 열의 가장 작은 값을 반환, 수치형
MAX 지정한 열의 가장 큰 값을 반환, 수치형
> AVG, SUM, STDDEV는 각 열은 수치 데이터만 포함이 가능하고 COUNT는 어떠한 데이터 타입에서도 가능
3) 간단한 SQL 문장 해석
첫 째줄의 SELECT는 하나 또는 그 이상의 테이블에서 데이터를 추출하는 명령어
FROM은 테이블을 지정해주는 명령어
WHERE는 데이터를 추출하는 선택 조건식을 지정하는 명령어
2. DATA에 관련한 기술
가. 개인정보 비식별 기술
비식별 기술이란 데이터셋에서 개인을 식별할 수 있는 요소를 전부 또는 일부를 삭제하거나 다른 값으로 대체하는 등의 방법으로 개인을 알아볼 수 없도록 하는 기술
비식별 기술의 종류와 예
- 데이터 마스킹
데이터의 길이, 유형, 형식과 같은 속성을 유지한채, 새롭고 읽기 쉬운 데이터를 익명으로 생성하는 기술
- 가명처리
개인정보 주체의 이름을 다른 이름으로 변경하는 기술, 다른 값으로 대체할 시 일정한 규칙이 노출되지 않도록 주의해야함
- 총계처리
데이터의 총합 값을 보임으로서 개별 데이터의 값을 보이지 않도록 함. 단, 특정 속성을 지닌 개인으로 구성된 단체의 속성 정보를 공개하는 것은 개인정보를 공개하는 것과 마찬가지의 결과임으로 주의해야함
- 데이터값 삭제
데이터 공유, 개방 목적에 따라 데이터 셋에 구성된 값 중에 필요 없는 값 또는 개인식별에 중요한 값을 삭제, 개인과 관련된 날짜 정보(자격취득일자, 합격일 등)은 연단위로 처리
- 데이터 범주화
데이터 값을 범주의 값으로 변환하여 값을 숨김
나. 무결성과 레이크
1) 데이터 무결성(Data integrity)
데이터베이스 내의 데이터에 대한 정확한 일관성, 유효성, 신뢰성을 보장하기 위해 데이터 변경, 수정시 여러가지 제한을 두어 데이터의 정확성을 보증하는 것을 말한다. 무결성제한의 유형은 개체 무결성, 참조 무결성, 범위 무결성이 있다
2) 데이터 레이크(Data Lake)
수 많은 정보 속에서 의미있는 내용을 찾기 위해 방식에 상관없이 데이터를 저장하는 시스템으로 대용량의 정형 및 비정형 데이터를 저장할 뿐만 아니라 접근도 쉽게 할 수 있는 대규모의 저장소를 의미
17Apache Hadoop, Teradata Integrated Big Data Platform 1700 등과 같은 플랫폼으로 구성된 솔루션 제공
3. 빅데이터 분석 기술
- 하둡(Hadoop)
하둡은 여러 개의 컴퓨터를 하나인 것처럼 묶어 대용량 데이터를 처리하는 기술
- Apache Spark
실시간 분산형 컴퓨팅 플랫폼으로써 스칼라로 작성이 되어 있지만 스칼라, 자바, R, 파이썬, API를 지원한다. In-Momory 방식으로 처리를 하기 때문에 하둡에 비해 처리 속도가 빠른 것이 특징
- Smart Factory
공장 내 설비와 기계에 사물인터넷(IoT)이 설치되어 공정 데이터가 실시간으로 수집되고 테이터에 기반한 의사결정이 이뤄짐으로써 생산성을 극대화할 수 있는 기술
- Machine Learning&Deep learning
- 머신러닝은 인공지능의 연구 분야 중 하나로, 인간의 학습 능력과 같은 기능을 컴퓨터에서 실현하고자 하는 기술 및 기법
- 딥러닝은 컴퓨터가 많은 데이터를 이용해 사람처럼 스스로 학습할 수 있게 하기 위하여 인공신경망(ANN:Artificial Neural Network) 등의 기술을 기반하여 구축한 기계학습 기술 중 하나
4. 기타
가. 데이터양의 단위
나. B2B와 B2C
- B2B
기업과 기업 사이의 거래를 기반으로 한 비지니스 모델을 의미하며 기업이 필요로 하는 장비, 재로나 공사 입찰 등이 있다
- B2C
기업과 고객 사이의 거래를 기반으로 한 비지니스 모델을 의미하며 이동통신사, 여행회사, 신용카드회사, 옥션, 지마켓 등이 있다
다. 블록체인
블록체인(Block Chain) : 거래 정보를 하나의 덩어리로 보고 이를 차례로 연결한 거래장부
기존 금융회사의 경우 중앙 집중형 서버에 거래 기록을 보관하는 반면, 블록체인은 거래에 참여하는 모든 사용자에게 거래 내역을 보내주며 거래 때마다 이를 대조해 데이터 위조를 막는 방식
라. 데이터의 유형
- 정형데이터
형태(고정된 필드)가 있으며, 연산이 가능함. 주로 관계형 데이터베이스(RDBMS)에 저장됨
데이터 수집 난이도가 낮고 형식이 정해져있어 처리가 쉬운 편
예) 관계형 데이터베이스, 스프레드 시트, CSV 등
- 반정형데이터
형태(스키마, 메타데이터)가 있으며, 연산이 불가능. 주로 파일로 저장됨
데이터 수집 난이도가 중간, 보통 API 형태로 제공되기 때문에 데이터 처리 기술이 요구됨
예) XML, HTML, JSON, 로그형태(웹로그, 센서 데이터) 등
- 비정형데이터
형태가 없으며, 연산이 불가능, 주로 NoSQL에 저장됨
데이터 수집 난이도가 높으며 텍스트 마이닝 혹은 파일일 경우 파일을 데이터 형태로 파싱해야 하기 때문에 수집 데이터 처리가 어려움
예) 소셜데이터(트위터, 페이스북), 영상, 이미지, 음성, 텍스트(word, PDF등) 등