Notice
Recent Posts
Recent Comments
Link
«   2025/08   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
Tags
more
Archives
Today
Total
관리 메뉴

Kuma's Curious Paradise

[데브 캠프] PostgreSQL 과 MySQL의 차이 본문

카테고리 없음

[데브 캠프] PostgreSQL 과 MySQL의 차이

쿠마냥 2024. 3. 23. 00:52

현재까지 내가 사용해 본 데이터베이스는 MySQL과 Redis이다.


MySQL은 관계형 데이터 베이스로, 데이터를 행과 열이 있는 테이블 형태로 저장한다. 스키마를 사용해서 데이터 구조를 정의하고 SQL 쿼리를 사용해서 데이터를 조작한다.데이터를 디스크에 저장하기 때문에 시스템이 중단되어도 데이터가 보존된다. 

 

Redis는 key-value 형태로 데이터를 저장한다.  주로 캐시, 세션 관리, 대기열 관리 등에 사용되며 빠른 조회 및 저장이 강점이다. 데이터를 메모리에 저장하기 때문에 서버가 꺼지면 데이터가 사라지지만 데이터 보존 설정이 존재하니 이를 활용할 수 있다.



오늘 새롭게 알아볼 데이터베이스는 PostgreSQL이다. 앞으로 데브캠프를 하며 만나게 될 중요한 db이며, MySQL과 비교하여 사용해 볼 예정이다.

📌 PostgreSQL과 MySQL의 주요한 차이점

PostgreSQL: 테이블 상속과 함수 오버로딩과 같은 추가 기능을 제공하는 오브젝트-관계형 데이터베이스로, 복잡한 데이터 작업 및 고급 애플리케이션에 더 적합하다. 동시 프로세스를 더 효율적으로 처리하며 높은 유연성이 강점.

MySQL: 순수한 관계형 데이터베이스. 테이블 구조만 지원하기 때문에 단순성과 속도가 강점이다. 사용하기 쉽고 효율적이며 단일 프로세스를 사용한다.

📌 사용 가능한 데이터 유형의 차이

PostgreSQ : 원시형(Integer, Numeric, String, Boolean) 타입과 Structured(Date/Time, Array, Range/Multirange, UUID) 타입, 도큐먼트(Json/JsonB, XML, Key-value) 타입부터 커스텀 타입까지 광범위하게 사용이 가능하다. 이는 db 성능과 유연성에도 영향을 미쳐서 데이터 무결성, 조회 성능이 향상되고 db 내에서 더 복잡한 계산 및 연산 작업을 가능하게 한다. 

 

MySQL: JSON 및 기타 형식도 지원하지만 PostgreSQL가 훨씬 더 효율적인 저장 및 조회, 색인 생성이 가능하다. 단순한 데이터 연산은 MySQL이 더 빠르다.

📌 어떤 상황에서 PostgreSQL을, MySQL을 선택해야 할까?

PostgreSQL : 복잡한 쿼리, 외래 , 트랜잭션 무결성과 같은 고급 기능을 제공하여, 상세한 데이터 조작  분석이 필요한 애플리케이션에 적합. 또한, 다중 버전 동시성 제어(MVCC)를 지원하기 때문에 지리 데이터 저장소나 동시 쓰기 작업이 필요한 애플리케이션에 필요하다.더불어 보안이 매우 중요하다면 PostgreSQL 사용하는 것이 좋다. SSL을 통한 클라이언트-서버 통신 암호화를 포함하여 강력한 암호 인증 같은 보안을 제공하기 때문. 행에 따라 보안 수준을 관리하는 것도 가능하다. 

 

MySQL: 간단한 데이터베이스를 지닌 기본 웹 애플리케이션, 블로그, 콘텐츠 관리에 사용하는 것이 좋다. 또한 설치와 사용이 쉬워 전문 지식이 쌓이지 않은 상태이거나 소규모 팀 프로젝트에 적합하다. 대규모 애플리케이션이라도 조회가 주된 업무라면 MySQL이 더 효율적일 수 있다. 또한 속도가 빠르기 때문에 조회 속도 향상에도 도움이 될 수 있다.