bqb
rqlite
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.
bqb
-
Are there any decent ORMs in Golang?
But using a query builder, something like squirrel or (plug) bqb, allows you to actually write SQL (or something close to it) when you need it but also handles the nasty string building bits. Though I agree that ORMs are not always bad, especially for small projects with well-defined scope.
- Examples of Good Go Repos
-
GORM
Plug for bqb as a query builder, but there's also squirrel which works pretty well too.
-
Best packages?
(plug) bqb for very simple query building.
-
ORM vs SQL Builder in Go
Squirrel is great! Let me also plug bqb.
-
Open Source Go Projects for learning go
Plug: BQB (basic query builder) is small, 100% test coverage, and in AwesomeGo. A great starter project.
-
Where to find a virtual or local Go mentor?
I totally understand this. If you do go with a query builder, may I recommend bqb (shameless plug) as it allows you to remain closer to the SQL than some alternatives and doesn't do anything fancy. We stripped out 50% of our query logic with it in our org, which has enabled us to more readily tweak the SQL for performance.
-
Does gorm worth learning?
There's also bqb. We use it in production at our company -- much better than raw SQL. If you couple it with something like scany then you get more of the ORM benefits without the complexity.
-
Any "simple" projects with particularly well-written and/or well-documented code for a beginner to look through?
Another shameless plug: https://github.com/nullism/bqb pretty tiny query builder with 100% test coverage
-
bqb VS Squirrel - a user suggested alternative
2 projects | 9 Sep 2021
rqlite
- The lightweight, easy-to-use, distributed relational database built on SQLite
-
CursusDB – A new scalable distributed document oriented database
Seems like you could do the same with rqlite [1], since SQLite supports JSON.
[1]: https://rqlite.io
-
Rqlite 8.0
rqlite[1] creator here, happy to answer any questions about rqlite, this latest release, and how it works.
[1] https://rqlite.io
-
Adding new database engine support
I found simple distributed RQlite https://github.com/rqlite/rqlite based on raft and sqlite. How hard is to add it?
- I'm All-In on Server-Side SQLite
-
So, you want to deploy on the edge?
rqlite[1] creator here, happy to answer any questions. rqlite also supports read-only nodes, which can also help with reads at the "edge". It probably wouldn't scale to 100s of nodes, it is an option.
"rqlite supports adding read-only nodes. You can use this feature to add read scalability to the cluster if you need a high volume of reads, or want to distribute copies of the data nearer to clients – but don’t want those nodes counted towards the quorum. These types of nodes are also known as non-voting nodes."
[1] https://rqlite.io/
[2] https://rqlite.io/docs/clustering/read-only-nodes/
- LiteFS Cloud: Distributed SQLite with Managed Backups
- Show HN: Rqlite, distributed DB built on SQLite, now runs on MIPS, RISC, PowerPC
- rqlite v7.19.0: the lightweight distributed relational database built on Go, Raft, and SQLite -- now runs on MIPS, PowerPC, and RISC
- rqlite v7.18: the lightweight distributed database built on Go, Raft, and SQLite -- now with new Unified HTTP endpoint for easy reads and writes
What are some alternatives?
Squirrel - Fluent SQL generation for golang
dqlite - Embeddable, replicated and fault-tolerant SQL engine.
goqu - SQL builder and query library for golang
litestream - Streaming replication for SQLite.
pgweb - Cross-platform client for PostgreSQL databases
cockroach - CockroachDB - the open source, cloud-native distributed SQL database.
Tile38 - Real-time Geospatial and Geofencing
bolt
etcd - Distributed reliable key-value store for the most critical data of a distributed system [Moved to: https://github.com/etcd-io/etcd]
badger - Fast key-value DB in Go.
TinyGo - Go compiler for small places. Microcontrollers, WebAssembly (WASM/WASI), and command-line tools. Based on LLVM.