Mvsqlite - Distributed, MVCC SQLite that runs on FoundationDB

Apologies if this has already been discussed, but I saw this come across HN last week and thought you all would find it really interesting. It appears to be fairly new, but looks to be a really promising layer addition.

Features

  • Full feature-set from SQLite: mvsqlite integrates with SQLite using a custom VFS layer.
  • Time travel: Checkout the snapshot of your database at any point of time in the past.
  • Zero-overhead multi-database transactions: While each SQLite database remains single-writer, you can horizontally scale your application with multi-database strictly serializable transactions without additional overhead. How to use
  • Get the nice properties from FoundationDB, without its limits: Correctness, really fast and scalable distributed transactions, synchronous and asynchronous replication, integrated backup and restore. Meanwhile, there’s no five-second transaction limit any more, and a SQLite transaction can be ~39x larger than FDB’s native transaction.
  • Drop-in replacement: Set the LD_PRELOAD=libmvsqlite_preload.so environment variable and your existing apps will work out of the box.
6 Likes