데이터 적재와 저장: 분산 파일 시스템·NoSQL
쉽게 말하면
모은 데이터를 어디에 어떻게 담을지 정하는 단계예요. 너무 크면 여러 서버에 나눠 담는 분산 파일 시스템(HDFS)을 쓰고, 표 모양이 아니거나 아주 빠르게 쌓이면 NoSQL 데이터베이스를 써요. 정리된 분석용 창고는 데이터 웨어하우스, 날것 그대로 일단 다 부어 두는 큰 호수는 데이터 레이크예요.
시험용 정의
데이터 적재는 수집한 데이터를 저장소에 넣는 일이고, 데이터 저장은 그 데이터를 분석하기 좋게 보관하는 구조를 정하는 일이다. 대용량은 여러 서버에 블록으로 나눠 담는 분산 파일 시스템(HDFS, GFS)에 둔다. 표 구조가 고정되지 않거나 수평 확장이 중요하면 NoSQL(Not only SQL)을 쓴다. NoSQL 은 키-값, 컬럼 패밀리, 문서, 그래프 네 유형이 있다. 분산 저장의 한계는 CAP 정리로 설명한다. 일관성(C), 가용성(A), 분할 내성(P) 셋을 동시에 모두 보장할 수 없어서, 네트워크가 끊길 때 일관성과 가용성 중 하나를 고른다. 분석용 저장소로는 정제된 데이터 웨어하우스, 원시 데이터를 그대로 모으는 데이터 레이크, 부서용 부분집합인 데이터 마트가 있다.
비유로 이해하기
주방 보관법이다. 손질해서 칸칸이 정리한 냉장고가 데이터 웨어하우스, 장 본 것을 일단 통째로 넣어 두는 대형 창고가 데이터 레이크, 오늘 쓸 재료만 꺼내 둔 조리대가 데이터 마트다. 재료가 너무 많아 창고 여러 동에 나눠 두면 분산 파일 시스템이다.
자세히
NoSQL 네 유형
| 유형 | 저장 방식 | 알맞은 곳 | 예 |
|---|---|---|---|
| 키-값 | 키 하나에 값 하나 | 세션·캐시처럼 키로 빨리 찾기 | Redis, DynamoDB |
| 컬럼 패밀리 | 행 키 아래 열 묶음 단위로 저장 | 아주 큰 테이블, 쓰기가 많은 로그 | HBase, Cassandra |
| 문서 | JSON·XML 같은 문서 단위 | 구조가 자주 바뀌는 데이터 | MongoDB, CouchDB |
| 그래프 | 노드와 관계(간선) | 관계가 중요한 데이터(추천, 사회연결망) | Neo4j |
CAP 정리와 BASE
| 말 | 뜻 |
|---|---|
| 일관성 (C) | 어느 노드에서 읽어도 같은 최신 값 |
| 가용성 (A) | 일부 노드가 고장 나도 요청에 항상 응답 |
| 분할 내성 (P) | 네트워크가 끊겨 노드가 나뉘어도 시스템이 동작 |
| ACID | 관계형 DB 의 트랜잭션 성질: 원자성·일관성·고립성·지속성 |
| BASE | 기본적으로 가용, 상태는 유연, 결국에는 일관(Eventually consistent) |
분산 시스템에서는 네트워크 분할(P)을 피할 수 없으므로 실제로는 CP(일관성 우선)와 AP(가용성 우선) 중 고른다.
분석용 저장소
| 저장소 | 특징 |
|---|---|
| 데이터 웨어하우스 (DW) | 주제 지향, 통합, 시간 가변(이력 보관), 비휘발(조회 위주). 정제된 정형 데이터. 저장할 때 구조를 정함 |
| 데이터 레이크 | 정형·반정형·비정형 원시 데이터를 형태 그대로. 읽을 때 구조를 정함(스키마 온 리드) |
| 데이터 마트 (DM) | DW 에서 특정 부서·주제용으로 떼어 낸 작은 저장소 |
적재 방식
- 배치 적재: 일정 주기(매일 밤)로 모아서 한꺼번에
- 실시간(스트리밍) 적재: 생기는 즉시 계속 넣음 (Kafka 등)
- ETL은 변환한 뒤 적재, ELT는 일단 적재한 뒤 저장소 안에서 변환 (데이터 레이크에서 많이 씀)
시험에 이렇게 나와요
- NoSQL 짝: 키-값(Redis), 컬럼(HBase·Cassandra), 문서(MongoDB), 그래프(Neo4j)
- CAP: 일관성·가용성·분할 내성 셋을 동시에 보장할 수 없다
- ACID(관계형) vs BASE(결국 일관성, NoSQL)
- DW 특징: 주제 지향·통합·시간 가변·비휘발
- 데이터 레이크: 원시 그대로, 스키마 온 리드
출제기준 1과목 '데이터 적재, 데이터 저장'
확인 문제
Q1. 고객 한 명의 정보를 JSON 한 덩어리로 통째로 저장하고, 덩어리마다 필드 구성이 달라도 되는 NoSQL 유형은?
- 문서
- 키-값
- 그래프
- 컬럼 패밀리
정답 보기
1번 문서
JSON 같은 문서 단위로 저장하는 문서형이다. 대표는 MongoDB 다.
Q2. 사용자와 친구 관계를 노드와 간선으로 저장해 '친구의 친구'를 빨리 찾는 NoSQL 은?
- 컬럼 패밀리
- 그래프
- 키-값
- 문서
정답 보기
2번 그래프
관계 탐색에 강한 그래프형(Neo4j 등)이다.
Q3. CAP 정리에서 P 는 무엇인가?
- 우선순위
- 성능
- 분할 내성
- 영속성
정답 보기
3번 분할 내성
Partition tolerance, 네트워크가 나뉘어도 동작하는 성질이다.
Q4. 데이터 웨어하우스의 특징이 아닌 것은?
- 시간 가변
- 통합
- 휘발성
- 주제 지향
정답 보기
3번 휘발성
DW 는 한 번 적재한 데이터를 지우거나 고치지 않는 비휘발성이다.
Q5. 정형·비정형 원시 데이터를 형태 그대로 모아 두고 분석할 때 구조를 정하는 저장소는?
- OLTP 데이터베이스
- 데이터 웨어하우스
- 데이터 마트
- 데이터 레이크
정답 보기
4번 데이터 레이크
데이터 레이크는 스키마 온 리드 방식이다.
Q6. HBase 와 Cassandra 가 속하는 NoSQL 유형은?
- 키-값
- 컬럼 패밀리
- 그래프
- 문서
정답 보기
2번 컬럼 패밀리
열 묶음 단위로 저장하는 컬럼 패밀리형이다.
헷갈리기 쉬운 O·X
CAP 정리에 따르면 분산 시스템은 일관성·가용성·분할 내성을 동시에 모두 보장할 수 있다.
정답 보기
X 셋을 동시에 모두 보장할 수 없다는 정리다.
BASE 는 결국에는 일관성이 맞춰지는(Eventually consistent) 성질을 말한다.
정답 보기
O
MongoDB 는 그래프형 NoSQL 이다.
정답 보기
X MongoDB 는 문서형이다.