Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality. Learn more →
Top 23 Go SQL Projects
-
tidb
TiDB is an open-source, cloud-native, distributed, MySQL-Compatible database for elastic scale and real-time analytics. Try AI-powered Chat2Query free at : https://tidbcloud.com/free-trial
It's MySQL-Compatible database for scale and real-time analytics https://github.com/pingcap/tidb
-
CockroachDB - SQL
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
Project mention: What I Talk About When I Talk About Query Optimizer (Part 1): IR Design | news.ycombinator.com | 2024-01-29
We implemented a query optimizer with a flexible intermediate representation in pure Go:
https://github.com/dolthub/go-mysql-server
Getting the IR correct so that it's both easy to use and flexible enough to be useful is a really interesting design challenge. Our primary abstraction in the query plan is called a Node, and is way more general than the IR type described in the article from OP. This has probably hurt us: we only recently separated the responsibility to fetch rows into its own part of the runtime, out of the IR -- originally row fetching was coupled to the Node type directly.
This is also the query engine that Dolt uses:
https://github.com/dolthub/dolt
But it has a plug-in architecture, so you can use the engine on any data source that implements a handful of Go interface.
-
Project mention: The lightweight, easy-to-use, distributed relational database built on SQLite | news.ycombinator.com | 2024-02-23
-
go-sql-driver/mysql
Go MySQL Driver is a MySQL driver for Go's (golang) database/sql package (by go-sql-driver)
IDE: use whatever make you productive. I personally use vscode. VCS: git, as golang communities use github heavily as base for many libraries. AFAIK Linter: use staticcheck for linting as it looks like mostly used linting tool in go, supported by many also. In Vscode it will be recommended once you install go plugin. Libraries/Framework: actually the standard libraries already included many things you need, decent enough for your day-to-day development cycles(e.g. `net/http`). But here are things for extra: - Struct fields validator: validator - Http server lib: chi router , httprouter , fasthttp (for non standard http implementations, but fast) - Web Framework: echo , gin , fiber , beego , etc - Http client lib: most already covered by stdlib(net/http), so you rarely need extra lib for this, but if you really need some are: resty - CLI: cobra - Config: godotenv , viper - DB Drivers: sqlx , postgre , sqlite , mysql - nosql: redis , mongodb , elasticsearch - ORM: gorm , entgo , sqlc(codegen) - JS Transpiler: gopherjs - GUI: fyne - grpc: grpc - logging: zerolog - test: testify , gomock , dockertest - and many others you can find here
-
$ curl -L https://github.com/golang-migrate/migrate/releases/download/$version/migrate.$os-$arch.tar.gz | tar xvz
-
"Is there a way to get sqlc to use pointers for nullable columns instead of the sql.Null types?"
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
bytebase
The GitLab/GitHub for database DevOps. World's most advanced database DevOps and CI/CD for Developer, DBA and Platform Engineering teams.
Project mention: Resend – Incident report for February 21st, 2024 | news.ycombinator.com | 2024-02-23We have been working on bytebase (https://github.com/bytebase/bytebase) for 3+ years to address this. With a change review workflow, environment propagations, and try not to disturb the dev flow if possible.
-
-
Project mention: xo/usql: Universal command-line interface for SQL databases | /r/devel | 2023-06-08
-
immudb
immudb - immutable database based on zero trust, SQL/Key-Value/Document model, tamperproof, data change history
Project mention: Ask HN: What is your experience of tamper proof systems? | news.ycombinator.com | 2024-01-05 -
Readers may also enjoy Steampipe [1], an open source CLI to live query Google Sheets [2] and 140+ other services with SQL (e.g. AWS, GitHub, etc). It uses Postgres Foreign Data Wrappers under the hood and supports joins etc across the services. (Disclaimer - I'm a lead on the project.)
-
Project mention: How do you unit-test code that reaches out to the db, without introducing interfaces everywhere? | /r/golang | 2023-08-16
-
-
Project mention: We might want to regularly keep track of how important each server is | news.ycombinator.com | 2024-02-06
Check out CloudQuery - https://github.com/cloudquery/cloudquery for an easy cloud asset inventory.
-
In v3.16.0 we added a new Provider feature that unlocks the ability to implement a lot of highly requested features. More details in the blog post:
-
octosql
OctoSQL is a query tool that allows you to join, analyse and transform data from multiple databases and file formats using SQL.
Project mention: Wazero: Zero dependency WebAssembly runtime written in Go | news.ycombinator.com | 2023-07-01Never got it to anything close to a finished state, instead moving on to doing the same prototype in llvm and then cranelift.
That said, here's some of the wazero-based code on a branch - https://github.com/cube2222/octosql/tree/wasm-experiment/was...
It really is just a very very basic prototype.
-
xo
Command line tool to generate idiomatic Go code for SQL databases supporting PostgreSQL, MySQL, SQLite, Oracle, and Microsoft SQL Server (by xo)
Project mention: Open-sourcing SQX, a way to build flexible database models in Go | news.ycombinator.com | 2023-09-02i like xo's approach https://github.com/xo/xo but it is as is. I would love if something similar comes along that is used by db practititoners that is actively used and supported.
-
upper.io/db
Data access layer for PostgreSQL, CockroachDB, MySQL, SQLite and MongoDB with ORM-like features.
-
You might want to look at tsv-utils, or a similar project: https://github.com/eBay/tsv-utils
For the SQL part, but maybe a lot heavier, you can use one of the projects listed on this page: https://github.com/multiprocessio/dsq (No longer maintained, but has links to lots of other projects)
-
mergestat-lite
Query git repositories with SQL. Generate reports, perform status checks, analyze codebases. 🔍 📊
-
-
cloudnative-pg
CloudNativePG is a Kubernetes operator that covers the full lifecycle of a PostgreSQL database cluster with a primary/standby architecture, using native streaming replication
My holiday project was doing another pass at my Homelab Kubernetes cluster, part of which involved switching to a proper operator to manage Postgres. Coincidentally, I setup cloudnative-pg (https://github.com/cloudnative-pg/cloudnative-pg) yesterday.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Go SQL related posts
- Show HN: Query Your Sheets with SheetSQL
- Give Up Sooner
- Osquery: An sqlite3 virtual table exposing operating system data to SQL
- Show HN: I built jq-like scriptable tool to query CSV and JSON with SQLite
- How to run an AWS CIS v3.0 assessment in CloudShell
- We might want to regularly keep track of how important each server is
- Git Query Language
-
A note from our sponsor - InfluxDB
www.influxdata.com | 19 Mar 2024
Index
What are some of the best open-source SQL projects in Go? This list will help you:
Project | Stars | |
---|---|---|
1 | tidb | 35,879 |
2 | cockroach | 28,797 |
3 | dolt | 16,610 |
4 | rqlite | 14,703 |
5 | go-sql-driver/mysql | 14,061 |
6 | migrate | 13,672 |
7 | sqlc | 10,445 |
8 | bytebase | 9,722 |
9 | go-clean-arch | 8,562 |
10 | usql | 8,529 |
11 | immudb | 8,450 |
12 | steampipe | 6,309 |
13 | go-sqlmock | 5,759 |
14 | go-pg | 5,553 |
15 | cloudquery | 5,505 |
16 | goose | 5,357 |
17 | octosql | 4,675 |
18 | xo | 3,536 |
19 | upper.io/db | 3,463 |
20 | dsq | 3,462 |
21 | mergestat-lite | 3,406 |
22 | sql-migrate | 3,063 |
23 | cloudnative-pg | 3,039 |