공든탑앱 열기

데이터 적재와 저장: 분산 파일 시스템·NoSQL

빅데이터분석기사 · 데이터 수집 및 저장 계획 · 약 12분

쉽게 말하면

모은 데이터를 어디에 어떻게 담을지 정하는 단계예요. 너무 크면 여러 서버에 나눠 담는 분산 파일 시스템(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는 일단 적재한 뒤 저장소 안에서 변환 (데이터 레이크에서 많이 씀)

시험에 이렇게 나와요

출제기준 1과목 '데이터 적재, 데이터 저장'

확인 문제

Q1. 고객 한 명의 정보를 JSON 한 덩어리로 통째로 저장하고, 덩어리마다 필드 구성이 달라도 되는 NoSQL 유형은?

  1. 문서
  2. 키-값
  3. 그래프
  4. 컬럼 패밀리
정답 보기

1번 문서

JSON 같은 문서 단위로 저장하는 문서형이다. 대표는 MongoDB 다.

Q2. 사용자와 친구 관계를 노드와 간선으로 저장해 '친구의 친구'를 빨리 찾는 NoSQL 은?

  1. 컬럼 패밀리
  2. 그래프
  3. 키-값
  4. 문서
정답 보기

2번 그래프

관계 탐색에 강한 그래프형(Neo4j 등)이다.

Q3. CAP 정리에서 P 는 무엇인가?

  1. 우선순위
  2. 성능
  3. 분할 내성
  4. 영속성
정답 보기

3번 분할 내성

Partition tolerance, 네트워크가 나뉘어도 동작하는 성질이다.

Q4. 데이터 웨어하우스의 특징이 아닌 것은?

  1. 시간 가변
  2. 통합
  3. 휘발성
  4. 주제 지향
정답 보기

3번 휘발성

DW 는 한 번 적재한 데이터를 지우거나 고치지 않는 비휘발성이다.

Q5. 정형·비정형 원시 데이터를 형태 그대로 모아 두고 분석할 때 구조를 정하는 저장소는?

  1. OLTP 데이터베이스
  2. 데이터 웨어하우스
  3. 데이터 마트
  4. 데이터 레이크
정답 보기

4번 데이터 레이크

데이터 레이크는 스키마 온 리드 방식이다.

Q6. HBase 와 Cassandra 가 속하는 NoSQL 유형은?

  1. 키-값
  2. 컬럼 패밀리
  3. 그래프
  4. 문서
정답 보기

2번 컬럼 패밀리

열 묶음 단위로 저장하는 컬럼 패밀리형이다.

헷갈리기 쉬운 O·X

CAP 정리에 따르면 분산 시스템은 일관성·가용성·분할 내성을 동시에 모두 보장할 수 있다.

정답 보기

X 셋을 동시에 모두 보장할 수 없다는 정리다.

BASE 는 결국에는 일관성이 맞춰지는(Eventually consistent) 성질을 말한다.

정답 보기

O

MongoDB 는 그래프형 NoSQL 이다.

정답 보기

X MongoDB 는 문서형이다.

함께 보면 좋은 개념