PostgreSQL 의 특징과 장단점

이도형·2024년 9월 2일
0

Web 기본개념📶

목록 보기
7/10
post-thumbnail

PostgreSQL의 인기

PostgreSQL은 2024 Bestarion 기준 Oracle, MySQL에 이은 세 번째로 많이 사용되는 데이터베이스로,
한국과는 달리 북미와 일본에서 사용률이 높습니다.
대표적으로 Uber, Netflix, Instagram, Spotify, reddit 등 많은 사이트가 PostgreSQL을 사용합니다.

PostgreSQL의 특징

  • 오픈 소스
    PostgreSQL은 BSD, MIT와 비슷한 관대한(liberal) 오픈 소스 라이선스로 일본에서는 상용은 Oracle, 무료는 PostgreSQL을 쓴다는 말이 있습니다.

  • 높은 확장성
    PostgreSQL은 사용자 정의 데이터 타입, 함수, 연산자 등 추가가 가능하므로 유연한 확장이 가능합니다.

  • ACID 준수로 인한 높은 데이터 안정성
    데이터베이스 상태를 변화시키기 위한 단위인 트랜잭션의 ACID(원자성, 일관성, 고립성, 지속성)을 보장하여 데이터 안정성이 높습니다.

  • 다양한 데이터 유형 지원
    JSON, Key-Value, Graph, XML 등 풍부한 데이터 유형을 지원합니다.

  • 다양한 프로그래밍 언어 지원
    PL/Python, PL/pgSQL, PL/Java, PL/Ruby 등 다양한 언어를 통해 사용자 정의 함수를 작성할 수 있습니다.

  • 다중 버전 동시성 제어 (MVCC)
    MVCC는 수정중인 데이터와 원본 데이터를 동시에 유지하고 버전을 다르게 관리해 이를 통해 일관성을 유지합니다. 이를 통해 트랜잭션 간 충돌을 최소화합니다.

  • 여러 가지 인덱스 타입 제공
    B-tree, Hash, GIST 등 각 인덱스 타입은 서로 다른 알고리즘을 제공하고 이를 통해 성능을 최적화합니다.

PostgreSQL vs. MySQL

PostgreSQLMySQL
DBMS객체 관계형 DBMS (ORDBMS)관계형 DBMS (RDBMS)
ACID 준수완전 준수InnoDB 사용 시 ACID 지원하지만, 다른 엔진은 제한적 지원
동시성 제어MVCC 사용MVCC 제공하지 않음
크로스 플랫폼UNIX 기반 최적화크로스 플랫폼 대응
기능JSON, GIS(지리 정보 시스템) 등 복잡한 데이터 처리에 유리PostgreSQL에 비해 부족한 고급 데이터 처리 기능
성능MySQL에 비해 떨어지는 복잡한 쿼리에 대한 성능단순 쿼리와 읽기 작업에 최적화

결론

MySQL은 빠른 읽기 성능과 간편한 설정으로 웹 앱에 적합합니다.
반면, PostgreSQL은 복잡한 데이터 처리와 트랜잭션을 요구하는 애플리케이션에 적합합니다.

또한, 북미와 일본에서 인기 많은 데이터베이스로 외국계 기업, 해외 취업 등에서도 큰 이점이 될 수도 있다고 생각합니다.

다양한 기술을 학습하여 상황에 따라 사용할 수 있는 개발자가 되자🎈

profile
열심히 살고 싶습니다! 일하고 싶습니다 :)

0개의 댓글

관련 채용 정보