"파일 하나로 동작하는 초경량 데이터베이스" 예요!
일반 DB (MySQL, PostgreSQL)
→ 별도 서버 설치 필요 🖥️
→ 서버 실행해야 함
→ 포트 연결 필요 (3306, 5432)
→ 설정 복잡
SQLite
→ 설치 없음! ✅
→ 서버 없음! ✅
→ 파일 하나로 끝! ✅
→ 설정 없음! ✅
my_project/
├── db.sqlite3 ← 이 파일 하나가 DB 전체!
├── manage.py
└── settings.py
db.sqlite3 파일 안에
테이블, 데이터, 인덱스
모든게 다 들어있음! 📦
# settings.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3', # SQLite 사용
'NAME': BASE_DIR / 'db.sqlite3', # 파일 위치
}
}
Django 설치하면
SQLite 가 기본값!
→ 별도 설치 없이
바로 개발 시작 가능! ✅
MySQL/PostgreSQL
= 대형 은행 🏦
건물 따로 있고
직원 따로 있고
복잡한 시스템
SQLite
= 개인 가계부 📒
파일 하나로
모든 데이터 관리
간단하고 가벼움
1. 설치 불필요
→ Python 에 기본 내장!
2. 설정 불필요
→ Django 기본값!
3. 파일 하나로 관리
→ db.sqlite3 복사 = DB 백업 완료!
4. 가볍고 빠름
→ 소규모 프로젝트에 최적!
5. 개발/테스트 용이
→ 로컬 개발에 완벽!
1. 동시 접속 약함
→ 여러명이 동시에 쓰면 느려짐
2. 대용량 부적합
→ 데이터 많아지면 한계
3. 실서비스 부적합
→ 운영환경엔 MySQL/PostgreSQL 사용
개발 환경 (로컬)
→ SQLite ✅
가볍고 설치 불필요
혼자 개발할 때 완벽
운영 환경 (서버/배포)
→ PostgreSQL ✅ (Django 추천)
→ MySQL ✅ (많이 사용)
동시접속 강함
대용량 처리 가능
# 모델 → SQLite DB에 테이블 생성
python manage.py makemigrations # 설계도 작성
python manage.py migrate # DB에 실제 반영
# 결과
db.sqlite3 안에
study 테이블 자동 생성! ✅
| 항목 | SQLite |
|---|---|
| 설치 | 불필요 |
| 서버 | 불필요 |
| 파일 | db.sqlite3 하나 |
| 용도 | 개발/테스트 |
| 특징 | 초경량 초간단 |
| 한계 | 동시접속, 대용량 |
💡 Django 처음 배울때
SQLite 로 시작하는게 정석이에요!
나중에 실서비스 할 때
PostgreSQL 로 교체하면 돼요! ✅