PostgreSQL 깊게 다루기 + Redis · Kafka
단일 DB 를 넘어선 데이터 플랫폼 10단계. 인덱스 · 캐시 · 이벤트 스트림까지.
- 난이도
- 고급
- 강의
- 10
SELECT · INSERT 는 빠르게 익힙니다. 그러나 운영 트래픽이 늘면 인덱스 · 캐시 · 비동기 큐 세 가지가 병목의 대부분. PostgreSQL · Redis · Kafka 각각의 역할과 경계를 잡습니다.
누구를 위한 강좌인가
- "왜 이 쿼리가 느리지?" 에 답하고 싶은 분
- Redis 를 캐시·큐·락 중 어디에 쓸지 헷갈리는 분
- Kafka 를 쓸지 말지 판단이 안 서는 분
다 끝내면 가능한 것
- EXPLAIN 읽고 인덱스 튜닝
- 여러 PostgreSQL 풀을 한 앱에서 관리
- Redis 의 5 역할 (캐시 · 세션 · rate limit · pub/sub · 분산 락)
- pgvector HNSW 벡터 검색
- Kafka 토픽 · 컨슈머 · 백프레셔 설계
- 3-layer 캐시 (edge · Redis · PG) 선택 규칙
- 푸시 알림 발송 — 토큰 저장 · 실패 코드 처리 · 멀티 디바이스
단계 흐름
읽기 성능에서 쓰기 복구까지
EXPLAIN으로 병목을 확인하고 풀 경계를 정합니다.
pgvector와 계층형 캐시를 역할과 무효화 기준에 맞춰 배치합니다.
메시징 도입 여부를 판단하고 멱등 파이프라인을 설계합니다.
백업·복원, 토픽, 푸시의 실패 상태를 운영 계약으로 연결합니다.
전반부 (15) 는 읽기 성능 — 인덱스 · 풀 · 캐시. 후반부 (610) 는 쓰기 안정성 — 메시지 · 멱등 · 복원.
단계 구성
- PostgreSQL 심화 — EXPLAIN · 인덱스 — seq scan vs index · 통계
- 여러 풀 오케스트레이션 — 도메인 분리 · 쿼리 헬퍼 · 트랜잭션
- pgvector + HNSW — 벡터 타입 · 연산자 · 인덱스 · 재현성
- Redis 의 역할 5가지 — 캐시 · 세션 · rate limit · pub/sub · 분산 락
- 3-layer 캐시 전략 — stale-while-revalidate · 무효화 · TTL
- Kafka — 언제 · 언제 아닌지 — 이벤트 시그니처 · partition · 백프레셔
- 데이터 파이프라인 — 재시도 · 멱등 — exactly-once 의 환상 · outbox
- 백업 · 복원 리허설 — pg_dump · PITR · 월 1회 복원 연습
- Kafka 토픽 설계 — 명명 · 파티션 · Producer/Consumer · DLQ
- 푸시 알림 구현 — Firebase · 토큰 저장 · 실패 코드 · 멀티 디바이스
전제 — backend-with-spring 또는 python-data-pipeline 완주 · PostgreSQL 기본 CRUD.