Esta página se muestra en inglés. Una traducción al español está en curso.
ScriptsApr 21, 2026·3 min de lectura

Litestream — Streaming Replication for SQLite

A standalone streaming replication tool for SQLite that continuously backs up your database to S3-compatible storage, enabling disaster recovery without complex infrastructure.

Introduction

Litestream is a standalone disaster-recovery tool for SQLite databases. It runs as a background process that continuously streams WAL changes to S3-compatible storage, giving SQLite the durability guarantees typically reserved for client-server databases. By pairing SQLite's simplicity with cloud-based replication, Litestream lets small teams ship production apps on a single server without sacrificing data safety.

What Litestream Does

  • Continuously replicates SQLite WAL changes to S3, GCS, Azure Blob, SFTP, or local paths
  • Provides point-in-time restore from any snapshot or WAL segment
  • Runs as a sidecar process or systemd service alongside your application
  • Supports multiple replica destinations simultaneously for redundancy
  • Operates with near-zero impact on application read/write performance

Architecture Overview

Litestream monitors the SQLite WAL (Write-Ahead Log) file and streams new pages to one or more configured replica destinations. It takes periodic snapshots of the full database and retains WAL segments between snapshots, enabling point-in-time recovery. Because it works at the WAL level rather than through SQL queries, it adds negligible overhead to database operations and requires no changes to application code.

Self-Hosting & Configuration

  • Install a single binary with no runtime dependencies
  • Configure replicas in a YAML file specifying destination URLs and retention policies
  • Run as a systemd service for automatic startup and restart
  • Set LITESTREAM_ACCESS_KEY_ID and LITESTREAM_SECRET_ACCESS_KEY for S3 auth
  • Use the Docker image for containerized deployments with sidecar pattern

Key Features

  • Sub-second replication lag for continuous data protection
  • Works with any S3-compatible backend including MinIO and Backblaze B2
  • No application code changes required; operates purely on the WAL
  • Built-in validation command to verify replica integrity
  • Supports age-based retention policies for snapshot and WAL cleanup

Comparison with Similar Tools

  • SQLite backup API — creates point-in-time copies but lacks continuous streaming
  • rqlite — distributed SQLite with Raft consensus; Litestream is simpler, single-node replication
  • LiteFS — FUSE-based distributed SQLite by the same author; Litestream focuses on backup, LiteFS on multi-node reads
  • pg_basebackup — PostgreSQL-specific; Litestream brings similar streaming concepts to SQLite
  • Turso/libSQL — managed distributed SQLite; Litestream is self-hosted and storage-agnostic

FAQ

Q: Does Litestream lock the database during replication? A: No. It reads WAL pages without acquiring locks, so your application continues to read and write normally.

Q: Can I replicate to multiple destinations? A: Yes. You can configure multiple replica targets in the YAML config, and Litestream streams to all of them simultaneously.

Q: How do I restore a database? A: Run litestream restore -o /path/to/restored.db s3://bucket/db to pull the latest snapshot and replay WAL segments.

Q: Does it work with WAL mode disabled? A: No. Litestream requires SQLite to operate in WAL mode, which is the recommended journal mode for most applications.

Sources

Discusión

Inicia sesión para unirte a la discusión.
Aún no hay comentarios. Sé el primero en compartir tus ideas.

Activos relacionados