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.