redka | sqlite | |
---|---|---|
3 | 7 | |
2,768 | 554 | |
- | - | |
9.4 | 0.0 | |
3 days ago | about 1 month ago | |
Go | C | |
BSD 3-clause "New" or "Revised" License | ISC 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.
redka
-
Redis Re-Implemented with SQLite
I've decided to use the max connections approach for now.
[1]: https://github.com/nalgeon/redka/blob/main/internal/sqlx/db....
sqlite
-
Redis Re-Implemented with SQLite
> You can get substantially better performance out of sqlite by using the lower level https://github.com/crawshaw/sqlite, turning on WAL etc, using a connection per goroutine for reads, and sending batches of writes over a buffered channel / queue to a dedicated writer thread. That way you can turn off SQLite’s built in per-connection mutex but still be thread safe since each connection is only used on a single thread at a time.
Would this protect against a row update in the middle of a read? e.g. would a row at least be internally consistent at the time it was read?
-
SQLite in Go, with and Without Cgo
The default go sqlite driver is https://github.com/mattn/go-sqlite3, which is quite lovely, but I ran into issues with concurrency on read only databases.
I'm now using https://github.com/crawshaw/sqlite and it seems to address those issues (but I haven't gotten around to setting up a proper test to confirm). It may be worth perusing if you do run into performance problems. It does come with the caveat of not being a database/sql driver though.
-
Awesome SQLite
crawshaw/sqlite - Low-level Go interface to SQLite
-
A pure Go embedded SQL database
crawshaw/sqlite actually uses CGo -- it's a wrapper around the C version of SQLite. For example, see https://github.com/crawshaw/sqlite/blob/23d646f8ac00d9dd2390...
zombiezen/go-sqlite uses cznic's pure Go converted version of SQLite, so avoids CGo. It's explicitly stated to be "a fork of crawshaw.io/sqlite that uses modernc.org/sqlite, a CGo-free SQLite package. It aims to be a mostly drop-in replacement for crawshaw.io/sqlite."
-
Are both MySQL and Postgres drivers similar in quality?
The second well known driver is https://github.com/crawshaw/sqlite
What are some alternatives?
rq - Simple job queues for Python
sqlite
SSDB - SSDB - A fast NoSQL database, an alternative to Redis
go-sqlite-lite - SQLite driver for the Go programming language
redimo.go - Use the power of DynamoDB with the ease of the Redis API
go-sqlite - Low-level Go interface to SQLite 3
pocketbase - Open Source realtime backend in 1 file
go-sqlite3 - sqlite3 driver for go using database/sql
sabledb - Ultra fast, persistent database supporting Redis API
chai - Modern embedded SQL database
ql
tcl