250119 TIL MariaDB VS Postgresql

윤수용·2025년 1월 20일
0

TIL

목록 보기
106/113

1. MariaDB를 선택한 이유

1. MySQL과의 높은 호환성 및 기존 경험 활용

  • MySQL과의 완벽한 호환성:
    - 기존 스파르타 캠프에서 MySQL을 사용해본 경험 덕분에 MySQL과 호환성이 좋은 MariaDB를 선택함.
  • PHP, Django, Node.js 등 다양한 웹 프레임워크와의 친숙한 연동을 제공하며, 마이그레이션 과정이 단순함.

2. 성능 및 처리 속도 (특히 읽기 작업)

  • MariaDB는 읽기 성능이 뛰어나고, 트랜잭션이 많은 웹 애플리케이션에서 빠른 성능을 제공함.
  • Thread PoolingParallel Queries 기능을 제공하여 높은 동시성 처리에 유리.
  • PostgreSQL은 높은 동시성 환경에서는 성능이 좋지만, 작은 규모에서는 오버헤드가 크고 설정이 복잡함.

3. 간편한 관리 및 유지보수

  • MariaDB는 PostgreSQL보다 상대적으로 설치, 설정, 유지보수가 간편하며, 많은 호스팅 제공업체에서 기본적으로 지원.
  • SQL 구문이 직관적이고 관리 도구(phpMyAdmin, HeidiSQL 등)가 풍부하여, 유지보수 부담이 적음.
  • PostgreSQL은 고급 기능이 많지만 설정이 복잡하고 학습 곡선이 가파름.

4. 다양한 스토리지 엔진 지원

  • MariaDB는 다양한 스토리지 엔진(InnoDB, MyISAM, Aria, ColumnStore 등)을 지원하여, 프로젝트의 요구에 따라 적절한 엔진을 선택 가능.
  • PostgreSQL은 하나의 기본 스토리지 엔진만을 사용하며, 특정한 워크로드에 맞춰 최적화해야 함.

5. 오픈소스 라이선스 및 커뮤니티 지원

  • MariaDB는 100% GPL 오픈소스로 제공되며, 모든 기능이 무료로 제공됨.
  • PostgreSQL 또한 오픈소스이지만, 일부 기능을 활용하려면 추가적인 설정 및 확장 모듈 설치가 필요할 수 있음.
  • MariaDB는 MySQL 사용자 커뮤니티와 겹치는 부분이 많아 도움받기 용이.

6. 트랜잭션 및 복제 기능

  • MariaDB는 비동기 복제 및 클러스터링(Galera Cluster)을 통해 데이터 무결성을 보장하며, PostgreSQL의 복제보다 설정이 간단.
  • PostgreSQL의 WAL(Write-Ahead Logging) 기반 복제는 강력하지만 설정이 복잡하고 유지보수가 까다로울 수 있음.

7. 개발 및 배포 환경의 요구사항 충족

  • 현재 개발한 기능들을 사용해 빠르게 DB 관리를 시작하기 위해 학습하기 쉬운 MariaDB를 선택
  • PostgreSQL은 고급 기능을 제공하지만, 초기 학습과 최적화 과정에서 시간이 필요할 수 있음.

결론

프로젝트에서 MariaDB를 선택한 주요 이유는 다음과 같이 정리할 수 있습니다.
1. MySQL과의 호환성으로 인해 기존 경험과 기술 활용 가능.
2. 설치 및 유지보수가 간편하여 빠른 개발 사이클 지원.
3. 읽기 성능이 우수하고, 웹 애플리케이션에 적합.
4. 다양한 스토리지 엔진 제공으로 유연한 데이터 관리를 지원.
5. 오픈소스 커뮤니티의 활발한 지원과 빠른 업데이트 주기.
6. 트랜잭션 및 복제 기능이 쉽고 효과적으로 구현 가능.

따라서, 프로젝트의 요구사항이 빠른 배포, 쉬운 유지보수, 그리고 높은 호환성을 필요로 했기 때문에 PostgreSQL보다 MariaDB를 선택한 것으로 볼 수 있습니다.

profile
잘 먹고 잘 살자

0개의 댓글

관련 채용 정보