sqlite | chai | |
---|---|---|
7 | 13 | |
554 | 1,468 | |
- | 2.3% | |
0.0 | 8.5 | |
12 days ago | about 2 months ago | |
C | Go | |
ISC License | 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.
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
chai
-
Polygon: Json Database System designed to run on small servers (as low as 16MB) and still be fast and flexible.
Some example of embeddable database could be genji, badger and boltdb
- Resource for making database from scratch
-
Databases: 2021 in Review and Predictions for 2022
I keep reaching for SQLite and it keeps working. Although I've been needing a better review of what other embedded databases I should be considering in 2022. I tried Genji[1] recently and tore it out as it wasn't doing ORDER BY with multiple columns.
1. https://genji.dev/
- Genji – Document-oriented, embedded SQL database written in Go
-
Open Source Databases in Go
Genji is a document-oriented, embedded, SQL database. It is build over Pebble which is a port of RocksDB in Go, by the authors of CockroachDB.
-
Looking for: library to turn SQL (or abstracted) to code & execute against custom backend (slice of structs)
Use sth like https://github.com/genjidb/genji, which is an embedded DB with SQL
-
Embedded database options
Another option could be also Genji - https://github.com/genjidb/genji
-
Alternative to MongoDB?
There is Genji, this is a document-oriented embedded SQL database written in Go. It's still a work in progress though, but it looks great!
- A pure Go embedded SQL database
- Which Go database/storage package do you go for first when your program needs to store a moderate amount of organized data?
What are some alternatives?
sqlite
go-sqlite-lite - SQLite driver for the Go programming language
awesome-go-storage - A curated list of awesome Go storage projects and libraries
go-sqlite - Low-level Go interface to SQLite 3
ent - An entity framework for Go
go-sqlite3 - sqlite3 driver for go using database/sql
rqlite - The lightweight, distributed relational database built on SQLite.
ql
tcl
badger - Fast key-value DB in Go.