mvsqlite
datasette-stripe
Our great sponsors
mvsqlite | datasette-stripe | |
---|---|---|
26 | 6 | |
1,318 | 20 | |
- | - | |
0.0 | 0.0 | |
7 days ago | almost 2 years ago | |
Rust | JavaScript | |
Apache License 2.0 | MIT License |
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.
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.
datasette-stripe
-
Zed Shaw Explains How Stripe Is PayPal Circa 2010
If you want to analyse your payment failures with SQL you could use https://table.dog to download them into a SQLite database.
-
SQLite is not a toy database
https://table.dog is a CLI that downloads your Stripe account to a SQLite db.
Would appreciate it if you could test it out if you are interested.
-
Rust 1.63.0
https://table.dog (a CLI to download Stripe to SQLite).
I considered Node.js, C#.
I went with Rust for a few reasons:
- Easy to build small portable binaries (as a primary language feature).
- The type checker ensures type consistency when writing out to SQL tables (SQLite is loosely typed). Code that reads from the SQLite database implicitly benefits from Rusts strong type checks.
- Macros to convert structs to SQL insert/updates.
- Reduce the chance of errors at runtime.
- Leverage as much as SQLite's write throughput as possible.
- When converting Stripes Open API JSON spec into Rust code (using another Node.js program), the Rust type checker ensures I have a well formed HTTP client - the strict compiler makes it a good target for generated programs. Read more about this idea at (https://willcrichton.net/notes/rust-the-new-llvm/).
-
Show HN: Tdog – Download Stripe to SQLite
This is a CLI written in Rust to download your Stripe account to a local SQLite database.
It is intended to enable using SQL queries over your data.
There is also a template for fly.io and Datasette to give you a Sigma like web UI:
https://github.com/tabledog/datasette-stripe
- Show HN: Stripe Sigma alternative: tdog – SQLite – Datasette
What are some alternatives?
awesome-sqlite - A curated list of awesome things related to SQLite
enarx - Enarx: Confidential Computing with WebAssembly
dqlite - Embeddable, replicated and fault-tolerant SQL engine.
sqlitedao - Simple dao for sqlite for personal/desktop projects
litefs - FUSE-based file system for replicating SQLite databases across a cluster of machines
tokio-scoped - Scoped Runtime for tokio
rqlite - The lightweight, distributed relational database built on SQLite.
subscription-use-cases - Create subscriptions with fixed prices or usage based billing.
blueboat - All-in-one, multi-tenant serverless JavaScript runtime.
parquet-wasm - Rust-based WebAssembly bindings to read and write Apache Parquet data
fdb-document-layer - A document data model on FoundationDB, implementing MongoDB® wire protocol
transmitic - Encrypted, peer to peer, file transfer program :: https://discord.gg/tRT3J6T :: https://www.reddit.com/r/transmitic/ :: https://twitter.com/transmitic