데이터베이스 선택: D1 vs Postgres vs SQLite
초보자가 가장 자주 만나는 세 DB 고르는 법: 각각 무엇에 적합한지, 무료 한도, 그리고 너무 고민하지 않는 법.
한 문장으로
SQLite는 가장 간단, Postgres는 가장 만능, D1은 Cloudflare에 최적. 대부분의 초보 프로젝트는 일단 가장 간단히 쓸 수 있는 걸 고르면 된다.
만들 결과물
당신의 프로젝트가 어떤 DB를 써야 하는지, 그 이유까지 명확하게. 선택 마비에서 벗어난다.
결론부터
새 프로젝트에서 너무 고민하지 마세요: '가장 간단하면서 요구를 충족하는 것'을 고르세요. 데이터베이스에 절대적 우열은 없고, 지금의 당신에게 맞는지가 전부입니다.
한마디로
- SQLite: 파일 하나가 통째로 데이터베이스. 설정 제로로 아주 간단하고, 코드 바로 옆에서 동작합니다.
- PostgreSQL: 기능이 가장 충실하고 사용자가 가장 많으며 생태계가 가장 큽니다. 작게부터 아주 크게까지.
- D1: Cloudflare가 만든 SQLite 기반 클라우드 DB. Pages / Workers와 매끄럽게 통합되고 무료 한도도 친절합니다.
나란히 비교
| 기준 | SQLite | PostgreSQL | D1 |
|---|---|---|---|
| 난이도 | 가장 낮음 | 중간 | 낮음(SQLite를 알면) |
| 적합 규모 | 소~중 | 소~아주 큼 | 소~중(성장 중) |
| 배포 | 앱에 포함 | DB 서버 필요 | Cloudflare에서 네이티브 |
| 무료 | 본래 무료 | 호스트에 따라 | 무료 한도 있음 |
| Cloudflare 궁합 | 직접 통합 없음 | 외부 연결 | 네이티브로 최상 |
어떻게 고를까
- 학습이나 로컬 도구 → SQLite.
- Cloudflare에 배포하고 한 스택으로 → D1.
- 복잡한 쿼리·대량 동시 쓰기·가장 성숙한 생태계 → PostgreSQL.
희소식: 사실 꽤 비슷하다
셋 다 SQL 데이터베이스이고, 기본 '테이블 생성·조회·추가·수정' 문법은 대체로 공통입니다(D1은 애초에 SQLite). 그러니 간단한 것으로 시작하고, 정말 규모를 넘어 이전이 필요해도 생각만큼 무섭지 않습니다. 다만 공짜도 아니므로 처음에 규모를 맞추는 5분의 고민은 가치가 있습니다.
다음 단계
- 개념을 다집니다: 데이터베이스 Database
- 테이블 설계를 다듬기: AI로 데이터베이스 설계하기
- 각 DB 세부 보기: 데이터베이스
자주 묻는 질문
초보자라 뭘 쓸지 모르겠는데, 가장 무난한 기본은?
‘가장 간단하면서 요구를 충족하는’ 것을 고르세요. 학습이나 로컬 도구는 SQLite, Cloudflare에 배포하면 D1(SQLite를 알면 쓸 수 있음). 복잡한 쿼리·대량 동시 쓰기·가장 성숙한 생태계가 필요할 때만 PostgreSQL을.
나중에 데이터가 늘면 데이터베이스 이전이 괴로운가요?
셋 다 SQL이고 기본 문법이 대체로 공통(D1은 애초에 SQLite)이라 이전이 생각만큼 무섭지 않습니다. 다만 공짜도 아니어서 데이터 이전·문법 차이·다운타임을 처리해야 합니다. 그러니 처음에 ‘규모’를 맞추는 게 나중 이전보다 이득이며, 5분 고민할 가치가 있습니다.
참고 자료
- Cloudflare D1 Documentation — Cloudflare
- PostgreSQL Documentation — PostgreSQL Global Development Group
- SQLite Documentation — SQLite