A pure Go embedded SQL database
gitlab.com
gitlab.com
For sqlite it might not matter too much, since any query does quite a bit of work.
https://github.com/crawshaw/sqlite https://github.com/zombiezen/go-sqlite
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."
BTW, modernc.org/sqlite (by the same author) is a port of SQLite to native Go. I've used it with great success for a few personal projects. Before that, I used the go-sqlite package, which needs CGO, and makes it hard to build static executables.
For one, are you ready to write tests the way SQLite does?
Ignoring that leads to long postmortems about how your embedded db failed in a way you didn’t expect: https://blog.roblox.com/2022/01/roblox-return-to-service-10-...
SQLite is good
Rocksdb is good
You don’t need pure go.
His paycheck alone should be tens of millions of dollars.
He should be making so much money that if he'd drop a 100 dollar bill it wouldn't be worth his time to pick it up.
https://github.com/etcd-io/bbolt is another pure go option.
cznic seems like an alternative to bbolt. nice to have some options.
as far as sqlite3 is concerned, pure-go option we indeed only have this cznic available, which is nice.
Its pretty clear you dont know what youre talking about. It literally says its SQL in the title, you know that big bar at the top of your screen:
> Document-oriented, embedded SQL database
There's of course safety issues with C, but sqlite is one of the most rigorously tested sw packages out there.
for go-sqlite3 you still need native sqlite3 preinstalled on the OS, which is OK for developers but not for many ordinary users.