프로그래밍 기초

PostgreSQL vs MySQL

hs-archive 2023. 8. 12. 21:12

PostgreSQL과 MySQL의 유사점

둘 다 구조화된 쿼리 언어(SQL)를 사용하여 데이터를 읽고 편집할 수 있으며 데이터 백업, 복제 및 액세스 제어 기능이 내장되어 있으며 여러 데이터 타입을 지원합니다.

 

PostgreSQL과 MySQL의 차이점

 

ANSI SQL 준수

PostgreSQL은 표준에 좀 더 가깝게 발전하고 있으며 다른 DBMS보다 그 수준이 높습니다. SQL은 준수하는 수준이 높으면 다른 SQL을 준수하는 DB로의 이전이 쉽다는 장점이 있습니다.

 

데이터 유형

MySQL과 PostgreSQL은 둘 다 여러 데이터 타입을 지원하지만, PostgreSQL이 좀 더 다양한 데이터 타입을 지원합니다. 예를 들어, PostgreSQL는 XML, 배열 등과 같은 데이터 타입도 지원합니다.

 

또한, MySQL은 순수 관계형 데이터베이스인 반면, PostgreSQL은 객체 관계형 데이터베이스입니다. 즉, PostgreSQL에서는 데이터를 속성을 가진 객체로 저장할 수 있습니다. 객체는 상위-하위 관계 및 상속과 같은 패러다임을 지원합니다.

 

인덱스

데이터베이스는 인덱스를 사용하여 데이터를 더 빠르게 검색합니다. 자주 액세스하는 데이터를 다른 데이터와 다르게 정렬 및 저장하도록 데이터베이스 관리 시스템을 구성하여 자주 액세스하는 데이터를 인덱싱할 수 있습니다.

 

MySQL은 계층적으로 인덱싱된 데이터를 저장하는 B-트리, R-트리 인덱싱을 지원합니다. PostgreSQL 인덱스 유형에는 트리, 표현식 인덱스, 부분 인덱스 및 해시 인덱스가 포함됩니다. 따라서 PostgreSQL는 MySQL에 비해 성능 요구 사항을 좀 더 세밀하게 조정할 수 있는 더 많은 옵션이 있습니다.

 

저장 프로시저

저장 프로시저는 미리 작성하고 저장할 수 있는 SQL 쿼리 또는 코드 명령문입니다. 동일한 코드를 반복해서 재사용할 수 있으므로, 데이터베이스 관리 작업이 더 효율적일 수 있게 도와줍니다.

 

MySQL과 PostgreSQL 모두 저장 프로시저를 지원하지만 PostgreSQL을 사용하면 SQL 이외의 언어로 작성된 저장 프로시저를 호출할 수 있습니다.

 

PostgreSQL과 MySQL 중 하나를 선택하는 방법

 

애플리케이션 크기

PostgreSQL은 쓰기 작업이 빈번하고 쿼리가 복잡한 엔터프라이즈급 애플리케이션에 더 적합합니다.

 

하지만, 프로토타입을 만들거나, 사용자 수가 적은 내부 애플리케이션을 만들거나, 읽기 횟수가 많고 데이터 업데이트가 자주 이루어지지 않는 정보 스토리지 엔진을 만들고 싶다면 MySQL이 더 적합할 수 있습니다.

 

데이터베이스 개발 경험

MySQL은 초보자에게 더 적합하며 학습 기간이 짧습니다. 반면, PostgreSQL은 초보자에게 훨씬 어려울 수 있습니다. 일반적으로 복잡한 인프라 설정 및 문제 해결 경험이 필요합니다.

 

성능 요구 사항

대용량 데이터를 다루는 경우 PostgreSQL이 더 유리합니다. 하지만 간단한 CRUD는 MySQL이 더 유리합니다. 따라서 적은 데이터 셋을 다루는 경우 MySQL이 유리하고 대용량의 데이터 셋을 다룰 경우 PostgreSQL이 유리합니다.

 

정리

두 데이터베이스를 선택할 때 애플리케이션의 크기, 데이터베이스 개발 경험, 성능 요구 사항을 고려해야 합니다. PostgreSQL은 복잡하고 쓰기 작업이 빈번한 대규모 애플리케이션에 적합하며, MySQL은 초보자와 작은 규모 애플리케이션에 더 유용합니다.

 

두 RDBMS 모두 버전이 올라가며 단점을 보완하고 성능차이가 줄어들고 있습니다. 하지만 SQL 표준을 준수하는 PostgreSQL을 사용하는 것이 마이그레이션이 더 편하기 때문에 개인적으로 PostgreSQL을 사용하는 것이 더 좋지 않나 생각이 듭니다.

 

 

 

 

 


https://aws.amazon.com/ko/compare/the-difference-between-mysql-vs-postgresql/

 

PostgreSQL과 MySQL 비교 - 관계형 데이터베이스 관리 시스템(RDBMS) 간의 차이점 - AWS

MySQL은 데이터를 행과 열이 있는 테이블로 저장할 수 있는 관계형 데이터베이스 관리 시스템입니다. 많은 웹 애플리케이션, 동적 웹 사이트 및 임베디드 시스템을 지원하는 널리 사용되는 시스

aws.amazon.com

https://www.integrate.io/ko/blog/postgresql-vs-mysql-the-critical-differences-ko/

 

PostgreSQL과 MySQL 비교: 주요 차이점

사용 사례에 더 나은 DBMS를 결정하기 위해 MySQL과 PostgreSQL을 비교합니다.

www.integrate.io

https://uminoh.tistory.com/32

 

[RDBMS] PostgreSQL vs MySQL 차이 (fear. 버전을 막론하고)

둘 다 사용경험은 있는데, 사용 경험상으로는 큰 차이가 있다고 보기는 어려웠다. 구글링을 통해 차이를 찾아보면 좋지않을까 하여 이곳 저곳 뒤져보았고, 같은 관계형 데이터베이스(RDBMS)로서

uminoh.tistory.com

https://dataleader.tistory.com/34

 

[PostgresSQL 이야기 1화] PostgresSQL 특징 및 장단점 소개

1. PostgresSQL는~ PostgreSQL는 오픈소스로 개발된 관계형 데이터베이스 입니다. PostgreSQL은 1996년을 시작으로(1997년, 첫 번째 오픈 소스가 공개) 왕성하게 활동중인 커뮤니티를 통해 계속적인 업데이트

dataleader.tistory.com

https://mystory-blog.vercel.app/blog/mysql-to-postgres/mysql-versus-postgres

 

mysql vs postgres 짧은 비교

일반적으로 postgres 는 mysql 에 비해 대용량 서비스에서 더 나은 성능을 제공한다.

mystory-blog.vercel.app

'프로그래밍 기초' 카테고리의 다른 글

GraphQL 맛보기  (0) 2023.08.24
SOLID 원칙  (0) 2023.08.17
Socket.IO 소개 3 - adapter  (0) 2023.07.28
Socket.IO 소개 2 - Event  (0) 2023.07.28
Socket.IO 소개 1 - Server  (0) 2023.07.27