← 목록으로
단계 4.8

저장소 기초 — 인덱싱, DB 클러스터, 데이터 레이크

데이터를 빨리 찾는 인덱스, 데이터베이스를 여러 대로 늘리는 복제·샤딩, 원본을 그대로 모아두는 데이터 레이크와 대표 제품들. 분산 저장(HDFS) 전에 알아둘 기초.

이 챕터에서 배우는 것

데이터가 커질 때 저장소가 어떻게 달라지는지, 세 단계로 봅니다.

  1. 한 대 안에서 빨리 찾기 → 인덱싱
  2. 한 대로 부족할 때 → DB 클러스터 (복제·샤딩)
  3. 뭐든 일단 모아두기 → 데이터 레이크

1. 인덱싱 — 데이터를 빨리 찾는 법

책 뒤의 찾아보기(index) 를 떠올리세요. 색인이 없으면 책 전체를 넘겨야 하지만, 색인이 있으면 페이지 번호로 바로 갑니다.

데이터베이스도 같습니다. 100만 행에서 학번 = 2026001을 찾을 때:

  • 인덱스 없음 → 100만 행을 전부 훑음
  • 인덱스 있음 → 색인에서 위치를 찾아 한 번에 감
CREATE INDEX idx_student ON scores(student_id);

그런데 인덱스는 한 대의 컴퓨터 안에서 빨리 찾는 기술입니다. 데이터가 한 대에 안 들어가면 다른 방법이 필요합니다.

2. DB 클러스터 — 데이터베이스를 여러 대로

데이터베이스 한 대가 감당이 안 되면 여러 대를 묶어(클러스터) 씁니다. 나누는 방식은 두 가지입니다.

방식뭘 하나비유
복제(Replication)같은 데이터를 여러 대에 복사같은 책을 도서관 3곳에 비치 — 읽는 사람이 분산되고, 한 곳이 문 닫아도 됨
샤딩(Sharding)데이터를 잘라서 여러 대에 나눠 담기가나다 순으로 서가를 나눔 — ㄱㅁ은 1관, ㅂㅇ은 2관

실제 제품에서는 둘을 같이 씁니다 (나눠 담고, 각 조각을 복사).

  • 복제·샤딩을 지원하는 DB: MySQL, PostgreSQL(복제), MongoDB, Cassandra(샤딩 내장)

3. 데이터 레이크 — 일단 다 모아두는 창고

여러 곳에서 오는 데이터(CSV, JSON, 로그, 이미지…)를 가공하지 않고 원본 그대로 한 곳에 쌓아두는 저장소입니다. 정리는 나중에, 필요할 때 합니다.

lake/
  raw/       ← 받은 그대로
  cleaned/   ← 정리한 것
  curated/   ← 분석용 최종본

데이터 레이크 자체는 "방식"이고, 실제로는 아래 저장소 위에 만듭니다.

종류대표 제품한 줄
직접 운영HDFS내 서버들에 설치 (다음 챕터에서 실습)
클라우드Amazon S3, Google Cloud Storage, Azure Blob Storage아마존·구글·MS가 관리, 쓴 만큼 과금
S3 호환 오픈소스MinIO내 컴퓨터에서 S3처럼 동작
레이크 위의 관리 플랫폼Databricks, Snowflake, AWS Lake Formation레이크를 표처럼 다루게 해주는 서비스

요즘 실무의 표준은 S3 같은 클라우드 스토리지에 데이터 레이크를 만들고, Spark로 읽는 것입니다. 이 수업에서는 다음 챕터부터 HDFS로 원리를 익힙니다.

한 장 정리

문제해결핵심 단어
한 대에서 느리다인덱스찾아보기
한 대로 부족하다클러스터복제, 샤딩
파일이 수십 TB다분산 파일 시스템HDFS (다음 챕터)
종류가 제각각이다데이터 레이크raw 그대로, S3

연습

  1. 내 주변의 "인덱스" 예를 두 가지 찾아보기 (책 찾아보기 외에)
  2. 복제와 샤딩의 차이를 도서관 비유로 한 문장씩 설명해보기
  3. 데이터 레이크 제품 표에서 이름을 들어본 것에 표시하고, 하나를 골라 홈페이지에서 첫 화면을 읽어보기