Our great sponsors
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.
go-sqlite
-
JSON Canvas – An open file format for infinite canvas data
Check out https://github.com/zombiezen/go-sqlite if you're interested in trying out Sqlite in Go again. Nice interface, negligible compile time impact, fast, compiles without CGO. It's very comfortable.
I agree that going from text to sqlite is a bit of a hurdle, especially if you're not writing C :)
-
Jsonfile: A Quick Hack for Tinkering
struggling figuring out how to make my cgo sqlite cross-compile to Windows
Plenty of people trying to fix that.
There's at least:
https://modernc.org/sqlite
Then there's https://github.com/zombiezen/go-sqlite that actually builds https://crawshaw.io/sqlite on top of modernc.
And there's mine that has both a low level and a database/sql driver builds and runs everywhere Go does: https://github.com/ncruces/go-sqlite3
-
Any Full Text Search library for json data?
There are several different Go bindings for SQLite. I maintain https://pkg.go.dev/zombiezen.com/go/sqlite
-
What’s your preferred setup to work with SQL DB (without ORM) ?
I like and use https://github.com/zombiezen/go-sqlite for CGo-free SQLite. It avoids some of the problems database/sql has, discussed here: https://crawshaw.io/blog/go-and-sqlite.
- SQLite in Go, with and Without Cgo
- A pure Go embedded SQL database
-
Containerize Go and SQLite with Docker – 9MB Image Size
> C libraries are required to interact with SQLite
Or: modernc.org/sqlite (https://github.com/zombiezen/go-sqlite), "an automatically generated translation of the original C source code of SQLite into Go"
- Gokrazy – A Native Go Userland
-
Library for sqlite3 recommendations?
https://pkg.go.dev/modernc.org/sqlite via https://pkg.go.dev/zombiezen.com/go/sqlite
-
New advanced, CGo-free SQLite package
modernc.org/sqlite provides a database/sql driver, but does not (currently) provide an easy way to get at the more advanced functionality of SQLite, like streaming blob I/O or user-defined functions. David Crawshaw has argued that the database/sql API is not a good fit for SQLite, which is how crawshaw.io/sqlite came about.
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?
go-sqlite3 - sqlite3 driver for go using database/sql
sqlite
bbolt - An embedded key/value database for Go.
go-sqlite-lite - SQLite driver for the Go programming language
distroless - 🥑 Language focused docker images, minus the operating system.
bun - SQL-first Golang ORM
chai - Modern embedded SQL database
bun - Incredibly fast JavaScript runtime, bundler, test runner, and package manager – all in one
ql
tcl