fac-rs
LevelDB
fac-rs | LevelDB | |
---|---|---|
1 | 27 | |
8 | 35,130 | |
- | 0.5% | |
5.6 | 0.0 | |
9 months ago | 7 days ago | |
Rust | C++ | |
Apache License 2.0 | BSD 3-clause "New" or "Revised" 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...
LevelDB
-
Codebases to read
I'm partial to how cleanly written https://github.com/google/leveldb is. It is a reasonable size to fully read & grok in not too long.
-
Unpacking LSM-Trees: The Powerhouse Behind Modern Databases
[4] leveldb/doc/impl.md at main · google/leveldb. GitHub. Retrieved October 21, 2023 from https://github.com/google/leveldb/blob/main/doc/impl.md
- Bloom filter support to leveldb by Sanjay Ghemawat
- SQLite performance tuning: concurrent reads, multiple GBs and 100k SELECTs/s
-
The Witty Guide to Installing LevelDB on Ubuntu: HostRooster® Edition
git clone https://github.com/google/leveldb.git
-
Is there a lightweight, stable and embedded database library?
leveldb?
- Ask HN: What's the best source code you've read?
-
LevelDB VS ZoneTree - a user suggested alternative
2 projects | 22 Aug 2022
- Is Mongo as popular in the job world as it is with tutorial makers?
-
Open Source Databases in Go
goleveldb - Implementation of the LevelDB key/value database in Go.
What are some alternatives?
sqltorrent
RocksDB - A library that provides an embeddable, persistent key-value store for fast storage.
alasql - AlaSQL.js - JavaScript SQL database for browser and Node.js. Handles both traditional relational tables and nested JSON data (NoSQL). Export, store, and import data from localStorage, IndexedDB, or Excel.
MongoDB - The MongoDB Database
dalliance - Interactive web-based genome browser.
Redis - Redis is an in-memory database that persists on disk. The data model is key-value, but many different kind of values are supported: Strings, Lists, Sets, Sorted Sets, Hashes, Streams, HyperLogLogs, Bitmaps.
datasette - An open source multi-tool for exploring and publishing data
SQLite - Unofficial git mirror of SQLite sources (see link for build instructions)
duckdb - DuckDB is an in-process SQL OLAP Database Management System
LMDB - Read-only mirror of official repo on openldap.org. Issues and pull requests here are ignored. Use OpenLDAP ITS for issues.
apsw - Another Python SQLite wrapper
CouchDB - Seamless multi-master syncing database with an intuitive HTTP/JSON API, designed for reliability