The economics of Litestream 0.4 and SQLite replication choices
Litestream offers low-cost durability for single-node applications using S3 storage for approximately $1 per month. Teams must weigh these savings against the managed convenience of Turso's $4.99 Developer plan or the distributed clustering capabilities of rqlite.
Litestream for single-node durability
Litestream delivers durability by streaming WAL changes to object storage. It runs as a separate process. This design avoids adding a runtime hop or latency to the write path. I find the simplicity of a single binary appealing for small projects. Litestream provides sub-second recovery times. It creates an eventually consistent replica. This setup works when you need a recoverable off-host copy for incident recovery. Litestream supports S3, GCS, and Azure Blob. Your application code remains oblivious to its existence. However, WAL replication can preserve bad or incomplete state if the source database suffers a compromise before streaming.
rqlite also manages SQLite data but uses the Raft consensus protocol for clustering. It provides automatic failover through leader election. However, rqlite rebuilds the entire database from the Raft log during startup. This process can become slow and intensive when managing large datasets. A user in a discussion on Hacker News noted that rebuilding a database can be a major pain if you must restart 100+ replica nodes at once. rqlite also introduces latency because the application must use its HTTP API. You should choose rqlite if your application adapts to HTTP-based access patterns and requires true distributed clustering across multiple VPS nodes. rqlite also lacks built-in object storage support, which requires manual S3 integration for backups. rqlite provides strong, eventual, or no consistency to allow you to configure how your cluster handles data.
Comparing rqlite and Turso architectures
Teams choosing between rqlite and Turso must weigh the operational complexity of managing Raft-based consensus nodes against the cost savings provided by a managed service that scales down to zero when not in use. rqlite provides configurable consistency and horizontal read scaling. Turso provides a managed service built on libSQL, a fork of SQLite. Turso relies on Fly.io infrastructure for deployment. This allows developers to scale to zero. Turso also adds native vector search support. This capability helps developers retrieve embeddings for AI use cases without adding another datastore.
Turso’s engineering team consists of 10 people. They avoided hiring a DevOps team by using Fly.io. This decision allowed them to implement product work faster. By introducing the Developer plan to replace the $9 Hobby plan, they addressed growing demand. This new plan provides 5x more rows read than the free tier. Turso also provides embedded replicas. This allows you to replicate your cloud database into a SQLite file on a physical device or server. The libSQL client library handles the sync of locally stored data to the cloud and across devices with automatic conflict resolution. This makes it suitable for local-first applications. The Developer plan costs $4.99 per month if you pay yearly. This plan allows 2.5 billion rows read per month and 10GB of monthly embedded syncs. It also allows you to create 1,000 databases. The Free plan provides 500 million rows read, 10 million rows written, and 5GB of storage. Users of the Developer plan must migrate to AWS regions because the massive multi-tenant server only exists on AWS.
Pricing and deployment decisions
The choice between these tools depends on your infrastructure budget and technical requirements. Litestream remains the cheapest option for small, single-node applications. You can run Litestream on a $5 VPS and pay about $1 per month for S3 storage. This provides a low-cost path for disaster recovery. Turso provides a middle ground for those wanting a managed experience without the overhead of Kubernetes.
| Feature | Litestream | rqlite | Turso (Developer Plan) |
|---|---|---|---|
| Primary Use | Continuous Backup | Raft Clustering | Managed Edge Service |
| Monthly Cost | ~$1 (S3 storage) | VPS cost | $4.99 (if paid yearly) |
| Consistency | Eventual | Configurable | Linearizable writes |
| Complexity | Low | Medium | Low (Managed) |
I would skip the managed database costs of traditional RDBMS when Litestream provides enough durability. For applications requiring true distributed writes and automatic failover, rqlite provides a mature clustering solution. For those needing a managed experience, Turso provides the most ease of use. If you manage rqlite yourself, you must account for the cost of the VPS instances and the time spent on cluster maintenance. This can exceed the $4.99 monthly fee of the Turso Developer plan as your team grows. Does the need for multi-node write coordination make the higher cost of a managed service worthwhile?