# Mvsqlite - Distributed, MVCC SQLite that runs on FoundationDB

**URL:** <https://forums.foundationdb.org/t/mvsqlite-distributed-mvcc-sqlite-that-runs-on-foundationdb/3493>\
**Category:** FoundationDB Layers\
**Created:** [August 8, 2022, 10:11pm UTC](https://forums.foundationdb.org/t/mvsqlite-distributed-mvcc-sqlite-that-runs-on-foundationdb/3493 "2022-08-08T22:11:02Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![rickysaltzer](https://sea1.discourse-cdn.com/foundationdb/user_avatar/forums.foundationdb.org/rickysaltzer/32/1405_2.png) [@rickysaltzer](https://forums.foundationdb.org/u/rickysaltzer)\
**Post date:** [August 8, 2022, 10:11pm UTC](https://forums.foundationdb.org/t/mvsqlite-distributed-mvcc-sqlite-that-runs-on-foundationdb/3493/1 "2022-08-08T22:11:02Z")

</div>

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](https://www.sqlite.org/vfs.html) 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](https://github.com/losfair/mvsqlite/wiki/Commit-group)
- **Get the nice properties from FoundationDB, without its limits** : [Correctness](https://apple.github.io/foundationdb/testing.html), [really fast and scalable](https://apple.github.io/foundationdb/performance.html) distributed transactions, synchronous and asynchronous replication, integrated backup and restore. Meanwhile, there’s no [five-second transaction limit](https://apple.github.io/foundationdb/known-limitations.html) 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.

> **[GitHub - losfair/mvsqlite: Distributed, MVCC SQLite that runs on FoundationDB.](https://github.com/losfair/mvsqlite)**
>
> Distributed, MVCC SQLite that runs on FoundationDB. - GitHub - losfair/mvsqlite: Distributed, MVCC SQLite that runs on FoundationDB.
