웹 서비스를 설계할 때 가장 먼저 마주치는 두 가지 큰 고민이 있습니다.
"화면은 어떻게 그릴 것인가?(Rendering)"
그리고
"데이터는 어디에 저장할 것인가?(Database)"입니다.
오늘은 기술 면접 단골 질문이기도 한 웹 렌더링 방식(CSR, SSR, SSG)의 차이점과,
NoSQL 시대에도 여전히 관계형 데이터베이스(RDBMS)가 사랑받는 이유를 핵심만 짚어 정리해 드립니다.
PART 1. 웹 렌더링 3대장 (CSR vs SSR vs SSG)
각 방식은 'HTML을 어디서 만드느냐'와 '언제 만드느냐'에 따라 나뉩니다.
1. CSR (Client Side Rendering)
"HTML은 빈 껍데기, 브라우저가 자바스크립트로 그린다."
- 특징: 서버는 텅 빈 HTML과 JS 파일만 보냅니다. 브라우저가 JS를 다운로드하고 실행한 뒤 화면을 채웁니다.
- 장점: 한 번 로딩되면 화면 전환이 매우 빠르고 서버 부하가 적습니다. (앱 같은 사용자 경험)
- 단점: 초기 로딩 속도가 느리고(JS 다운로드 시간), 검색 엔진 최적화(SEO)에 불리할 수 있습니다.
SEO가 필요 없는 관리자 페이지(Admin), 상호작용이 많은 웹 애플리케이션, 개인화된 대시보드.
2. SSR (Server Side Rendering)
"서버가 그때그때 HTML을 다 만들어서 보낸다."
- 특징: 사용자가 요청할 때마다 서버에서 데이터를 조회해 완성된 HTML을 만들어 보냅니다.
- 장점: 초기 로딩이 빠르고(HTML이 바로 보임), SEO에 최적화되어 있습니다.
- 단점: 페이지 이동 시마다 서버 요청이 발생해 서버 부하가 크고, 화면이 깜빡일 수 있습니다.
매일 데이터가 바뀌는 뉴스 사이트, 쇼핑몰 상품 상세 페이지, 주식 정보 사이트 등 실시간 데이터와 검색 노출이 중요한 곳.
3. SSG (Static Site Generation)
"빌드 타임에 미리 HTML을 다 만들어 놓는다."
- 특징: 서버에 배포하기 전(Build)에 모든 페이지를 HTML 파일로 미리 만들어둡니다. 요청 시 파일만 줍니다.
- 장점: 속도가 가장 빠릅니다 (CDN 활용). 서버 부하가 거의 없습니다.
- 단점: 데이터가 바뀌면 다시 빌드해서 배포해야 합니다. 실시간 정보 반영이 어렵습니다.
내용이 자주 바뀌지 않는 블로그 포스팅, 회사 소개 페이지, 마케팅 랜딩 페이지, 문서(Docs) 사이트.
PART 2. 관계형 데이터베이스(RDBMS)를 쓰는 이유
MySQL, PostgreSQL, Oracle 같은 RDBMS는 수십 년간 데이터 저장소의 왕좌를 지키고 있습니다. MongoDB 같은 NoSQL이 유연함을 무기로 등장했지만, 여전히 핵심 비즈니스 데이터는 RDBMS에 저장합니다. 그 이유는 무엇일까요?
RDBMS의 가장 큰 무기입니다. 데이터가 '모 아니면 도'로 처리됩니다.
예를 들어, 송금 중 에러가 나면 돈이 증발하는 게 아니라 아예 송금 전 상태로 되돌립니다(Rollback).
금융, 결제, 재고 관리 등 정확성이 생명인 서비스에 필수적입니다.
데이터의 구조(타입, 길이, 필수 여부)를 미리 정의합니다.
약속되지 않은 이상한 데이터가 들어오는 것을 원천 봉쇄하여 데이터의 품질을 일정하게 유지합니다.
데이터를 여러 테이블로 쪼개고(정규화), 필요할 때 연결(Join)해서 사용합니다.
데이터 중복을 막아 저장 공간을 효율적으로 쓰고,
데이터 수정 시 한 곳만 고치면 되므로 유지보수성이 뛰어납니다.
💡 3줄 요약
1. SEO와 초기 속도가 중요하다면 SSR, 정적 콘텐츠라면 SSG, 앱 같은 경험은 CSR.
2. 데이터의 정확성과 신뢰성이 중요하다면 고민 없이 RDBMS.
3. 개발 환경에 정답은 없으며, 서비스의 목적에 맞는 기술 선택이 핵심!
이 포스팅이 도움되셨다면 좋아요❤️와 구독 부탁드립니다!
'▼ 코딩 공부하기 > ▼▼ 백엔드' 카테고리의 다른 글
| 왜 카카오와 네이버는 RDBMS를 쓸까? 관계형 DB의 핵심 완벽 정리 (0) | 2026.01.18 |
|---|---|
| [백엔드 필수] N+1 문제, 아직도 반복문으로 쿼리 날리시나요? (Prisma 최적화) (0) | 2026.01.15 |