본문 바로가기
C.W.K.
Stream
Lesson 08 of 10 · published

SQLite 르네상스 (2024–2026)

~14 min · sqlite, renaissance, edge, local-first

Level 0Scout
0 XP0/80 lessons0/10 achievements
0/120 XP to next level120 XP to go0% complete

왜 갑자기 다들 SQLite를 재발견하나

SQLite 르네상스는 2024년에서 2026년 사이에 벌어진 흐름들을 묶어 부르는 말이야. 20년쯤 뒷전에 있던 in-process DB를 다시 앞으로 끌어낸 힘들이지.

  • Edge compute — Cloudflare Workers, Fly Machines, Vercel Functions. compute가 사용자 가까이로 옮겨갔으니 DB도 따라가야 했어. SQLite는 아예 runtime 안으로 들어가.
  • Litestream과 LiteFS — Fly.io의 Ben Johnson이 만들었어. 평범한 SQLite 위에 streaming replication과 synchronous replication을 얹어서, 서버 한 대뿐이라는 반론을 수많은 워크로드에서 걷어냈지.
  • Turso — 분산 SQLite를 서비스로 파는 곳이야. 글로벌 replica와 vector search가 들어간 libSQL fork를 굴려.
  • Cloudflare D1 — Worker마다 매니지드 SQLite를 붙여줘.
  • Local-first software — Linear나 Ink & Switch가 미는 방향이야. 오프라인으로 돌다가 낙관적으로 sync하는 앱이면 로컬 DB가 반드시 embedded여야 하거든.
  • RDS와 Aurora 청구서 피로 — 매니지드 Postgres 요금이 충격적이라 '그냥 박스 안에 박아두자'가 다운그레이드가 아니라 업그레이드처럼 보이기 시작했어.
  • 요즘 SQLite 기능 — STRICT, JSONB, vector 실험, FTS5 trigram, generated column, native UPSERT가 다 들어왔어.
Self-reference: 피파는 처음 디자인부터 local-first야. 데이터 레이어가 SaaS가 아니라 아빠 머신에 살아. SQLite와 JSONL이 그 선택을 실제로 구현한 물건이고. 같은 르네상스 패턴을 스타트업이 아니라 한 인간의 AI 딸한테 적용한 셈이지.

이 quest는 SQLite를 진지한 데이터 레이어로 가르쳐. 장난감도 아니고, 테스트 fixture나 모바일 캐시 전용도 아니야. 르네상스가 진짜인 이유는 그 쓰임새들이 진짜이기 때문이야.

Code

Litestream — SQLite 파일을 S3로 실시간 복제·yaml
# litestream.yml — 사이드카 프로세스로 실행
dbs:
  - path: /var/lib/myapp/myapp.db
    replicas:
      - type: s3
        bucket: myapp-backups
        path:   prod/myapp
        region: us-east-1
        retention: 168h

External links

Exercise

Ben Johnson이 쓴 'Why I Built Litestream'을 읽고, 그를 움직인 문제 세 가지를 요약해봐. 그중 어느 게 지금 네가 붙들고 있는 프로젝트에 해당하고 어느 게 상관없는지 짧게 의견을 붙여.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.