Hasty Briefsbeta

Bilingual

rqlite turns 10: Lessons from a decade building Distributed Systems

a year ago
  • #distributed-database
  • #Go
  • #SQLite
  • rqlite is a lightweight, open-source, distributed relational database written in Go, using SQLite and Raft.
  • Started 10 years ago to learn Go and explore distributed consensus, rqlite has grown in adoption and technical depth.
  • Key successes include choosing Go, building rqlite.io, Docker integration, Kubernetes support, and stable API.
  • Testing and incremental snapshotting were crucial for stability and large dataset support.
  • Change Data Capture (CDC) is considered the last big feature, emphasizing clean and understandable systems.
  • rqlite was ahead of its time, combining Raft with SQLite before others, but lacked early marketing.
  • A SQLite bug uncovered by rqlite validated its progress from a side project to a stress-testing tool.
  • Distributed systems are often misunderstood, with reliability and performance frequently conflated.
  • The author continues to work on rqlite for enjoyment, learning, credibility, and therapeutic reasons.