데이터 전처리: 데이터 소스 및 저장소
ㅁ 데이터 소스 및 저장소
ㅇ 정의:
데이터 분석, 처리, 활용을 위해 원천 데이터를 저장하거나 불러오는 다양한 형태의 저장 위치 및 시스템.
ㅇ 특징:
데이터 형식, 접근 속도, 확장성, 비용 구조가 저장소 유형마다 다름.
ㅇ 적합한 경우:
프로젝트 요구사항, 데이터 크기, 처리 빈도에 따라 선택.
ㅇ 시험 함정:
저장소별 특징과 장단점을 혼동하기 쉬움.
ㅇ 시험 대비 “패턴 보기” 예시:
O: “데이터 레이크는 원시 데이터를 다양한 형식으로 저장할 수 있다.”
X: “로컬 파일시스템은 무제한 확장이 가능하다.”
================================
1. 로컬 파일시스템
ㅇ 정의:
개별 컴퓨터나 서버 내부 디스크에 데이터를 저장하는 방식.
ㅇ 특징:
접근 속도가 빠르지만, 저장 용량과 접근 범위가 물리적 장치에 제한됨.
ㅇ 적합한 경우:
소규모 데이터 분석, 개발 및 테스트 환경.
ㅇ 시험 함정:
로컬 저장소를 대규모 분산 처리 환경에 적합하다고 착각.
ㅇ 시험 대비 “패턴 보기” 예시:
O: “로컬 파일시스템은 인터넷 연결 없이도 데이터 접근이 가능하다.”
X: “로컬 파일시스템은 클라우드 기반 확장성을 기본 제공한다.”
================================
2. 오브젝트 스토리지(S3)
ㅇ 정의:
데이터를 객체 단위로 저장하고, 메타데이터와 함께 관리하는 클라우드 기반 저장소.
ㅇ 특징:
확장성이 뛰어나고, HTTP 기반 API로 접근 가능.
ㅇ 적합한 경우:
대규모 비정형 데이터 저장, 장기 보관, 글로벌 접근.
ㅇ 시험 함정:
S3를 파일시스템처럼 디렉토리 구조로 직접 관리한다고 오해.
ㅇ 시험 대비 “패턴 보기” 예시:
O: “오브젝트 스토리지는 메타데이터를 함께 저장한다.”
X: “S3는 로컬 디스크 속도와 동일한 지연시간을 제공한다.”
================================
3. 데이터베이스(PostgreSQL)
ㅇ 정의:
관계형 모델을 기반으로 데이터를 저장, 관리하는 오픈소스 RDBMS.
ㅇ 특징:
SQL 표준 준수, ACID 트랜잭션 지원, 확장 기능 풍부.
ㅇ 적합한 경우:
정형 데이터 저장, 복잡한 쿼리와 트랜잭션 처리.
ㅇ 시험 함정:
PostgreSQL을 NoSQL DB로 분류하는 오류.
ㅇ 시험 대비 “패턴 보기” 예시:
O: “PostgreSQL은 ACID 특성을 지원한다.”
X: “PostgreSQL은 스키마 정의 없이 자유롭게 데이터 저장이 가능하다.”
3.1 SQLite
ㅇ 정의:
서버 없이 파일 기반으로 동작하는 경량 RDBMS.
ㅇ 특징:
별도의 서버 프로세스 없이 동작, 단일 파일에 데이터 저장.
ㅇ 적합한 경우:
모바일 앱, 소규모 임베디드 시스템.
ㅇ 시험 함정:
SQLite를 대규모 동시접속 환경에 적합하다고 착각.
ㅇ 시험 대비 “패턴 보기” 예시:
O: “SQLite는 서버 설치 없이 사용할 수 있다.”
X: “SQLite는 수천 명의 동시접속 처리를 기본 지원한다.”
================================
4. 데이터 레이크
ㅇ 정의:
원시 데이터를 가공 없이 다양한 형식(정형, 반정형, 비정형)으로 저장하는 중앙 저장소.
ㅇ 특징:
스키마 온 리드 방식, 대규모 확장성, 저비용 스토리지 활용.
ㅇ 적합한 경우:
데이터 과학, 머신러닝을 위한 대규모 원시 데이터 보관.
ㅇ 시험 함정:
데이터 레이크를 항상 정형 데이터만 저장하는 곳으로 오해.
ㅇ 시험 대비 “패턴 보기” 예시:
O: “데이터 레이크는 정형, 반정형, 비정형 데이터를 모두 저장할 수 있다.”
X: “데이터 레이크는 스키마를 사전에 정의해야만 데이터를 저장할 수 있다.”
================================
5. 데이터 웨어하우스
ㅇ 정의:
분석 목적으로 정형 데이터를 통합, 정제하여 저장하는 시스템.
ㅇ 특징:
스키마 온 라이트, 고속 쿼리, BI 도구와의 통합 용이.
ㅇ 적합한 경우:
경영 분석, 리포팅, 대규모 집계 쿼리.
ㅇ 시험 함정:
데이터 웨어하우스를 원시 데이터 저장소로 혼동.
ㅇ 시험 대비 “패턴 보기” 예시:
O: “데이터 웨어하우스는 스키마를 사전에 정의하여 데이터를 저장한다.”
X: “데이터 웨어하우스는 비정형 데이터를 그대로 저장한다.”
ㅁ 추가 학습 내용
[정리]
저장소 관련 시험 대비 핵심 학습 내용
1. 저장소 접근 프로토콜
– 각 저장소가 사용하는 접근 프로토콜 숙지 (예: HTTP/HTTPS 기반 REST API, NFS, SMB 등)
– 프로토콜 특성과 보안 적용 가능 여부 파악
2. 보안 방식
– 인증(Authentication)과 권한 부여(Authorization) 방식
– 전송 구간 암호화(TLS/SSL) 여부
– 저장 데이터 암호화(Encryption at rest) 지원 여부
3. 확장성 방식
– Scale-up: 단일 장비 성능 향상(더 빠른 CPU, 더 큰 메모리)
– Scale-out: 장비 수를 늘려 분산 처리
– 각 저장소가 주로 사용하는 확장성 방식 구분
4. 데이터 일관성 모델
– Strong consistency: 모든 노드에서 즉시 동일 데이터 보장
– Eventual consistency: 시간 경과 후 일관성 수렴
– S3의 경우 과거에는 Eventual consistency 기본, 현재는 특정 조건에서 Strong consistency 지원
5. 데이터 레이크 vs 데이터 웨어하우스
– 스키마 적용 시점: 레이크는 읽을 때(Schema-on-read), 웨어하우스는 쓸 때(Schema-on-write)
– 저장 데이터 처리 수준: 레이크는 원시 데이터, 웨어하우스는 정제된 데이터
– 주 사용 사례: 레이크는 탐색·분석, 웨어하우스는 보고·집계
6. PostgreSQL vs SQLite
– 서버-클라이언트 구조: PostgreSQL은 서버 기반, SQLite는 내장형(서버 없음)
– 동시성 처리: PostgreSQL은 다중 연결·동시성 우수, SQLite는 파일 잠금 기반으로 제한적
– 트랜잭션 처리 성능: PostgreSQL은 대규모 트랜잭션 유리, SQLite는 소규모·단일 사용자 환경에 적합
7. 로컬 파일시스템 vs 오브젝트 스토리지
– 백업·복구 전략: 파일시스템은 파일 단위 백업, 오브젝트 스토리지는 버전 관리·수명 주기 정책 활용
– 네트워크 지연 영향: 로컬 파일시스템은 지연 거의 없음, 오브젝트 스토리지는 네트워크 상태에 따라 성능 영향
[시험 대비 체크리스트]
– 각 저장소의 접근 프로토콜과 특징을 구분할 수 있는가?
– 보안 방식(인증, 권한, 암호화) 차이를 설명할 수 있는가?
– Scale-up과 Scale-out 개념과 적용 사례를 구분할 수 있는가?
– Strong consistency와 Eventual consistency 차이와 S3의 변화 내용을 설명할 수 있는가?
– 데이터 레이크와 웨어하우스의 스키마 적용 시점, 데이터 처리 수준, 사용 사례 차이를 알고 있는가?
– PostgreSQL과 SQLite의 구조, 동시성 처리, 트랜잭션 성능 차이를 설명할 수 있는가?
– 로컬 파일시스템과 오브젝트 스토리지의 백업·복구 전략 차이와 네트워크 지연 영향에 대해 설명할 수 있는가?