MySQL, MariaDB, PostgreSQL 비교

모두·2025년 3월 12일

오늘은 많이 사용되고 있는 RDBMS 에 대한 비교를 해보려 한다.

MySQL, MariaDB, PostgreSQL 기능 비교

  • MySQL 은 5.. 대로 특징을 비교하고 살펴볼 것이다. 이유는 8.. 점 대로 보면 다른 RDBMS 와 거의 똑같아 지기 때문에

  • MySQl 과 다르게 MariaDB, PostgreSQL은 JSON 뿐만 아니라 바이너리 타입의 JSONB 도 지원하여 조금 더 빠르게 조회가능

    • 아쉬운 부분이 있지만 NoSQL 처럼 쓸려면 쓸 수는 있다.
  • MySQL, MariaDB, PostgreSQL 모두 고가용성 보장 되게 구성 가능

    • 차이는 트랜잭션에 관련한 ACID 를 MySQL, MariaDB는 기본 지원인데 PostgreSQL 은 완벽지원이다.
    • 이게 무슨 차이 냐면 PostgreSQL을 HA 클러스터링을 통해 멀티 마스터 형태로 구현했을 때 PostgreSQL은 아쉬운 부분없이 완벽하게 지원함
      • 예시로 transation을 사용할 때 now 라는 현재 시간을 보는 함수 사용하면 MySQL 은 노드별로 미세하게 시간이 다르게 적용될 수 있다. 하지만 PostgreSQL을 그런거 까지 잡아준다.
    • PostgreSQL 은 복제가 가능, 자체적으로 HA 클러스터링
  • 스토리지엔진을 살펴보면 MySQL은 대표적인 InnoDB, MyISAM 이 있고 MariaDB는 InnoDB, MyISAM에 Aria, ColumnStore 가 더해진다.

    • 반면에 PostgreSQL 자체적으로 사용하는 스토리지 엔진만 사용 가능하다.
  • PostgreSQL 은 광범위 하게 확장 가능하다

    • 예를 들어 위치기반 서비스 할 때 PostGIS 를 통하면 굉장히 편리함

MySQL, MariaDB, PostgreSQL 라이센스 비교

MariaDB 는 MySQL 을 fork 떠서 나온 컨셉이라 비슷하지만 살짝 확장된 느낌

GNU General Public License (GPL) v2

  • 사용자가 소프트웨어를 자유롭게 사용, 수정, 배포할 수 있음
    • 수정된 코드를 배포할 경우 수정된 버전도 GPL v2로 배포
    • Oracle에서는 MySQL의 상용 버전도 제공하지만
    • MySQL의 상용 버전은 GPL 조건을 따르지 않아 소스 코드 공개 의무가 없음
  • 소스 코드 공개 의무
    • 다른 소프트웨어와 결합하여 배포할 경우
    • 수정된 소프트웨어의 소스 코드를 반드시 공개해야 함
  • 소프트웨어 제공자에게 법적 책임 부과하지 않음
    • 소프트웨어는 “있는 그대로” 제공되고 사용자는 “그에 따른 위험”을 스스로 감수해야함

PostgreSQL License

  • 사용자가 소프트웨어를 자유롭게 사용, 수정, 배포할 수 있음

    • 소프트웨어 제공자에게 법적 책임 부과하지 않음
    • 소스 코드 비공개 허용
    • 수정된 소프트웨어를 상용 소프트웨어에 포함시키거나, 소스 코드를 공개하지 않고 배포 가능
  • 재배포 조건

    • 원본 저작권 표시
    • 라이센스 조항과 면책 조항 포함
    • 원본 소프트웨어의 저작권을 유지
  • 상용 소프트웨어 통합 가능

GPL v2 vs PostgreSQL License

0개의 댓글