상세 컨텐츠

본문 제목

SQLite가 왜 다시 뜨나 — 파일 하나짜리 옛날 DB의 재조명

AI 이야기/요즘 소식

by 사이 (SAI) 2026. 7. 24. 08:41

본문

728x90
반응형

SQLite는 서버 없이 파일 하나에 데이터를 담는 관계형 데이터베이스입니다. 한동안 "테스트·프로토타입용"으로만 취급됐지만, 2026년에는 실제 서비스에서도 쓰이는 흐름이 뚜렷해졌습니다.

이 글은 2026년 7월 기준으로 SQLite가 뭔지, 왜 다시 주목받는지, 어떤 상황에 맞고 안 맞는지를 초보자도 이해할 수 있게 정리했습니다.

데이터베이스를 처음 배우는 사람이 왜 SQLite부터 만지면 좋은지도 마지막에 짚습니다.

책상 서랍에서 서류철 하나를 꺼내는 장면 옆에 놓인 작은 데이터베이스 파일 아이콘, 서버 없는 파일형 DB 비유

SQLite는 서버를 따로 켜지 않고 파일 하나에 데이터를 담는 초경량 DB입니다. 예전엔 동시 쓰기가 약해 "가벼운 용도"로 여겨졌지만, Turso·Cloudflare D1 같은 서비스가 이 한계를 우회하면서 프로덕션에서도 쓰이기 시작했습니다.

SQLite가 뭐길래 — 서버 없는 "파일 하나짜리 DB"

SQLite는 서버를 따로 두지 않고, 파일 하나(.db 또는 .sqlite)에 데이터를 통째로 담는 관계형 데이터베이스입니다.

여기서 관계형 데이터베이스란 표(테이블) 형태로 데이터를 정리해두고 SQL이라는 언어로 조회·수정하는 저장소를 말합니다.

우리가 흔히 아는 MySQL이나 PostgreSQL과는 작동 방식이 다릅니다.

MySQL·PostgreSQL은 "데이터베이스 서버"를 계속 켜두고, 앱이 네트워크로 그 서버에 접속해서 데이터를 주고받는 서버형입니다.

반면 SQLite는 앱 안에 라이브러리로 들어가서, 앱과 같은 자리에서 파일을 직접 읽고 씁니다.

비유하자면 서버형은 은행 창구에 가서 처리하는 방식이고, 파일형은 책상 서랍에서 서류를 바로 꺼내 쓰는 방식에 가깝습니다.

설치도, 계정도, 포트 번호도 필요 없다는 게 SQLite의 가장 큰 특징입니다.

사실은 세상에서 가장 많이 쓰이는 DB

"가벼운 DB"라는 인상 때문에 의외로 느껴지지만, SQLite는 세계에서 가장 많이 배포된 데이터베이스입니다.

SQLite 공식 문서(sqlite.org)는 "다른 모든 데이터베이스 엔진을 합친 것보다 더 많이 쓰일 가능성이 높다"고 표현합니다.

공식 문서 기준으로, 전 세계에 활성 상태로 존재하는 SQLite DB는 1조 개 이상으로 추정됩니다.

스마트폰 약 40억 대에 저마다 수백 개의 SQLite 파일이 들어 있다는 계산에서 나온 수치입니다.

실제로 안드로이드·아이폰·맥·Windows, 크롬·사파리·파이어폭스, 드롭박스·아이튠즈 같은 프로그램 안에 SQLite가 들어 있습니다.

에어버스 A350 항공기와 화성 탐사 로버에도 탑재됐다고 sqlite.org는 소개합니다.

개인적으로는, 사람들이 "테스트용 DB"라고 부르는 물건이 사실 지구에서 가장 널리 깔린 소프트웨어 중 하나라는 점이 이 주제에서 가장 재미있는 반전이라고 봅니다.

스마트폰·노트북·자동차·비행기 실루엣이 배경에 흩어져 있고 각 기기 안에 작은 파일 아이콘이 켜져 있는 와이드 장면, SQLite가 어디에나 들어 있다는 편재성

그런데 왜 오랫동안 "테스트용"으로만 여겨졌나

이렇게 널리 쓰이는데도 SQLite가 "진짜 서비스용은 아니다"라는 평을 들은 이유는 딱 하나, 동시 쓰기 문제입니다.

SQLite는 여러 곳에서 동시에 읽는 건 사실상 무제한으로 잘 처리합니다.

하지만 쓰기는 한 번에 하나씩만 처리하도록 순서를 세웁니다.

쓰기 성능을 높이는 WAL(Write-Ahead Log) 모드를 켜도, 이 "쓰기는 한 번에 하나"라는 원칙 자체는 그대로입니다.

그래서 여러 사용자가 동시에 데이터를 쓰려고 몰리면 뒤 순서가 기다리거나 "database is locked" 오류가 납니다.

이 한 가지 특성 때문에 SQLite는 "로컬·프로토타입·테스트용"이라는 꼬리표를 오래 달고 있었습니다.

2026년, 왜 다시 뜨나

최근 흐름을 바꾼 건 SQLite를 분산·엣지·서버리스 환경으로 확장한 서비스들입니다.

Turso, Cloudflare D1, libSQL, Litestream 같은 이름이 커뮤니티에서 자주 언급됩니다.

이들이 SQLite의 약점을 우회하면서 "PostgreSQL 대신 SQLite를 써도 되지 않나"라는 이야기가 퍼지고 있습니다.

Cloudflare D1

D1은 Cloudflare가 만든 SQLite 기반 서버리스 SQL 데이터베이스입니다.

Cloudflare 공식 블로그에 따르면 D1은 2022년 말 알파를 거쳐 2024년 4월 정식 출시(GA)됐습니다.

DB 하나당 최대 10GB, 계정당 최대 5만 개의 DB를 만들 수 있고, 지난 30일 안의 특정 시점으로 되돌리는 Time Travel 기능도 제공합니다.

사용자와 가까운 곳에서 데이터를 읽게 하는 읽기 복제 기능도 안내하고 있습니다.

다만 구체적인 요금과 읽기 복제의 정식 제공 여부는 시점에 따라 달라질 수 있어, 발행 전 Cloudflare 공식 D1 문서에서 재확인이 필요합니다.

Turso와 libSQL — 여기서 많이 헷갈립니다

Turso 쪽은 이름이 여러 개라 초보자가 특히 헷갈리기 쉬운데, 두 가지만 구분하면 정리됩니다.

libSQL은 Turso 팀이 만든 SQLite의 오픈소스 포크입니다.

SQLite와 호환을 유지하면서 외부 기여와 새 기능을 받는 버전이고, 지금 Turso의 상용 서비스를 실제로 돌리는 프로덕션 엔진입니다.

반면 Turso Database(과거 코드명 Limbo)는 SQLite를 Rust 언어로 완전히 새로 짜는 프로젝트로, 2026년 7월 기준 아직 베타 단계입니다.

이쪽은 여러 곳에서 동시에 쓰기가 가능하도록 하는 방식(MVCC)과 내장 벡터 검색 같은 기능을 새로 넣고 있습니다.

Turso 창업자는 Hacker News에서 "새 프로젝트라면 Turso Database를, 절대 멈추면 안 되는 서비스라면 지금은 libSQL을 쓰라"고 정리했습니다.

즉 "Turso = SQLite의 Rust 재작성"이라는 한 줄 요약은 절반만 맞습니다.

Turso Database의 정확한 단계와 시점은 발행 전 Turso 공식 문서에서 확인이 필요합니다.

하나의 파일 아이콘에서 여러 갈래로 뻗어나가 전 세계 지도 위 여러 지점에 복제되는 엣지·분산 구조 일러스트, Turso와 D1이 SQLite를 분산으로 확장하는 흐름


"AI가 SQLite 코드를 유독 잘 짠다"는 이야기는 왜 나올까

요즘 SQLite가 다시 언급되는 데는 AI 코딩 도구도 한몫한다는 이야기가 있습니다.

먼저 짚어둘 점은, 이건 공식 문서로 검증된 사실이 아니라 개발자 커뮤니티의 관측이라는 것입니다.

그래서 "몇 퍼센트 더 정확하다" 같은 수치로 단정할 근거는 아직 없습니다.

이야기의 논리는 이렇습니다.

SQL은 실행하면 맞고 틀림이 분명한 언어라, AI가 틀린 답을 지어내는 영향이 상대적으로 덜하다는 것입니다.

여기에 SQLite는 예제·문서·질문답변이 인터넷에 압도적으로 많고 문법도 단순해서, AI가 학습한 데이터가 풍부하다는 관측이 더해집니다.

반대로 PostgreSQL의 고급 기능이나 기업용 설정은 공개된 학습 데이터가 상대적으로 적어, AI가 덜 정확할 수 있다는 지적도 함께 나옵니다.

개인적으로는, "AI가 잘 짠다"보다 "쉬운 걸 AI가 더 잘 다룬다"에 가까운 이야기로 이해하는 편이 안전하다고 봅니다.

그래서 SQLite는 언제 맞고, 언제 안 맞나

가장 중요한 균형점은 "SQLite가 PostgreSQL을 대체한다"가 아니라는 것입니다.

정확한 온도는 "예전엔 무조건 서버 DB를 켜야 했던 구간의 상당 부분을, 이제 파일형 DB로도 감당하게 됐다"입니다.

아래 표로 두 방식의 성격을 정리했습니다.

구분 SQLite (파일형) PostgreSQL·MySQL (서버형)
구조 앱 안의 파일 하나 별도 서버에 접속
설치·관리 거의 없음 (파일 복사=백업) 서버 설치·계정·운영 필요
동시 읽기 사실상 무제한 강함
동시 쓰기 한 번에 하나 (약점) 여러 개 동시 처리
잘 맞는 곳 읽기 위주·모바일·엣지·프로토타입·1대 서버 웹앱 동시 쓰기 많은 대규모 서비스

SQLite가 잘 맞는 경우는 읽기가 대부분인 서비스, 모바일 앱 내부 저장, 엣지 환경, 프로토타입, 사이드 프로젝트입니다.

고객사마다 데이터를 파일 하나로 따로 격리하고 싶은 B2B 서비스나, AI가 참고할 내부 지식 검색용으로도 잘 맞습니다.

반대로 안 맞는 경우는 분명합니다.

여러 사용자가 동시에 쓰기를 폭주시키는 대규모 트랜잭션 서비스, 여러 대의 서버가 같은 DB에 동시에 써야 하는 구조가 그렇습니다.

이럴 때는 PostgreSQL 같은 서버형이 정답이고, SQLite 공식 문서도 "동시 쓰기가 많은 경우"에는 부적합하다고 못 박고 있습니다.

데이터베이스 입문이라면 SQLite부터 만져보길

DB를 처음 배우는 사람에게 SQLite가 특히 좋은 이유는 진입 장벽이 거의 없기 때문입니다.

파이썬을 설치했다면 별도 설치 없이 표준 라이브러리에 들어 있는 sqlite3를 바로 쓸 수 있습니다.

서버를 띄우거나 계정을 만들 필요 없이, 아래처럼 몇 줄이면 DB가 생기고 데이터가 저장됩니다.

import sqlite3

# test.db 파일이 곧 데이터베이스가 됩니다
con = sqlite3.connect("test.db")
cur = con.cursor()

cur.execute("CREATE TABLE memo (id INTEGER, text TEXT)")
cur.execute("INSERT INTO memo VALUES (1, '첫 메모')")
con.commit()

for row in cur.execute("SELECT * FROM memo"):
    print(row)

con.close()

여기서 SELECT, INSERT, CREATE TABLE 같은 명령이 바로 SQL이라는 언어입니다.

이렇게 만들어진 test.db는 파일 하나라서, 백업은 파일 복사, 이동은 파일 이동으로 끝납니다.

백엔드에서 데이터를 다룬다는 게 결국 이런 작업인데, 프론트엔드와 백엔드가 어떻게 나뉘는지는 관련 글에서 따로 다뤘습니다.

데이터베이스와 SQL 자체가 아직 낯설다면, 기초 개념을 다룬 DB 기초편과 함께 보면 이해가 빠릅니다.

파이썬 표준 라이브러리 문서(docs.python.org)와 SQLite 공식 문서는 발행 전 최신 표기만 가볍게 확인하면 됩니다.


자주 묻는 질문

SQLite는 실제 서비스에 써도 되나요?

읽기가 대부분이거나 서버 한 대로 운영하는 서비스라면 충분히 쓸 수 있습니다.

다만 여러 사용자가 동시에 데이터를 쓰는 대규모 서비스라면 PostgreSQL 같은 서버형이 더 안전합니다.

최근에는 Turso나 Cloudflare D1이 이 약점을 우회해줘서 선택지가 넓어졌습니다.

SQLite와 MySQL·PostgreSQL의 가장 큰 차이는 뭔가요?

SQLite는 서버 없이 파일 하나로 동작하고, MySQL·PostgreSQL은 별도 서버에 접속해서 씁니다.

그래서 SQLite는 설치·관리가 거의 필요 없는 대신 동시 쓰기에 약하고, 서버형은 관리가 필요한 대신 동시 쓰기에 강합니다.

Turso가 곧 SQLite의 Rust 버전인가요?

절반만 맞습니다.

Turso의 상용 서비스를 실제로 돌리는 건 SQLite 포크인 libSQL이고, Rust로 새로 짠 Turso Database는 아직 베타 단계입니다.

지금 당장 안정성이 중요하면 libSQL, 새 프로젝트로 실험한다면 Turso Database라고 이해하면 됩니다.

정리하면

SQLite는 "가벼운 테스트용"이 아니라, 원래도 세상에서 가장 많이 쓰이던 DB였고 이제 프로덕션 선택지로도 진지하게 논의되는 단계에 들어섰습니다.

핵심은 동시 쓰기가 몰리는 구조가 아니라면 파일 하나로도 상당한 서비스를 감당할 수 있게 됐다는 점입니다.

개인적으로는, 유행이라 SQLite로 갈아타기보다 "내 서비스가 읽기 위주인가, 동시 쓰기가 많은가"를 먼저 따져보는 게 순서라고 생각합니다.

그리고 DB를 처음 배운다면, 설치 없이 바로 쓸 수 있는 SQLite만큼 좋은 출발점도 드뭅니다.

 

 

참고한 자료

SQLite 공식 문서(가장 널리 배포된 DB·유명 사용처), Cloudflare 공식 블로그(Building D1), Turso libSQL GitHub·공식 문서, Hacker News의 Turso 관련 스레드, pgEdge 블로그를 참고했습니다. 모델·버전·요금 등 변동이 잦은 항목은 발행 전 각 공식 문서에서 재확인이 필요합니다.

728x90
반응형

관련글 더보기

댓글 영역