sqld
mvsqlite
sqld | mvsqlite | |
---|---|---|
9 | 26 | |
917 | 1,324 | |
- | - | |
9.6 | 0.0 | |
7 months ago | 5 days ago | |
Rust | Rust | |
MIT License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
sqld
-
LiteFS Cloud: Distributed SQLite with Managed Backups
There's https://github.com/libsql/sqld , but sqlite's concurrency model doesn't always work well with long-lived transactions (and just the network hop can be slower than a local transaction), especially if you want to write.
-
Get started with libSQL, a next-gen fork of SQLite
For instructions on how to build sqld from source, see the docs.
- Help me sell sqlite to my boss
-
Litestream is awesome for backing up sqlite databases
I also discovered https://github.com/libsql/sqld/ which provides similar functionality ("Bottomless replication"), and exposes the database over the network via the Postgres protocol. I haven't played with this yet, but it would be neat to try running some apps that require Postgres with this.
-
Early impressions of Turso, the edge database from ChiselStrike
There are some language-specific clients suited for data transaction with a Turso database, such as @libsql/client for TypeScript, libsql-client for Python, and libsql-client for Rust(currently works with Cloudflare workers), but for simplicity, we’re going to use curl scripts. We’ll interact with the database by sending HTTP POST requests containing the JSON-encoded SQL queries that we’d otherwise run on the SQL shell as already demonstrated. By supporting database interaction via the HTTP protocol, Turso guarantees easy access from all types of applications, especially edge functions.
-
SQLite-based databases on the Postgres protocol? Yes we can
- And you can embed it in your application and it will really talk to a "SQLite" database over the network: https://github.com/libsql/sqld (not a lot on consistency, I wonder how multiple writers are handled?)
- In 3 months, libsql released WASM functions, S3 WAL and network database sqld
- Sqld – a server mode for libSQL (SQLite fork) using the PostgreSQL wire protocol
- Sqld is a server mode for libSQL
mvsqlite
-
FoundationDB: A Distributed Key-Value Store
I’ve been using FDB for toy projects for a while. It’s truly rock solid. That being said, I wish there were more layers.
Ideally someone could implement the firestore or dynamodb api on top.
https://github.com/losfair/mvsqlite
-
Go bindings to SQLite using Wazero
For the rough plan, it's Cloud Backed SQLite meets FoundationDB.
-
SQLite-based databases on the Postgres protocol? Yes we can
- Oh, and if you're wondering about backup to S3, they have that too: https://github.com/libsql/bottomless
- Uh, sqld can integrated with this https://github.com/losfair/mvsqlite, so now your SQLite is backed by FoundationDB!?
- Meanwhile Litestream exists https://github.com/benbjohnson/litestream/
- We Built Fly Postgres
-
Litestream doesn't do SQLite replication anymore (LiteFS does)
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.
-
SQLite: QEMU All over Again?
This project looks really exciting!
I'm working on mvsqlite [1], a distributed SQLite based on FoundationDB. When doing the VFS integration I have always wanted to patch SQLite itself, but didn't because of uncertainty around correctness of the patched version...
A few features on my wishlist:
1. Asynchronous I/O. mvsqlite is currently doing its own prefetch prediction that is not very accurate. I assume higher layers in SQLite have more information that can help with better prediction.
2. Custom page allocator. SQLite internally uses a linked list to manage database pages - this causes contention on any two transactions that both allocate or free pages.
3. Random ROWID, without the `max(int64)` row trick. Sequentially increasing ROWIDs is a primary source of contention, and causes significant INSERT slowdown in my benchmark [2].
[1] https://github.com/losfair/mvsqlite
[2] https://univalence.me/posts/mvsqlite-bench-20220930
- Show HN: mvSQLite v0.2
- mvsqlite: Distributed SQLite built on FoundationDB
-
Show HN: Query SQLite files stored in S3
That DynamoDB VFS looks cool! I agree that the VFS api makes one think about plenty of crazy ideas. Someone is working on a VFS based on Foundation DB[0] that looks very promising. It was recently discussed here[1]
[0]: https://github.com/losfair/mvsqlite
[1]: https://news.ycombinator.com/item?id=32269287
- GitHub - losfair/mvsqlite: Distributed, MVCC SQLite that runs on FoundationDB.
What are some alternatives?
litefs-js - JavaScript utilities for working with LiteFS on Fly.io
dqlite - Embeddable, replicated and fault-tolerant SQL engine.
mycelite - Mycelite is a SQLite extension that allows you to synchronize changes from one instance of SQLite to another.
awesome-sqlite - A curated list of awesome things related to SQLite
StorX - PHP library for flat-file data storage
litefs - FUSE-based file system for replicating SQLite databases across a cluster of machines
StorX-API - A REST API for StorX
rqlite - The lightweight, distributed relational database built on SQLite.
stream-sqlite - Python function to extract rows from a SQLite file while iterating over its bytes
datasette-stripe - A web SQL interface to your Stripe account using Datasette.
donutdb - Store and query a sqlite db directly backed by DynamoDB.
blueboat - All-in-one, multi-tenant serverless JavaScript runtime.