오늘은 많이 사용되고 있는 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
