Hacker News인프라 · 데브옵스

12년 된 분산 SQLite, 어떻게 진화했나

원제 Twelve years of distributed SQLite

117 포인트댓글 13
Key Point

SQLite 분산 시스템의 아이디어가 12년에 걸쳐 어떻게 다양한 구현으로 진화했고, 오픈소스에서 유료 플랫폼으로 전환된 과정을 보여준다.

핵심 요약

  • 2014년 9월 저자가 Raft 합의 알고리즘과 SQLite를 결합한 rqlite를 발표했고, 이것이 이 둘을 합친 첫 오픈소스 시스템이었다.
  • rqlite는 CP 시스템으로 설계되어 쓰기는 리더를 통해서만, 다수결 승인이 필요하며 분할된 소수는 쓰기를 거부한다.
  • 2016년 Bedrock(Paxos 기반)과 ActorDB(Erlang 기반)가 비슷한 시도를 했지만 널리 채택되지 않았으며, rqlite는 이를 독립적이고 범용적인 오픈소스로 만들었다.
  • 2017년 Canonical은 LXD와 MicroK8s를 위해 dqlite를 구축했으나, rqlite와 달리 임베딩되는 라이브러리 방식 C로 재작성되었다.
  • 2021년 Ben Johnson이 Litestream을 출시했는데, 합의 대신 SQLite WAL을 S3로 스트리밍하는 단일 노드 재해복구 솔루션이었다.
  • Fly.io의 LiteFS는 파일시스템 수준에서 SQLite를 복제하면서 복제된 SQLite를 플랫폼 기능으로 만든 첫 시도였다.
  • 2022년 cr-sqlite는 SQLite에 CRDT를 추가해 여러 쓰기를 허용하는 AP 모델을 제시했고, libSQL은 SQLite를 포크해 새로운 기능을 추가했으며, Turso라는 엣지 레플리카 호스팅 서비스를 만들어 2026년 Supabase에 인수되었다.
  • Cloudflare의 D1과 Turso는 '운영하는 것'에서 '구입하는 서비스'로 분산 SQLite의 형태를 바꿨다.
  • 12년간 SQLite를 저장소 엔진으로 하는 설계는 8개 팀 이상에 의해 다양한 프로토콜로 재발명되었으며, 설계 공간은 리더 중심(rqlite, dqlite), 스트리밍 방식(Litestream), 병합 방식(cr-sqlite)의 세 영역으로 나뉜다.
  • 각 접근은 서로 다른 문제를 풀며 논쟁은 주로 어떤 문제를 푸는지에 대한 것이다.
  • rqlite, dqlite, Litestream은 오픈소스이며 무료지만, 자금을 조달하거나 인수된 프로젝트들이 분산 SQLite를 유료 서비스로 전환했다.
  • rqlite는 여전히 2014년과 같은 일을 더 잘하고 있으며, 이해할 수 있고 무료로 운영 가능한 분산 관계형 데이터베이스가 필요한 사람들의 선택지이다.
AI 요약 안내

AI가 한국어로 정리한 내용입니다. 정확한 정보는 원문을 확인해 주세요.

요약 원칙 ↗