Go Database

Open-source Go projects categorized as Database

Top 23 Go Database Projects

  • GitHub repo prometheus

    The Prometheus monitoring system and time series database.

    Project mention: How should I set up monitoring on web APIs? | reddit.com/r/sre | 2021-03-06

    Prometheus Might be a good choice for you. I've used this with c# and the app.metrics library before and it was a pretty comprehensive solution for our monitoring needs. The only issue is that it is pull based instead of push based so you need to implement some sort of service discovery if your services scale up and down. With kubernetes there is the prometheus operator which will just work, otherwise you're going to have to use consul or something.

  • GitHub repo etcd

    Distributed reliable key-value store for the most critical data of a distributed system

    Project mention: Protocol Buffers | reddit.com/r/golang | 2021-03-02
  • GitHub repo tidb

    TiDB is an open source distributed HTAP database compatible with the MySQL protocol

    Project mention: Gopher Gold #21 - Wed Nov 25 2020 | dev.to | 2020-11-24

    pingcap/tidb (Go): TiDB is an open source distributed HTAP database compatible with the MySQL protocol

  • GitHub repo InfluxDB

    Scalable datastore for metrics, events, and real-time analytics

    Project mention: Cannot set the Window Period when creating a check in the Alerts page. Anybody else having this issue? Just greyed out on the auto setting... Using v2.0.3 docker image | reddit.com/r/influxdb | 2021-01-19

    Can you file an issue on https://github.com/influxdata/influxdb/issues? That way I can have an engineer look into it

  • GitHub repo cockroach

    CockroachDB - the open source, cloud-native distributed SQL database.

    Project mention: My Ruby on Rails stack for side projects in 2021 | dev.to | 2021-03-01

    Use a relational database such as PostgreSQL or MySQL. I do not recommend using document databases such as MongoDB because there is really no reason for it in my opinion. PostgreSQL is plenty fast and you probably won't need things like horizontal scaling for a side project. You can of course try something fancy like FaunaDB, CockroachDB, or any of the many database flavors.

  • GitHub repo dgraph

    Native GraphQL Database with graph backend

    Project mention: What is the difference between mySQL and PostgreSQL | reddit.com/r/webdev | 2021-02-16

    (DGraph)https://dgraph.io/ recently has pivoted and is now offering some degree of GraphQL natively supported as a query language to their database, but I found their documentation to be incomplete for the time being.

  • GitHub repo jaeger

    CNCF Jaeger, a Distributed Tracing Platform

    Project mention: Go, Kafka, gRPC and MongoDB microservice with metrics and tracing 👋 | dev.to | 2021-02-28

    This article about tries to implement of clean architecture microservice using: 🚀 Kafka as messages broker gRPC Go implementation of gRPC MongoDB as database Jaeger open source, end-to-end distributed tracing Prometheus monitoring and alerting Grafana for to compose observability dashboards with everything from Prometheus

  • GitHub repo vitess

    Vitess is a database clustering system for horizontal scaling of MySQL.

    Project mention: Why Uber Engineering Switched from Postgres to MySQL | news.ycombinator.com | 2021-02-27
  • GitHub repo go-sql-driver/mysql

    Go MySQL Driver is a MySQL driver for Go's (golang) database/sql package (by go-sql-driver)

    Project mention: Web Development in Go: Middleware, Templating, Databases & Beyond | dev.to | 2021-01-27

    For example, here's how to use the MySQL driver package with database/sql:

  • GitHub repo groupcache

    groupcache is a caching and cache-filling library, intended as a replacement for memcached in many cases.

    Project mention: Can you recommend open source projects with small codebase, but with high benefits for learning? | reddit.com/r/golang | 2021-02-22
  • GitHub repo badger

    Fast key-value DB in Go.

  • GitHub repo rqlite

    The lightweight, distributed relational database built on SQLite

    Project mention: Many Small Queries Are Efficient in SQLite | news.ycombinator.com | 2021-02-15
  • GitHub repo TinyGo

    Go compiler for small places. Microcontrollers, WebAssembly, and command-line tools. Based on LLVM.

    Project mention: The first time I coded in Go | reddit.com/r/ProgrammerHumor | 2021-01-15

    there's also TinyGo, though it's more specialized and doesn't support everything within the language (yet?).

  • GitHub repo noms

    The versioned, forkable, syncable database

    Project mention: Dolt is Git for Data: a SQL database that you can fork, clone, branch, merge | news.ycombinator.com | 2021-03-06

    Noms might be what you’re looking for (https://github.com/attic-labs/noms). Dolt is actually a fork of Noms.

  • GitHub repo Tile38

    Real-time Geospatial and Geofencing

  • GitHub repo pgweb

    Cross-platform client for PostgreSQL databases

  • GitHub repo migrate

    Database migrations. CLI and Golang library.

    Project mention: Go Tools: For database schema migrations | dev.to | 2021-02-22

    Filesystem, reads from filesystem, or

  • GitHub repo kingshard

    A high-performance MySQL proxy

  • GitHub repo go-cache

    An in-memory key:value store/cache (similar to Memcached) library for Go, suitable for single-machine applications.

    Project mention: In-memory caching solutions | reddit.com/r/golang | 2021-02-01

    Though pretty simple but have a look at https://github.com/patrickmn/go-cache

  • GitHub repo BigCache

    Efficient cache for gigabytes of data written in Go.

  • GitHub repo go-pg

    Golang ORM with focus on PostgreSQL features and performance

    Project mention: A Proposal for Adding Generics to Go | news.ycombinator.com | 2021-01-12

    This one is mostly excellent: https://github.com/go-pg/pg

  • GitHub repo bbolt

    An embedded key/value database for Go.

    Project mention: But how, exactly, databases use mmap? | dev.to | 2021-01-20

    The original bolt repository is no longer maintained. A fork of bolt called bbolt is maintained and used by etcd. If you are not familiar with bolt, I recommend the articles Intro to BoltDB: Painless Performant Persistence and Bolt — an embedded key/value database for Go .

  • GitHub repo goleveldb

    LevelDB key/value database in Go.

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2021-03-06.


What are some of the best open-source Database projects in Go? This list will help you:

Project Stars
1 prometheus 35,591
2 etcd 34,943
3 tidb 26,998
4 InfluxDB 20,817
5 cockroach 20,003
6 dgraph 15,490
7 jaeger 12,918
8 vitess 11,462
9 go-sql-driver/mysql 10,557
10 groupcache 9,856
11 badger 8,910
12 rqlite 7,803
13 TinyGo 7,579
14 noms 7,351
15 Tile38 7,283
16 pgweb 6,785
17 migrate 5,949
18 kingshard 5,586
19 go-cache 4,757
20 BigCache 4,685
21 go-pg 4,433
22 bbolt 4,185
23 goleveldb 4,160