2021년 전에는 없던 HA 이야기
Litestream은 Ben Johnson이 2021년에 내놨어. 손대지 않은 SQLite 위에 continuous streaming replication을 얹는 물건이야. WAL 꼬리를 따라가면서 바뀐 만큼만 S3나 sftp, GCS, Azure, 로컬 파일로 흘려보내. 사고가 나면 최신 replica에서 되살리는데, 잃는 건 몇 초 분량이야.
LiteFS는 Fly.io가 만들었고, 이걸 클러스터 filesystem으로 확장해서 동기식 write까지 지원해. 여러 노드에 걸쳐 강한 일관성을 가진 SQLite를 만들어주지.
Turso는 libSQL fork 위에 여러 지역을 커버하는 매니지드 서비스를 세웠고, Cloudflare D1은 SQLite를 Workers runtime에 통째로 묶어 넣었어. Litesync 같은 것들이 그 옆자리를 채우고.
핵심은 이거야. SQLite에 replication이 없다는 반론은 20년 동안 진짜였고, 오늘은 더 이상 사실이 아니야. 한 지역에서 도는 웹 앱이면 Litestream 하나로 대개 충분하고, 여러 지역에서 써야 하면 Turso나 LiteFS로 가.
Tip: 비용 때문에 RDS Postgres를 고민 중인데 앱이 SQLite 배포 모양에 맞는다면, Litestream을 얹은 Fly나 Turso로 숫자를 한번 굴려봐. 피파처럼 생긴 '머신 한 대 앱에 매일 클라우드 백업' 설정이면, 매니지드 Postgres로 월 50달러 넘게 나갈 상태를 한 자릿수 달러로 끝낼 수 있어.