Litestream doesn't do SQLite replication anymore (LiteFS does)

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • InfluxDB - Access the most powerful time series database as a service
  • SonarLint - Clean code begins in your IDE with SonarLint
  • SaaSHub - Software Alternatives and Reviews
  • litefs

    FUSE-based file system for replicating SQLite databases across a cluster of machines

    It's not great. tv42 (who maintains the FUSE implementation we use) commented on it recently[1]. macOS support will be via a VFS extension in the future.

    [1]: https://github.com/superfly/litefs/issues/119#issuecomment-1...

  • litestream

    Streaming replication for SQLite.

  • InfluxDB

    Access the most powerful time series database as a service. Ingest, store, & analyze all types of time series data in a fully-managed, purpose-built database. Keep data forever with low-cost storage and superior data compression.

  • sqlite3-preload

    LD_PRELOAD hack to execute SQLite statements when an SQLite database is opened

    well they're in the best/only(?) spot to do it -- SQLite is extensible but hard to extend without the cooperation of the end-programmer, so to speak.

    Litestream (Ben) was acquihired essentially by Fly.io (so that should explain all their recent SQLite content!).

    That said, SQLite is unfortunately kind of hard to modify for external processes and while it's built very extensibly it's often not the thing you can kind of just... turn on, if that makes sense, and SQLite lives in the address space of the executing program.

    You end up with stuff like hacking LD_PRELOAD[0].

    [0]: https://github.com/cventers/sqlite3-preload

  • marmot

    A distributed SQLite replicator built on top of NATS

    A shameless plug here I've been working on a project of my own called [Marmot](https://maxpert.github.io/marmot/) with the intention of making SQLite replication masterless and eventually consistent. Project is in very early stages, and I've been using it for one of my site replicating a cache based off SQLite. It builds on top of NATS (I love NATS), and distributes itself over JetStreams.

  • rqlite

    The lightweight, distributed relational database built on SQLite

    Why not use https://github.com/rqlite/rqlite ?

    You have to write to the SQLite via the rqlite HTTP API but it will replicate the data to N nodes (at least 20) via RAFT and then others can read-only the SQLite replica files directly; and file-permissions prevent the accidental write.

  • sql

    Pure Go SQL parser (by rqlite)

    And benbjohnson wrote the SQL parser[1] rqlite uses to do all this. So you see, the man is everywhere. :-)

    [1] https://github.com/rqlite/sql

  • mvsqlite

    Distributed, MVCC SQLite that runs on FoundationDB.

    Shameless plug of my [mvSQLite](https://github.com/losfair/mvsqlite) project here! It's basically another distributed SQLite, but with support for everything expected from a proper distributed database: synchronous replication, strictly serializable transactions, + scalable reads and writes w/ multiple concurrent writers.

  • SonarLint

    Clean code begins in your IDE with SonarLint. Up your coding game and discover issues early. SonarLint is a free plugin that helps you find & fix bugs and security issues from the moment you start writing code. Install from your favorite IDE marketplace today.

  • seafowl

    Analytical database for data-driven Web applications

    Just to follow up on this, I got it working, thanks for the help! (for anyone else interested in all the details of getting LiteFS to run with Docker Compose + a Rust SQLite client: https://github.com/splitgraph/seafowl/tree/main/examples/lit...)

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts