Awesome Go

Database

100+ libraries in this category

prometheus

Monitoring system and time series database

67,562DatabaseDatabases Implemented in Go
Milvus

Milvus is a vector database for embedding management, analytics and search

46,647DatabaseDatabases Implemented in Go
tidb

TiDB is a distributed SQL database. Inspired by the design of Google F1

40,733DatabaseDatabases Implemented in Go
cockroach

Scalable, Geo-Replicated, Transactional Datastore

32,618DatabaseDatabases Implemented in Go
influxdb

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

31,810DatabaseDatabases Implemented in Go
dolt

Dolt – It's Git for Data

24,873DatabaseDatabases Implemented in Go
dgraph

Scalable, Distributed, Low Latency, High Throughput Graph Database

21,828DatabaseDatabases Implemented in Go
vitess

vitess provides servers and tools which facilitate scaling of MySQL databases for large scale web services

21,418DatabaseDatabase Tools
migrate

Database migrations. CLI and Golang library

19,032DatabaseDatabase Schema Migration
sqlc

Generate type-safe code from SQL

18,456DatabaseSQL Query Builders
VictoriaMetrics

fast, resource-effective and scalable open source time series database. May be used as long-term remote storage for Prometheus. Supports PromQL

18,097DatabaseDatabases Implemented in Go
rqlite

The lightweight, distributed, relational database built on SQLite

17,943DatabaseDatabases Implemented in Go
badger

Fast key-value store in Go

15,813DatabaseDatabases Implemented in Go
bytebase

Safe database schema change and version control for DevOps teams

14,705DatabaseDatabase Schema Migration
groupcache

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

13,338DatabaseCaches
goose

Database migration tool. You can manage your database's evolution by creating incremental SQL or Go scripts

11,694DatabaseDatabase Schema Migration
DiceDB

An open-source, fast, reactive, in-memory database optimized for modern hardware. Higher throughput and lower median latencies, making it ideal for modern workloads

10,776DatabaseDatabases Implemented in Go
bbolt

An embedded key/value database for Go

9,826DatabaseDatabases Implemented in Go
pgweb

Web-based PostgreSQL database browser

9,557DatabaseDatabase Tools
immudb

immudb is a lightweight, high-speed immutable database for systems and applications written in Go

9,052DatabaseDatabases Implemented in Go
atlas

A Database Toolkit. A CLI designed to help companies better work with their data

8,820DatabaseDatabase Schema Migration
BigCache

Efficient key/value cache for gigabytes of data

8,179DatabaseCaches
Squirrel

Go library that helps you build SQL queries

7,986DatabaseSQL Query Builders
dbmate

A lightweight, framework-agnostic database migration tool

7,540DatabaseDatabase Schema Migration
ristretto

A high performance memory-bound Go cache

7,012DatabaseCaches
goleveldb

Implementation of the [LevelDB](https://github.com/google/leveldb) key/value database in Go

6,317DatabaseDatabases Implemented in Go
pebble

RocksDB/LevelDB inspired key-value database in Go

6,091DatabaseDatabases Implemented in Go
go-mysql

Go toolset to handle MySQL protocol and replication

4,976DatabaseDatabase Tools
rosedb

An embedded k-v database based on LSM+WAL, supports string, list, hash, set, zset

4,889DatabaseDatabases Implemented in Go
buntdb

Fast, embeddable, in-memory key/value database for Go with custom indexing and spatial support

4,871DatabaseDatabases Implemented in Go
pREST

Simplify and accelerate development, ⚡ instant, realtime, high-performance on any Postgres application, existing or new

4,632DatabaseDatabase Tools
redka

Redis re-implemented with SQLite

4,569DatabaseDatabases Implemented in Go
ledisdb

Ledisdb is a high performance NoSQL like Redis based on LevelDB

4,113DatabaseDatabases Implemented in Go
xo

Generate idiomatic Go code for databases based on existing schema definitions or custom queries supporting PostgreSQL, MySQL, SQLite, Oracle, and Microsoft SQL Server

3,899DatabaseSQL Query Builders
jet

Framework for writing type-safe SQL queries in Go, with ability to easily convert database query result into desired arbitrary object structure

3,833DatabaseSQL Query Builders
godis

A Golang implemented high-performance Redis server and cluster

3,828DatabaseDatabases Implemented in Go
nutsdb

Nutsdb is a simple, fast, embeddable, persistent key/value store written in pure Go. It supports fully serializable transactions and many data structures such as list, set, sorted set

3,585DatabaseDatabases Implemented in Go
sql-migrate

Database migration tool. Allows embedding migrations into the application using go-bindata

3,415DatabaseDatabase Schema Migration
LinDB

LinDB is a scalable, high performance, high availability distributed time series database

3,066DatabaseDatabases Implemented in Go
gocache

A complete Go cache library with multiple stores (memory, memcache, redis, ...), chainable, loadable, metrics cache and more

2,891DatabaseCaches
GCache

Cache library with support for expirable Cache, LFU, LRU and ARC

2,728DatabaseCaches
tiedot

Your NoSQL database powered by Golang

2,724DatabaseDatabases Implemented in Go
otter

A high performance lockless cache for Go. Many times faster than Ristretto and friends

2,712DatabaseCaches
goqu

Idiomatic SQL builder and query library

2,677DatabaseSQL Query Builders
fastcache

fast thread-safe inmemory cache for big number of entries. Minimizes GC overhead

2,373DatabaseCaches
lotusdb

Fast k/v database compatible with lsm and b+tree

2,257DatabaseDatabases Implemented in Go
cache2go

In-memory key:value cache which supports automatic invalidation based on timeouts

2,151DatabaseCaches
gendry

Non-invasive SQL builder and powerful data binder

1,631DatabaseSQL Query Builders
CovenantSQL

CovenantSQL is a SQL database on blockchain

1,532DatabaseDatabases Implemented in Go
soda

Database migration, creation, ORM, etc... for MySQL, PostgreSQL, and SQLite

1,526DatabaseDatabase Schema Migration
column

High-performance, columnar, embeddable in-memory store with bitmap indexing and transactions

1,514DatabaseDatabases Implemented in Go
Databunker

Personally identifiable information (PII) storage service built to comply with GDPR and CCPA

1,498DatabaseDatabases Implemented in Go
chproxy

HTTP proxy for ClickHouse database

1,489DatabaseDatabase Tools
diskv

Home-grown disk-backed key-value store

1,456DatabaseDatabases Implemented in Go
pg_timetable

Advanced scheduling for PostgreSQL

1,408DatabaseDatabase Tools
skeema

Pure-SQL schema management system for MySQL, with support for sharding and external online schema change tools

1,381DatabaseDatabase Schema Migration
pogreb

Embedded key-value store for read-heavy workloads

1,355DatabaseDatabases Implemented in Go
ttlcache

An in-memory cache with item expiration and generics

1,316DatabaseCaches
sturdyc

A caching library with advanced concurrency features designed to make I/O heavy applications robust and highly performant

1,285DatabaseCaches
objectbox-go

High-performance embedded Object Database (NoSQL) with Go API

1,275DatabaseDatabases Implemented in Go
gormigrate

Database schema migration helper for Gorm ORM

1,179DatabaseDatabase Schema Migration
goavro

A Go package that encodes and decodes Avro data

1,075DatabaseDatabase Schema Migration
eliasdb

Dependency-free, transactional graph database with REST API, phrase search and SQL-like query language

1,036DatabaseDatabases Implemented in Go
moss

Moss is a simple LSM key-value storage engine written in 100% Go

1,015DatabaseDatabases Implemented in Go
onedump

Database backup from different drivers to different destinations with one command and configuration

1,001DatabaseDatabase Tools
NornicDB

High performance graph + vector database (Neo4j and qDrant compatible), focused on low latency graph-rag retreival for AI systems

930DatabaseDatabases Implemented in Go
go-sqlite

A Pure Golang implemented SQLite driver without CGO

885DatabaseDatabases Implemented in Go
clover

A lightweight document-oriented NoSQL database written in pure Golang

834DatabaseDatabases Implemented in Go
Dotsql

Go library that helps you keep sql files in one place and use them with ease

740DatabaseSQL Query Builders
ozzo-dbx

Powerful data retrieval methods as well as DB-agnostic query building capabilities

675DatabaseSQL Query Builders
rdb

Redis RDB file parser for secondary development and memory analysis

634DatabaseDatabase Tools
EchoVault

Embeddable Distributed in-memory data store compatible with Redis clients

540DatabaseCaches
clickhouse-bulk

Collects small inserts and sends big requests to ClickHouse servers

512DatabaseDatabase Tools
jetcache-go

Unified Go cache library supporting multi-level caching

500DatabaseCaches
sqlingo

A lightweight DSL to build SQL in Go

457DatabaseSQL Query Builders
levigo

Levigo is a Go wrapper for LevelDB

420DatabaseDatabases Implemented in Go
dbq

Zero boilerplate database operations for Go

418DatabaseSQL Query Builders
filesql

Query CSV, TSV, LTSV, JSON, JSONL, Parquet, Excel, ACH, and Fedwire files with SQL through the database/sql API, backed by in-memory SQLite

385DatabaseDatabase Tools
theine

High performance, near optimal in-memory cache with proactive TTL expiration and generics

380DatabaseCaches
cachego

Golang Cache component for multiple drivers

370DatabaseCaches
pudge

Fast and simple key/value store written using Go's standard library

370DatabaseDatabases Implemented in Go
sturdyc

A caching library with advanced concurrency features designed to make I/O heavy applications robust and highly performant.

322DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.
wescale

WeScale is a database proxy designed to enhance the scalability, performance, security, and resilience of your applications

316DatabaseDatabase Tools
gatewayd

Cloud-native database gateway and framework for building data-driven applications. Like API gateways, for databases

290DatabaseDatabase Tools
lynxdb

Lightweight columnar log analytics database with a pipe-style query language inspired by SPL

286DatabaseDatabases Implemented in Go
sqrl

SQL query builder, fork of Squirrel with improved performance

285DatabaseSQL Query Builders
Vasto

A distributed high-performance key-value store. On Disk. Eventual consistent. HA. Able to grow or shrink without service interruption

262DatabaseDatabases Implemented in Go
clickhouse-sql-parser

Parser for ClickHouse-dialect SQL that produces a typed AST, with traversal helpers, round-trip formatting, and a CLI

256DatabaseDatabase Tools
pocache

Pocache is a minimal cache package which focuses on a preemptive optimistic caching strategy

238DatabaseCaches
dtf

A distributed transaction manager. Support XA, TCC, SAGA, Reliable Messages.

211DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.
piladb

Lightweight RESTful database engine based on stack data structures

206DatabaseDatabases Implemented in Go
libradb

LibraDB is a simple database with less than 1000 lines of code for learning

201DatabaseDatabases Implemented in Go
octillery

Go package for sharding databases ( Supports every ORM or raw SQL )

201DatabaseDatabase Tools
sq

Type-safe SQL builder and struct mapper for Go

200DatabaseSQL Query Builders
bqb

Lightweight and easy to learn query builder

195DatabaseSQL Query Builders
sqly

Execute SQL against CSV, TSV, LTSV, JSON, Parquet, and Excel files in an interactive shell, backed by in-memory SQLite

194DatabaseDatabase Tools
sqlf

Fast SQL query builder

189DatabaseSQL Query Builders
buildsqlx

Go database query builder library for PostgreSQL

185DatabaseSQL Query Builders
pgrwl

Cloud-native continuous backup for PostgreSQL

185DatabaseDatabase Tools
cache

In-memory key:value store with expiration time, 0 dependencies, <100 LoC, 100% coverage.

184DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.