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.