[SQL] PostgreSQL, MySQL, Oracle 차이

gyeol·2025년 7월 27일

SQL

목록 보기
7/7
post-thumbnail

SQL에 대해 공부하다보면 이 3가지 SQL을 많이 볼 수 있다. 이 세 가지는 모두 관계형 데이터베이스지만 기능, 성능 최적화 방법 등이 다르다.

PostgreSQL

  • 객체-관계형 데이터베이스(ORDBMS)로 확장성과 기능성이 매우 뛰어나다.
  • 오픈소스 DB이기에 무료로 언제나 사용 가능하다.
  • 오픈소스이기 때문에 상용 서비스에도 부담없이 사용할 수 있다.
  • 사용자 정의 함수, 자료형, 인덱스 등을 자유롭게 정의할 수 있다
  • 윈도우 함수, 병렬 쿼리 등 고급 SQL 기능도 지원한다.
  • 관계형 + 비정형 데이터를 함께 처리해야 하는 경우에 유용하다.

MySQL

  • 웹 개발에 자주 사용되는 가볍고 빠른 오픈소스 RDBMS이다.
  • 빠른 속도, 쉬운 설치와 사용법 덕분에 많이 사용된다.
  • 복잡한 SQL 기능, 대규모 병렬 처리에는 PostgreSQ보다 부족하다고 말할 수 있다.
  • 복잡한 트랜잭션 처리에는 제약이 있다.

Oracle

  • 금융기관, 공공기관 등에서 많이 사용된다.
  • PL/SQL이라는 자체 프로그래밍 언어를 기반으로 복잡한 로직을 내부에 구현할 수 있다.
  • 오픈 소스가 아니기에 라이선스 비용이 매우 높다.

비교

항목PostgreSQLMySQLOracle
확장성함수, 타입, 인덱스 사용자 정의 가능
강력한 ORDBMS 기능
기능 확장 제약 있음자체 PL/SQL 기반 확장 가능
NoSQL 기능JSON, JSONB, GIN 인덱스 등 강력JSON 지원은 있으나 기능 약함Oracle JSON 지원은 상용 옵션
복잡 쿼리 최적화CTE, 윈도우 함수, 서브쿼리 강력복잡한 쿼리에선 성능 저하고급 옵티마이저 존재
병렬 처리병렬 쿼리, 병렬 집계 지원병렬 처리 제한적고급 병렬 쿼리 지원
복제Streaming Replication, Logical Replication 등기본 복제 + Group ReplicationOracle RAC (Real Application Cluster)
트리거/프로시저PL/pgSQL, Python 등 지원제한된 트리거/프로시저 기능PL/SQL 사용 (강력하고 안정적)

마무리

어떤 데이터베이스가 좋다고 단순히 구분할 순 없다. 각 개발 목적에 맞춰 알맞은 데이터베이스를 선택하면 된다!

profile
공부 기록 공간 '◡'

0개의 댓글