SQLite에 대하여 설명하시오.
SQLite는 경량 관계형 데이터베이스 관리 시스템 (RDBMS, Relational Database Management System) 으로, 서버 없이 파일 기반으로 데이터베이스를 관리할 수 있는 임베디드(Embedded) DBMS이다.
C언어로 작성된 Self-contained(자체 포함형) 라이브러리로, 주로 모바일, IoT, 임베디드 시스템 등 자원이 제한된 환경에서 많이 사용된다.
.sqlite 파일에 저장됨| 구성 요소 | 설명 |
|---|---|
| SQLite 엔진 | SQL 구문 해석 및 실행 담당 |
| DB 파일 구조 | 한 개의 파일로 전체 DB 포함 (테이블, 인덱스, 트리거 등) |
| VFS 모듈 | OS 파일 시스템과의 추상 인터페이스 |
| SQLite 라이브러리 | C 언어 기반 API를 통해 프로그램에 직접 링크됨 |
| 특성 | 설명 |
|---|---|
| Self-contained | 모든 기능을 하나의 C 라이브러리로 구현 (외부 종속성 없음) |
| Serverless | 별도의 DB 서버 없이 응용 프로그램이 직접 DB 파일을 읽고 씀 |
| Zero-Configuration | 설치, 설정, 초기화, 구성이 필요 없음 |
| Transactional | 트랜잭션 특성(ACID: 원자성, 일관성, 고립성, 지속성)을 완전 지원 |
| Cross-Platform | 다양한 OS(Windows, Linux, Android, iOS)에서 동일하게 작동 |
| 경량화 | 크기 약 500KB 이하, 임베디드 및 모바일에 최적 |
| 항목 | SQLite | MySQL | PostgreSQL |
|---|---|---|---|
| 구조 | 파일 기반 | 클라이언트-서버 | 클라이언트-서버 |
| 사용 환경 | 모바일, IoT, 내장형 | 웹, 중소형 서비스 | 복잡한 업무 시스템 |
| 설치/설정 | 불필요 | 필요 | 필요 |
| 크기 | 수백 KB | 수십 MB | 수십~수백 MB |
| 동시성 처리 | 제한적 | 우수 | 우수 |
“SQLite는 조그만 컴퓨터에도 잘 들어가는 똑똑한 노트예요. 서버라는 커다란 기계 없이도, 혼자서 데이터를 잘 저장하고 꺼낼 수 있어요.