🎯 완료 후 할 수 있는 것
실무 SQL 쿼리를 작성하고 최적화할 수 있다
EXPLAIN으로 실행계획을 분석할 수 있다
인덱스 전략을 서비스에 맞게 설계할 수 있다
트랜잭션 격리 수준을 이해하고 적용할 수 있다
Redis 캐싱 패턴을 실무에 활용할 수 있다
📋 커리큘럼
총 37개 모듈01
[Database] 파일 시스템의 한계와 데이터베이스 관리 시스템(DBMS)의 탄생초급
40분02
[Database] 요구사항 분석부터 정규화 및 ERD 작성 전략초급
50분03
[Database] 테이블, 스키마, 로우(Row), 컬럼(Column) 용어 완벽 가이드초급
35분04
[Database] 정밀한 데이터 타입(숫자·문자·날짜) 선택 기준초급
40분05
[Database] PK, FK 제약조건과 Cascade 설정이 주는 영향초급
45분06
[Database] 제1·2·3정규화와 역정규화(De-normalization) 실전 적용 기준초급
50분07
[Database] 데이터 CRUD를 위한 SELECT, INSERT, UPDATE, DELETE 핵심 기초초급
55분08
[Database] 트랜잭션의 4대 속성(ACID)과 복구 원리초급
50분09
[Database] B-Tree 인덱스의 작동 원리와 인덱스 설계의 핵심 조건초급
55분10
[Database] 3-Tier, MSA, CQRS 아키텍처에서의 최적의 DB 역할 분담중급
45분11
[Database] DBeaver, TablePlus, psql, mycli 실무 100% 활용법중급
35분12
[Database] INNER, LEFT, RIGHT, FULL JOIN의 최적화 실행 조건중급
60분13
[Database] 서브쿼리와 CTE(WITH 문)를 활용한 쿼리 구조화중급
55분14
[Database] N+1 문제, SELECT *, 인덱스 무력화 안티패턴 방지중급
50분15
[Database] GROUP BY와 집계함수의 효율적인 인덱스 활용중급
45분16
[Database] IS NULL, COALESCE, NULLIF 함수의 함정과 안전한 처리 방법중급
40분17
[Database] 실무에서 가장 많이 쓰는 날짜 및 문자열 함수 활용법중급
45분18
[Database] 뷰(View)와 Stored Procedure의 운영 관점 장단점중급
50분19
[Database] DB 슬로우 쿼리 실전 진단: EXPLAIN ANALYZE로 병목 찾고 인덱스 설계하기중급
65분20
[Database] 계층형 댓글 구조, 다대다 태그 시스템, Soft Delete 구현중급
55분21
[Database] RANK, ROW_NUMBER, LAG, LEAD 윈도우 함수 실무중급
55분22
[Database] 대량 데이터 고성능 처리 패턴 Bulk Insert·Update·Delete중급
55분23
[Database] Prisma, JPA, TypeORM, SQLAlchemy의 성능 차이와 올바른 사용법중급
55분24
[Database] Flyway와 Liquibase를 이용한 DB 마이그레이션 버전 관리중급
50분25
[Database] JSONB 비정형 데이터 다루기와 전문 검색(Full-text Search)중급
60분26
[Database] InnoDB 스토리지 엔진 구조와 한글 인코딩, Auto Increment중급
50분27
[Database] RDBMS, NoSQL, 그리고 분산 확장 가능한 NewSQL 전격 비교중급
45분28
[Database] Document DB (MongoDB) 임베딩 vs 참조 설계 기준중급
55분29
[Database] 캐시(Cache) 전략, 세션 스토어, Pub/Sub 실무 패턴중급
55분30
[Database] 우리 서비스에 맞는 최적의 RDBMS vs NoSQL 고르기중급
45분31
[Database] SQL Injection 예방과 최소 권한 접근 제어, 데이터 암호화중급
50분32
[Database] 트랜잭션 격리 수준(Isolation Level)과 이상 현상 제어중급
50분33
[Database] 낙관적 락(Optimistic Lock) vs 비관적 락 동시성 충돌 제어중급
50분34
[Database] 쿼리 실행 계획(Execution Plan) 읽는 법과 인덱스 최적화고급
75분35
[Database] Master-Slave 복제(Replication) 구축과 DB 고가용성(HA) 아키텍처고급
60분36
[Database] 실시간 DB 모니터링 및 슬로우 쿼리 슬랙 알림 설정중급
55분37
[Database] DB 연결 지연을 없애는 HikariCP 설정과 대기 성능 튜닝고급
70분🧪 실습 Labs
개념을 익혔다면 직접 손으로 해보는 시간. 서버에서 따라하고 verify.sh로 검증하세요.
PostgreSQL 설치 및 기본 설정
초급Ubuntu 서버에 PostgreSQL을 설치하고, 데이터베이스와 사용자를 생성한 뒤 외부 접속이 가능하도록 설정한다.
⏱ 40분📋 5단계💻 직접 환경
PostgreSQL 슬로우 쿼리 진단 및 최적화
중급pg_stat_statements와 EXPLAIN ANALYZE를 활용해 슬로우 쿼리를 찾아내고, 인덱스를 생성해 성능을 개선한다.
⏱ 40분📋 6단계💻 직접 환경
쿼리가 100만 건을 다 뒤진다 — PostgreSQL 인덱스 설계
중급EXPLAIN ANALYZE로 Seq Scan을 발견하고, 단일·복합 인덱스를 설계해 주문 조회 쿼리를 100배 이상 빠르게 만든다. 인덱스 오버헤드와 VACUUM ANALYZE까지 다룬다.
⏱ 45분📋 5단계💻 직접 환경
Redis로 API 응답속도 10배 줄이기 — Cache-Aside 패턴 실습
중급DB 쿼리가 느려 API가 1초 넘게 걸린다. Redis를 도입해 Cache-Aside 패턴을 구현하고, TTL 전략과 캐시 무효화(Invalidation)까지 다룬다. KEYS vs SCAN, 핫키 문제, 캐시 스탬피드를 실무 관점에서 이해한다.
⏱ 40분📋 4단계💻 직접 환경
PostgreSQL 백업·복구 — pg_dump/pg_restore
중급pg_dump로 운영 DB 전체 백업 후 새 서버에 pg_restore로 복구하고, row count 비교로 데이터 정합성을 검증한다.
⏱ 45분📋 4단계💻 직접 환경
PostgreSQL Lock·Deadlock — pg_stat_activity 진단
중급pg_stat_activity와 pg_locks를 조인해 락 대기 세션을 찾아내고, 데드락을 재현해 로그에서 원인을 확인하고 해결한다.
⏱ 40분📋 4단계💻 직접 환경
DB 마이그레이션 판단 — MySQL → PostgreSQL 시나리오
중급MySQL 스키마 분석부터 pgloader 테스트 마이그레이션, 롤백 계획까지 MySQL→PostgreSQL 마이그레이션의 전 과정을 설계하고 판단한다.
⏱ 50분📋 4단계💻 직접 환경