VCA

데이터베이스 선택: D1 vs Postgres vs SQLite

초보자가 가장 자주 만나는 세 DB 고르는 법: 각각 무엇에 적합한지, 무료 한도, 그리고 너무 고민하지 않는 법.

게시일 수정일 검토일 약 1분 분량편집 방침#실전 가이드#데이터베이스#선택

한 문장으로

SQLite는 가장 간단, Postgres는 가장 만능, D1은 Cloudflare에 최적. 대부분의 초보 프로젝트는 일단 가장 간단히 쓸 수 있는 걸 고르면 된다.

만들 결과물

당신의 프로젝트가 어떤 DB를 써야 하는지, 그 이유까지 명확하게. 선택 마비에서 벗어난다.

결론부터

새 프로젝트에서 너무 고민하지 마세요: '가장 간단하면서 요구를 충족하는 것'을 고르세요. 데이터베이스에 절대적 우열은 없고, 지금의 당신에게 맞는지가 전부입니다.

한마디로

  • SQLite: 파일 하나가 통째로 데이터베이스. 설정 제로로 아주 간단하고, 코드 바로 옆에서 동작합니다.
  • PostgreSQL: 기능이 가장 충실하고 사용자가 가장 많으며 생태계가 가장 큽니다. 작게부터 아주 크게까지.
  • D1: Cloudflare가 만든 SQLite 기반 클라우드 DB. Pages / Workers와 매끄럽게 통합되고 무료 한도도 친절합니다.

나란히 비교

기준SQLitePostgreSQLD1
난이도가장 낮음중간낮음(SQLite를 알면)
적합 규모소~중소~아주 큼소~중(성장 중)
배포앱에 포함DB 서버 필요Cloudflare에서 네이티브
무료본래 무료호스트에 따라무료 한도 있음
Cloudflare 궁합직접 통합 없음외부 연결네이티브로 최상

어떻게 고를까

  • 학습이나 로컬 도구 → SQLite.
  • Cloudflare에 배포하고 한 스택으로 → D1.
  • 복잡한 쿼리·대량 동시 쓰기·가장 성숙한 생태계 → PostgreSQL.

희소식: 사실 꽤 비슷하다

셋 다 SQL 데이터베이스이고, 기본 '테이블 생성·조회·추가·수정' 문법은 대체로 공통입니다(D1은 애초에 SQLite). 그러니 간단한 것으로 시작하고, 정말 규모를 넘어 이전이 필요해도 생각만큼 무섭지 않습니다. 다만 공짜도 아니므로 처음에 규모를 맞추는 5분의 고민은 가치가 있습니다.

다음 단계

자주 묻는 질문

초보자라 뭘 쓸지 모르겠는데, 가장 무난한 기본은?

‘가장 간단하면서 요구를 충족하는’ 것을 고르세요. 학습이나 로컬 도구는 SQLite, Cloudflare에 배포하면 D1(SQLite를 알면 쓸 수 있음). 복잡한 쿼리·대량 동시 쓰기·가장 성숙한 생태계가 필요할 때만 PostgreSQL을.

나중에 데이터가 늘면 데이터베이스 이전이 괴로운가요?

셋 다 SQL이고 기본 문법이 대체로 공통(D1은 애초에 SQLite)이라 이전이 생각만큼 무섭지 않습니다. 다만 공짜도 아니어서 데이터 이전·문법 차이·다운타임을 처리해야 합니다. 그러니 처음에 ‘규모’를 맞추는 게 나중 이전보다 이득이며, 5분 고민할 가치가 있습니다.

참고 자료

  1. Cloudflare D1 DocumentationCloudflare
  2. PostgreSQL DocumentationPostgreSQL Global Development Group
  3. SQLite DocumentationSQLite