Our great sponsors
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
Yes, FUSE adds overhead. However,
1. kernel page cache fully removes the read overhead for in-memory pages
2. There's a FUSE_PASSTHROUGH mode that removes that overhead for all reads & writes. I haven't studied exactly what writes LiteFS needs to observe (just journal vs all data writes), but at least for reads it seems to pass them straight through. We could well submit a FUSE_PASSTHROUGH_READ patch to the kernel, and use that to remove all read overhead. The patch should be trivial, since the full FUSE_PASSTHROUGH mode is there already.
Disclaimer: I wrote the FUSE framework LiteFS uses, https://bazil.org/fuse
https://source.android.com/docs/core/storage/fuse-passthroug...
Thios is distributed SQLite 3, running (I assume at least partially managed?) Litestream[0] for you. Which is pretty cool!
What I'd like to have seen is how this compares to things like rqlite[1] addressed directly in the article
[0]: https://litestream.io/
The TH3 test is proprietary and, IIRC, it might only be available to SQLite Consortium members and that's $125k/year. We do pay for SQLite support at Fly.io but not quite to that level.
We do have plans to run against the Tcl test suite[1] although most of that test suite is not applicable to LiteFS since it tests higher level constructs.
Since LiteFS acts on the raw pages, it really just functions similar to a VFS. Out of the 130K source lines of code in SQLite, only 4.8k are for the Unix VFS. As such, the testing coverage from the SQLite test suite mostly tests non-VFS code.
[1]: https://github.com/superfly/litefs/issues/17
Sound like a drop in solution to add high availability to WunderBase (https://github.com/wundergraph/wunderbase).
Related posts
- LiteSync – Easy synchronization of SQLite databases
- Ask HN: What is your distributed and fault-tolerant PostgreSQL setup?
- Litestream doesn't do SQLite replication anymore (LiteFS does)
- Good embedded database with replication support?
- The lightweight, easy-to-use, distributed relational database built on SQLite