SQL DB는 모두 SQL 언어를 사용하지만, 각 DB는 지원하는 기능이 다르고 호환되지 않는 경우가 많다. 그래서 프로젝트에 적합한 DB를 선택하는 것이 중요하다.
아래 3개의 DB를 성능, 편의성 두 가지 측면에서 비교해보도록 하자.
성능: 지원 기능, 작업 처리 능력, 확장성, 한계점(한계에 부딫힐까 걱정되는 부분이 존재하는가)
편의성: 설치, 백업 및 유지 관리
SQLite는 소규모 프로젝트나 단일 서버에서 쉽게 사용할 수 있으며, 유지 보수가 간단한 DB이다. 하지만 다중 서버 환경에서는 한계가 있다.
ALTER TABLE
명령, 날짜 및 시간 데이터 유형, JSON 등 SQL 기능이 강점.MySQL은 많은 기능과 안정성을 제공하며 대규모 프로젝트에 적합하지만, 관리가 다소 복잡할 수 있다. PlanetScale 같은 툴을 활용하면 편의성이 증가한다.
hstore
)하거나, DB 트리거(plpython3u
: SQL 쿼리에 python 코드를 작성할 수 있음)와 같은 고급 기능을 제공.pgvector
: 벡터 DB로 변환, PostGIS
: 지리공간 데이터, pg_cron
: DB 내에서 작업을 예약 등 pgxn.org 같은 웹사이트 참고)PostgreSQL은 강력한 기능과 확장성을 제공하지만, 복잡한 시스템 구조로 인해 관리가 어려울 수 있다. 고성능과 다양한 기능을 필요로 하는 프로젝트에 적합하다.
SQLite: 유지 보수와 간편한 관리가 중요한 소규모 프로젝트에 적합.
MySQL: 대중적인 선택으로, 기능이 풍부하고 대규모 프로젝트에도 적합.
PostgreSQL: 고성능과 확장성이 필요한 프로젝트에 이상적이지만, 관리가 복잡할 수 있음.
nomad coders - DB 고민 끝내드림 💥
Jake Seo tistory blog - PlanetScale 정리