fac-rs
alasql
fac-rs | alasql | |
---|---|---|
1 | 4 | |
8 | 6,895 | |
- | 0.3% | |
5.6 | 9.0 | |
9 months ago | 3 days 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.
fac-rs
-
Hosting SQLite databases on GitHub Pages (or any static file hoster)
I wrote a similar thing in Rust for a Factorio mod manager - mods are hosted on the remote HTTP server as ZIP files and the mod manager needs a single info.json file from the ZIP for the mod metadata, so it avoids downloading the whole mod and then unpacking it by building a file abstraction that uses HTTP range queries to download chunks. For ZIP files the directory is stored at the end at an unknown offset, so the read pattern is to gradually seek backwards from the end until you find the start of the directory, then find the file entry, then read the file.
I didn't fiddle with the window sizes like the TFA, but I did optimize it so that reading chunk N+1 of the file reused the response readed of chunk N rather than making a new request. Furthermore I keep an LRU cache of the last three chunks rather than keep all of them in memory, because the ZIP files are each only read once.
[1]: https://github.com/Arnavion/fac-rs/blob/master/src/solve/web...
[2]: https://github.com/Arnavion/fac-rs/blob/master/src/solve/zip...
alasql
- AlaSQL Db for Browser and Node
- Alasql.js – JavaScript SQL database for browser and Node.js
- Let's write a compiler, part 5: A code generator
-
Hosting SQLite databases on GitHub Pages (or any static file hoster)
For similar results, you can use SQL with IndexedDB running fully client-side: https://github.com/agershun/alasql
What are some alternatives?
sqltorrent
sql.js-httpvfs - Hosting read-only SQLite databases on static file hosters like Github Pages
LevelDB - LevelDB is a fast key-value storage library written at Google that provides an ordered mapping from string keys to string values.
sqlparse - A non-validating SQL parser module for Python
dalliance - Interactive web-based genome browser.
zetasql - ZetaSQL - Analyzer Framework for SQL
datasette - An open source multi-tool for exploring and publishing data
go-mysql-server - A MySQL-compatible relational database with a storage agnostic query engine. Implemented in pure Go.
duckdb - DuckDB is an in-process SQL OLAP Database Management System
JSqlParser - JSqlParser parses an SQL statement and translate it into a hierarchy of Java classes. The generated hierarchy can be navigated using the Visitor Pattern
apsw - Another Python SQLite wrapper