[학습] postgres vs mysql
- 국비지원 (스파르타)
- 2025. 4. 7. 22:18
반응형
반응형
프로젝트를 진행하면서 고민이 생겼다. 어떤 DB를 사용해야 하는걸까?
DB를 선택할때 아무생각없이 MySql를 선택해도 되는걸까?
아닌거 같다.
우리 프로젝트가 어떤 특징을 가지고 있는지 생각해봐야 한다고 생각한다.
내가 알기로는 위 DB의 특징들은 대용량 트래픽 환경에서 많이 사용하는 걸로 알고 있다.
그러면 어떤 차이가 있길래 두 DB중 어떤 DB를 사용해야 하는 걸까?
일단 postgres같은 경우는 쓰기 작업이 많을때 유리하고 mySql같은 경우는 일기 작업이 많을때 유리하다고 한다.
그렇다면 우리 프로젝트는 쓰기작업이 많을까? 읽기 작업이 많을까?
우리 프로젝트는 모임관련 서비스다. 내가 맡은 부분은 티켓팅을 하는 부분이라 해당 세션을 읽어서 적용하는 경우가 많을거 같다.
그렇다면 mysql을 선택하는 것이 좋을까?
그것도 중요하지만 mysql같은 경우는 많은 기업에서 사용한다고 한다 그러면 mysql을 사용하는 것이 좋은걸까? 요 부분은 조금더 고민을 해봐야 겠지만 일단 포스트그리로 할거 같다. 내일 얘기해보고 결정해야할거 같다.
다음은 우리의 프로젝트의 PK가 UUID로 되어있어서 이 부분에 대한 질문을 드렸는데 이에 대한 답변이다.
RDB 선택 및 특징
- PostgreSQL 장점 있음에도 실무에서는 MySQL을 범용적으로 사용.
- 익숙함, 생태계, 운영 편의성 등의 이유.
인덱스 개요
- 클러스터 인덱스 (Clustered Index)
- 정렬된 상태의 인덱스.
- 테이블 당 1개만 존재 (보통 PK가 해당).
- B-Tree 자료구조 기반.
- 리프노드에 실제 데이터 주소 보유.
- 논클러스터 인덱스 (Non-Clustered)
- 정렬되지 않음.
- 리프노드에 데이터의 위치(PK 등)를 참조.
- UUID vs Auto Increment
- UUID: 정렬이 어려워 클러스터 인덱스에 부적합.
- Auto Increment: 정렬된 상태 유지 가능 → 클러스터 인덱스로 적합.
- 실무에서는 내부 시퀀스를 PK로 사용해 UUID 문제 회피.
- 중요: PK는 절대 바뀌지 않는 고유 식별자여야 함.
반응형
'국비지원 (스파르타)' 카테고리의 다른 글
[면접공부] java - jvm(2) (1) | 2025.04.10 |
---|---|
[면접공부] 1. java - jvm공부 (1) | 2025.04.08 |
[SA문서작성] 3차 프로젝트 (0) | 2025.04.04 |
[기획] 3차 프로젝트 (0) | 2025.04.03 |
재고 시스템에 동시성 적용하기 (2) (0) | 2025.04.02 |