Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- JWT
- 아티클 스터디
- Til
- docker
- web
- viewsets
- 개발공부
- 도커
- 오블완
- 코딩테스트
- CS
- SQL
- django
- nginx
- ERD
- github
- git
- 파이썬
- 장고
- 쿠키(cookie)
- Wil
- 티스토리챌린지
- redis
- 세션(Session)
- flask
- 연습
- NoSQL
- Python
- 자료구조
- Doker
Archives
- Today
- Total
SteadyDrills
SQLite란? 본문
241112

SQLite란?
SQLite는 SQL(Structured Query Language)을 사용하여 데이터베이스를 관리하며, 경량의 파일 기반 데이터베이스 관
리 시스템(DBMS)이다. 단일 파일에 모든 데이터를 저장하며, 서버가 필요 없어 간편하게 사용할 수 있다.
SQLite의 특징

- 서버리스: SQLite는 별도의 서버 프로세스 없이 작동한다. 애플리케이션이 직접 데이터베이스 파일에 접근하여 데이터를 읽고 쓸 수 있다.
- 경량: SQLite는 매우 가벼운 라이브러리로, 설치가 간편하고 시스템 자원을 적게 소모한다.
- 트랜잭션 지원: ACID(Atomicity, Consistency, Isolation, Durability) 속성을 지원하여 데이터의 무결성을 보장한다.
- 크로스 플랫폼: 다양한 운영 체제에서 사용할 수 있으며, 여러 프로그래밍 언어와 호환한다.
- 동적 타입 시스템: SQLite는 동적 타입 시스템을 사용한다. 즉, 각 열의 데이터 타입이 엄격하게 정의되지 않으며, 같은 열에 서로 다른 데이터 타입을 저장할 수 있다. 예를 들어, INTEGER 타입의 열에 문자열을 저장하는 것이 가능하다.
→ 개발할 때, 로컬에서는 가능하지만 배포 시(다른 DBMS에서) 오류가 생긴다면 확인해봐야 할 필요가 있다.
SQLite의 장단점

장점
- 간편한 설치
별도의 설치 과정이 필요 없다. 라이브러리를 애플리케이션에 포함시키기만 하면 즉시 사용할 수 있어 개발과 배포가 쉽다. - 서버가 필요 없음
서버 기반의 데이터베이스가 아니므로, 데이터베이스 서버를 설정하거나 운영할 필요가 없다. 모든 데이터가 단일 파일에 저장되며, 파일을 통해 직접 접근할 수 있다. - 직접 통합 사용
애플리케이션 내부에 통합되어 사용되므로, 데이터베이스와 애플리케이션 간의 통신이 매우 빠르고 간단하다. 네트워크 지연이 없으므로 속도가 빠르다.
단점
- 확장성 제한
대규모 데이터베이스나 많은 동시 사용자를 처리하는 데 한계가 있다. 데이터가 많아질수록 성능이 저하될 수 있다. - 복잡한 쿼리 처리 어려움
고급 데이터베이스 기능이 부족하여 복잡한 쿼리나 비즈니스 로직을 처리하는 데 어려움이 있을 수 있다. 또한 저장 프로시저나 트리거와 같은 기능이 제한적이다. 그 때문에 장애 발생 시 데이터 복구 기능이 제한적이며 데이터 손실이 발생할 경우 복구가 어려울 수 있다.
위 같은 장점과 단점 때문에 모바일 애플리케이션, 데스크톱 애플리케이션, 웹 브라우저에서 사용된다고 한다.
내가 생각한 사용 이유
처음에는 개발단계에서만 사용하는 DBMS인 줄 알았지만 모바일 앱, 웹 브라우저 등 가볍고, 빠른 통신이 필요한 서비스에 많이 사용된다는 걸 배웠고, 이런 서비스에 사용되는 이유는 로컬 데이터 저장을 담당하게 해서 빠르고 효율적인 데이터 관리와 사용자 경험을 개선하기 위해서 인걸로 보인다.
'웹개발' 카테고리의 다른 글
[DJANGO] FBV와 CBV의 차이 (0) | 2024.11.20 |
---|---|
RESTful 아키텍처 (0) | 2024.11.17 |
Redis란? (1) | 2024.11.08 |
Gunicorn란? (0) | 2024.11.07 |
NGINX란? (1) | 2024.11.06 |