Contents
see List작성일 2025. 11. 30.
PostgreSQL vs MySQL - 어떤 DB를 선택할까
프로젝트에 적합한 데이터베이스를 선택하는 것은 중요한 아키텍처 결정입니다.
비교 요약
| 항목 | PostgreSQL | MySQL |
|---|---|---|
| 철학 | 표준 준수, 확장성 | 속도, 단순함 |
| JSON | JSONB (뛰어남) | JSON (기본) |
| 복잡한 쿼리 | 우수 | 보통 |
| 레플리케이션 | 스트리밍 | 바이너리 로그 |
| 라이선스 | PostgreSQL | GPL (Oracle 소유) |
PostgreSQL이 좋은 경우
- 복잡한 쿼리, 분석 작업이 많을 때
- JSON 데이터를 많이 다룰 때
- GIS/지리 데이터 처리 (PostGIS)
- ACID 완전 준수가 중요할 때
- 확장성과 커스터마이징 필요
MySQL이 좋은 경우
- 단순한 CRUD 위주 웹 애플리케이션
- 읽기 성능이 중요할 때
- 레거시 시스템과 호환
- AWS Aurora 사용 계획
- 팀이 MySQL에 익숙할 때
기능 상세 비교
-- PostgreSQL JSONB (인덱싱 지원)
CREATE INDEX idx_data ON products USING GIN (data jsonb_path_ops);
SELECT * FROM products WHERE data @> \047{"color": "red"}\047;
-- MySQL JSON
SELECT * FROM products WHERE JSON_EXTRACT(data, "$.color") = "red";
-- PostgreSQL 배열 타입
CREATE TABLE tags (id INT, names TEXT[]);
SELECT * FROM tags WHERE \047tech\047 = ANY(names);
-- PostgreSQL CTE (WITH 절)
WITH RECURSIVE subordinates AS (
SELECT id, name, manager_id FROM employees WHERE id = 1
UNION ALL
SELECT e.id, e.name, e.manager_id
FROM employees e JOIN subordinates s ON e.manager_id = s.id
)
SELECT * FROM subordinates;성능 특성
# PostgreSQL
- 쓰기: MVCC로 동시성 우수
- 읽기: 복잡한 쿼리에 강함
- 인덱스: GiST, GIN, BRIN 등 다양
# MySQL (InnoDB)
- 읽기: 단순 쿼리 빠름
- 쓰기: 간단한 INSERT 빠름
- 클러스터드 인덱스 기반결론
복잡한 엔터프라이즈 → PostgreSQL
단순한 웹앱 → MySQL
확실하지 않으면 → PostgreSQL (더 유연함)
database
| No | 작성일 | Title |
|---|---|---|
| 2371 | 2026. 04. 08. | PostgreSQL 17 쿼리 최적화 완벽 가이드: 인덱스 전략, 실행 계획, 신규 기능 총정리 |
| 2356 | 2026. 04. 07. | PostgreSQL 17 MERGE 강화와 JSON_TABLE 실전 가이드 - SQL만으로 JSON 데이터 완벽 처리 |
| 2339 | 2026. 04. 06. | PostgreSQL 17 JSON_TABLE 완벽 가이드 - JSON 데이터를 테이블로 변환하는 최신 SQL 기법 |
| 2324 | 2026. 04. 05. | PostgreSQL 18 비동기 I/O와 UUIDv7, Virtual Generated Columns 실전 활용 |
| 2302 | 2026. 04. 05. | SQL 쿼리 최적화 실전 테크닉: EXPLAIN부터 인덱스 전략까지 |
| 2301 | 2026. 04. 05. | PostgreSQL 18 새 기능 총정리: 비동기 I/O부터 가상 열까지 |
| 2275 | 2026. 04. 04. | Redis 8.0 신기능과 실전 캐싱 전략: 검색, 벡터, 스트림 활용법 |
| 2274 | 2026. 04. 04. | PostgreSQL 17 신기능 완벽 가이드: JSON 쿼리, 병렬 처리, 논리 복제 강화 |
| 2191 | 2026. 02. 11. | 무중단 데이터베이스 마이그레이션 전략 |
| 2190 | 2026. 02. 11. | Redis 8.0 새로운 데이터 구조와 활용법 |