SQL의 기본 CRUD 작업과 WHERE/ORDER BY/LIMIT 조건을 실전 예제로 마스터
SQL
Database
MySQL
SQL 실행 순서와 조인/집계 성능 함정, 인덱스가 타는 조건을 감각으로 잡는 기본기
SQL
Join
Aggregation
서브쿼리, GROUP BY/HAVING 집계, 윈도우 함수로 복잡한 데이터 분석 쿼리 작성
SQL
Subquery
GROUP BY
PK/UK/FK, 제약조건, 정규화/비정규화, 변경에 강한 스키마 설계 기준을 실무 관점으로 정리
Database
Schema
Modeling
커넥션 풀의 동작 원리와 HikariCP 설정으로 데이터베이스 성능을 최적화하는 실무 가이드
Connection Pool
HikariCP
Database
B-Tree/컴포지트 인덱스 설계, EXPLAIN으로 실행 계획을 해석하고 튜닝하는 방법
MySQL
Index
EXPLAIN
슬로우 쿼리 로그, 커넥션 풀(HikariCP) 파라미터, 실행 계획 튜닝 포인트
MySQL
Performance
Slow Query
NoSQL의 종류와 특징을 이해하고, RDBMS vs NoSQL 선택 기준을 실무 관점에서 정리
NoSQL
MongoDB
Redis
MySQL 파티셔닝과 샤딩으로 대용량 데이터를 효율적으로 처리하는 방법
MySQL
Partitioning
Sharding
Cache-Aside, Write-Through, Write-Behind, 분산락 패턴을 코드 예시와 함께 정리
Redis
Cache Aside
Write Through
Flyway를 이용한 데이터베이스 스키마 버전 관리와 안전한 마이그레이션 전략
Database Migration
Flyway
Schema
복제 구조의 원리(Primary/Replica), 복제 지연(Lag) 대응, 읽기/쓰기 분리 라우팅과 장애 전환 기준
Database
Replication
Read Replica
Lag 모니터링, 리밸런스 원인, 처리량/중복/손실 사이 트레이드오프 정리
Kafka
Consumer Lag
Rebalance
멱등 프로듀서, 정렬 보장 패턴, Exactly-once 처리를 위한 설정과 설계
Kafka
Idempotent
Ordering
Outbox 패턴, Saga(Choreography/Orchestration)로 데이터 일관성을 유지하는 방법
Outbox
Saga
Event Driven
Redis Streams 기본 개념부터 Consumer Group/PEL, 멱등 처리와 재처리(복구)까지: 작은 이벤트 파이프라인 설계
Redis
Streams
Consumer Group
Pending 리스트 관리, 장애 시 재처리, 대량 backlog를 제어하는 Streams 운영 패턴
Redis
Streams
Consumer Group
로그에 쿼리 100개가 찍히는 공포. 원인 분석부터 Fetch Join, Batch Size, EntityGraph 해결법 비교
JPA
Hibernate
N+1
인덱스가 왜 빨라지는지(B-Tree/선택도/커버링), 복합 인덱스 설계와 쿼리 튜닝의 기본 감각
Database
Index
B-Tree
전파/격리/롤백 규칙과 프록시 동작, self-invocation/checked exception 같은 실무 함정을 한 번에 정리
Spring
Transaction
@Transactional
Cache-Aside/Write-through/Write-behind 선택, 무효화/스탬피드/핫키 같은 실전 문제와 운영 지표까지 정리
Redis
Caching
Cache Aside
Redis의 고급 데이터 구조로 메모리 효율적인 솔루션 구현하기
Redis
BitMap
HyperLogLog
DB 성능의 핵심인 스토리지 엔진. MySQL의 B-Tree와 Cassandra/RocksDB의 LSM-Tree 구조를 비교하고 장단점을 파헤칩니다.
Database
B-Tree
LSM-Tree
READ COMMITTED/REPEATABLE READ 차이, Gap/Next-Key Lock과 데드락 예방법
MySQL
Isolation
Lock
TTL 만료 폭발을 막는 락/조기만료/이중 캐시 전략과 실전 코드 패턴
Redis
Cache Stampede
Thundering Herd
이 글에서 얻는 것 Fetch 전략 (Lazy vs Eager)의 동작과 함정을 이해합니다 Batch Size와 Fetch Join으로 N+1을 최적화합니다 대용량 배치 처리 패턴을 익힙니다 Fetch 전략 Lazy …
JPA
Hibernate
Performance
이 글에서 얻는 것 Offset 페이징의 한계와 대안을 이해합니다 Cursor 기반 페이징으로 대용량 데이터를 효율적으로 처리합니다 No-Offset 페이징 패턴을 구현합니다 Offset …
Pagination
Database
Performance