SQLite

HY_1023·2026년 3월 13일

헷갈리는 부분 정리

목록 보기
19/40

SQLite 란?


한 마디로

"파일 하나로 동작하는 초경량 데이터베이스" 예요!


일반 DB vs SQLite

일반 DB (MySQL, PostgreSQL)
→ 별도 서버 설치 필요 🖥️
→ 서버 실행해야 함
→ 포트 연결 필요 (3306, 5432)
→ 설정 복잡

SQLite
→ 설치 없음! ✅
→ 서버 없음! ✅
→ 파일 하나로 끝! ✅
→ 설정 없음! ✅

SQLite 의 실체

my_project/
  ├── db.sqlite3   ← 이 파일 하나가 DB 전체!
  ├── manage.py
  └── settings.py
db.sqlite3 파일 안에
테이블, 데이터, 인덱스
모든게 다 들어있음! 📦

Django 에서 기본 설정

# settings.py
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',  # SQLite 사용
        'NAME': BASE_DIR / 'db.sqlite3',         # 파일 위치
    }
}

이유

Django 설치하면
SQLite 가 기본값!

→ 별도 설치 없이
  바로 개발 시작 가능! ✅

실생활 비유

MySQL/PostgreSQL
= 대형 은행 🏦
  건물 따로 있고
  직원 따로 있고
  복잡한 시스템

SQLite
= 개인 가계부 📒
  파일 하나로
  모든 데이터 관리
  간단하고 가벼움

SQLite 장단점

✅ 장점

1. 설치 불필요
   → Python 에 기본 내장!

2. 설정 불필요
   → Django 기본값!

3. 파일 하나로 관리
   → db.sqlite3 복사 = DB 백업 완료!

4. 가볍고 빠름
   → 소규모 프로젝트에 최적!

5. 개발/테스트 용이
   → 로컬 개발에 완벽!

❌ 단점

1. 동시 접속 약함
   → 여러명이 동시에 쓰면 느려짐

2. 대용량 부적합
   → 데이터 많아지면 한계

3. 실서비스 부적합
   → 운영환경엔 MySQL/PostgreSQL 사용

개발 vs 운영 DB

개발 환경 (로컬)
→ SQLite ✅
   가볍고 설치 불필요
   혼자 개발할 때 완벽

운영 환경 (서버/배포)
→ PostgreSQL ✅  (Django 추천)
→ MySQL      ✅  (많이 사용)
   동시접속 강함
   대용량 처리 가능

마이그레이션과 SQLite

# 모델 → SQLite DB에 테이블 생성
python manage.py makemigrations  # 설계도 작성
python manage.py migrate         # DB에 실제 반영

# 결과
db.sqlite3 안에
study 테이블 자동 생성!

정리

항목SQLite
설치불필요
서버불필요
파일db.sqlite3 하나
용도개발/테스트
특징초경량 초간단
한계동시접속, 대용량

💡 Django 처음 배울때
SQLite 로 시작하는게 정석이에요!
나중에 실서비스 할 때
PostgreSQL 로 교체하면 돼요! ✅

profile
개발언어를 배우는 과정 기록

0개의 댓글