Skip to content

Why Walrust?

Walrust is optimized to use less memory than Litestream for SQLite replication to S3.

Walrust uses significantly less memory than Litestream, especially when watching multiple databases:

DatabasesLitestreamWalrustReduction
136 MB19 MB47%
1055 MB19 MB65%
100160 MB20 MB88%

Measured with 100KB databases on macOS, syncing to Tigris S3.

Walrust’s memory usage remains relatively constant (~19-20 MB) as database count increases, while Litestream’s memory grows with each database.

One walrust process watches all databases:

Terminal window
walrust watch \
/var/lib/data/tenant-*.db \
-b s3://backups

Or with a config file:

[s3]
bucket = "backups"
endpoint = "https://fly.storage.tigris.dev"
[[databases]]
path = "/var/lib/data/*.db"
prefix = "tenants"

Litestream is the original SQLite replication tool and the inspiration for walrust. Walrust uses the same LTX file format, which provides compatibility between the tools.

When to use Litestream:

  • Mature ecosystem and community support
  • SFTP/Azure Blob storage backends

When to use walrust:

  • Multi-database deployments (100+ databases)
  • Memory-constrained environments