![[ADP] 최신 빅데이터 상식](/images/blog/2d5ca0f9-de8f48f7-banner.jpg)
[ADP] 최신 빅데이터 상식
DBMS와 SQL
DBMS 개요
DBMS(Data Base Management System)는 데이터베이스를 관리하고 여러 응용 프로그램이 데이터를 공유할 수 있는 환경을 제공하는 소프트웨어임.
주요 기능:
- 데이터베이스 구축 틀 제공
- 효율적인 검색 및 저장
대표 제품: Oracle, MySQL, PostgreSQL 등
DBMS 종류
| 유형 | 특징 |
|---|---|
| 관계형 DBMS | 테이블(컬럼+로우) 구조, 고유키로 로우 식별. 로우=레코드/튜플, 컬럼=속성값 |
| 객체지향 DBMS | 정보를 객체 형태로 표현하는 모델 |
| 네트워크 DBMS | 노드(레코드)와 간선(관계)으로 구성된 그래프 기반 |
| 계층형 DBMS | 트리 구조 기반 모델 |
데이터베이스 설계 절차
요구사항 분석 → 개념적 설계 → 논리적 설계 → 물리적 설계 → 구현
관계(Relationship)
업무 영역 내 두 엔티티 간의 직접적인 연관성을 의미함.
관계 유형
| 유형 | 설명 | 예시 |
|---|---|---|
| 1:1 | 양쪽 모두 단 하나씩만 연결 | 주민번호 ↔ 여권번호 |
| m:1 | 한쪽은 다수, 다른 쪽은 하나 | 학생 ↔ 학과 (여러 학생이 하나의 학과에 소속) |
| m:n | 양쪽 모두 다수 연결 가능 | 수강신청 (학생 ↔ 강의) |
데이터 웨어하우스와 ETL
데이터 웨어하우스(DW): 분산된 데이터베이스를 통합하여 의사결정 시스템의 기초를 제공하는 방법론
| 특징 | 설명 |
|---|---|
| 주제지향성 | 업무가 아닌 주제 중심으로 구성 |
| 통합성 | 다양한 DB로부터 데이터 통합 |
| 시계열성 | 시간에 따른 변경 정보 포함 |
| 비휘발성 | 리포팅용 read only 데이터 |
ETL(Extract, Transform, Load): 운영 시스템에서 데이터를 추출 → 가공/정제 → DW에 적재하는 과정
NoSQL
빅데이터 시대에 대응하기 위한 분산 데이터베이스 기술임.
특징:
- Key-Value 형태로 저장
- 대용량 처리 및 수평적 확장성 제공
- 'Not only SQL'로도 불림 (SQL 쿼리 언어 지원)
대표 제품: MongoDB, HBase, Redis, Cassandra
SQL 개요
SQL(Structured Query Language)은 데이터베이스의 하부 언어로서 질의뿐 아니라 데이터 정의와 조작 기능을 모두 갖춤.
특징:
- 테이블 단위 연산 수행
- 영어 문장과 유사한 구문으로 초보자도 쉽게 접근 가능
SQL 분류
| 분류 | 설명 | 명령어 |
|---|---|---|
| DDL (데이터 정의어) | 데이터베이스 구조(골격) 정의 | CREATE, ALTER, DROP, TRUNCATE |
| DML (데이터 조작어) | 레코드 조회/수정/삭제 | SELECT, INSERT, UPDATE, DELETE |
| DCL (데이터 제어어) | 접근 권한 및 보안/무결성/회복 정의 | GRANT, REVOKE, COMMIT, ROLLBACK |
SQL 집계함수
| 함수 | 설명 | 적용 가능 타입 |
|---|---|---|
| AVG | 평균값 반환 | 수치형 |
| COUNT | 조건에 맞는 개수 반환 | 수치형, 문자형 |
| SUM | 총합 반환 | 수치형 |
| STDDEV | 분산 반환 | 수치형 |
| MIN | 최솟값 반환 | 수치형 |
| MAX | 최댓값 반환 | 수치형 |
COUNT는 모든 데이터 타입에서 사용 가능하지만, AVG/SUM/STDDEV는 수치 데이터에서만 사용 가능함.
SQL 주요 구문
| 구문 | 역할 |
|---|---|
| WHERE | 특정 레코드에 대한 조건 설정 |
| ORDER BY | 컬럼 기준 정렬 (기본: 오름차순, DESC: 내림차순) |
| GROUP BY | 그룹별 집계 연산 수행 |
| HAVING | GROUP BY 결과에 조건 설정 (그룹 레벨 필터링) |
WHERE는 로우(ROW) 레벨 필터링, HAVING은 그룹(GROUP) 레벨 필터링을 제공함.
SQL 예제
기본 SELECT문
SELECT NAME, AGE, DEPARTMENT FROM EMPLOYEES WHERE SALARY BETWEEN 3000 AND 5000
SELECT: 추출할 컬럼 지정FROM: 대상 테이블 지정WHERE: 조건 설정 (급여가 3000~5000 사이)
LIKE 연산자
SELECT PRODUCT_NAME, PRICE FROM PRODUCTS WHERE PRODUCT_NAME LIKE '_P%'
%: 모든 문자 (0개 이상)_: 한 글자'_P%': 두 번째 글자가 'P'인 모든 데이터
DATA에 관련한 기술
개인정보 비식별 기술
데이터에서 개인 식별 요소를 삭제하거나 대체하여 식별 불가능하게 만드는 기술임.
| 기술 | 내용 |
|---|---|
| 데이터 마스킹 | 속성(길이, 유형)은 유지하며 익명 데이터 생성 |
| 가명처리 | 이름을 다른 이름으로 변경 (규칙 노출 주의) |
| 총계처리 | 개별 값 대신 총합/평균 등 집계값 공개 |
| 데이터값 삭제 | 불필요하거나 식별에 중요한 값 삭제 |
| 데이터 범주화 | 구체적 값을 범주로 변환 (예: 35세 → 30~40세) |
데이터 무결성과 데이터 레이크
데이터 무결성(Data Integrity)
DB 내 데이터의 정확성, 일관성, 유효성, 신뢰성을 보장하기 위해 변경/수정 시 제한을 두는 것임.
무결성 유형:
- 개체 무결성 (Entity Integrity)
- 참조 무결성 (Referential Integrity)
- 범위 무결성 (Domain Integrity)
데이터 레이크(Data Lake)
형식에 관계없이 대용량 정형/비정형 데이터를 저장하고 쉽게 접근할 수 있는 대규모 저장소임.
플랫폼 예시: Apache Hadoop, Teradata 등
빅데이터 분석 기술
Hadoop
여러 컴퓨터를 하나처럼 묶어 대용량 데이터를 처리하는 기술임.
핵심 구성요소:
- HDFS (분산파일시스템): 수천 대 장비에 대용량 파일 저장
- MapReduce: HDFS 데이터에 SQL 기반 실시간 질의 처리
하둡 에코시스템을 통해 다양한 보완 솔루션 제공됨.
Apache Spark
실시간 분산형 컴퓨팅 플랫폼임.
특징:
- Scala로 작성, Scala/Java/R/Python API 지원
- In-Memory 방식으로 Hadoop보다 빠른 처리 속도
Smart Factory
공장 설비에 IoT가 설치되어 공정 데이터를 실시간 수집하고, 데이터 기반 의사결정으로 생산성을 극대화하는 기술임.
Machine Learning & Deep Learning
| 구분 | 설명 |
|---|---|
| 머신러닝 | 인간의 학습 능력을 컴퓨터로 구현하는 AI 연구 분야 |
| 딥러닝 | 인공신경망(ANN) 기반으로 스스로 학습하는 기계 학습 기술 |
딥러닝 기법: DNN, CNN, RNN, LSTM, Autoencoder, RBM 등
활용 분야: 음성 인식, 영상 인식, 자연어 처리
라이브러리: TensorFlow, PyTorch, Keras, Caffe 등
기타
데이터 용량 단위
| 단위 | 크기 |
|---|---|
| KB (킬로바이트) | 2^10 B = 1,024 B |
| MB (메가바이트) | 2^20 B |
| GB (기가바이트) | 2^30 B |
| TB (테라바이트) | 2^40 B |
| PB (페타바이트) | 2^50 B |
| EB (엑사바이트) | 2^60 B |
| ZB (제타바이트) | 2^70 B |
| YB (요타바이트) | 2^80 B |
B2B와 B2C
| 모델 | 설명 | 예시 |
|---|---|---|
| B2B | 기업 간 거래 | 원자재 납품, 도매 거래, SI 프로젝트 |
| B2C | 기업-소비자 거래 | 온라인 쇼핑몰, 스트리밍 서비스, 배달앱 |
블록체인
거래정보를 블록 단위로 묶어 체인처럼 연결한 분산 거래장부임.
| 기존 방식 | 블록체인 |
|---|---|
| 중앙 서버에 기록 보관 | 모든 참여자에게 거래 내역 배포 |
| 단일 장애점 존재 | 거래마다 대조하여 위조 방지 |
데이터 유형
| 유형 | 특징 | 저장소 | 예시 |
|---|---|---|---|
| 정형 | 고정 필드, 연산 가능 | RDBMS | CSV, 스프레드시트 |
| 반정형 | 스키마/메타데이터 존재, 연산 불가 | 파일 | XML, JSON, 로그 |
| 비정형 | 형태 없음, 연산 불가 | NoSQL | 이미지, 영상, 소셜 데이터 |
XML (Extensible Markup Language): 태그 기반 다목적 마크업 언어로, 시스템 간 데이터 교환 목적으로 만들어짐. XHTML, SVG 등이 XML 기반 언어임.