Awesome Go

Database

100+ libraries in this category

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.
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.
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.
remember-go

A universal interface for caching slow database queries (backed by redis, memcached, ristretto, or in-memory).

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

2Q in-memory cache implementation.

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

Bitcask is an embeddable, persistent and fast key-value (KV) database written in pure Go with predictable read/write performance, low latency and high throughput thanks to the bitcask on-disk layout (LSM+WAL).

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

Simplify working with AWS DynamoDB.

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

Eventually consistent distributed in-memory cache Go library

DatabaseCaches
BigCache

Efficient key/value cache for gigabytes of data

DatabaseCaches
cache2go

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

DatabaseCaches
cachego

Golang Cache component for multiple drivers

DatabaseCaches
clusteredBigCache

BigCache with clustering support and individual item expiration

DatabaseCaches
coherence-go-client

Full implementation of Oracle Coherence cache API for Go applications using gRPC as network transport

DatabaseCaches
couchcache

RESTful caching micro-service backed by Couchbase server

DatabaseCaches
EchoVault

Embeddable Distributed in-memory data store compatible with Redis clients

DatabaseCaches
fastcache

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

DatabaseCaches
GCache

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

DatabaseCaches
gdcache

A pure non-intrusive cache library implemented by golang, you can use it to implement your own distributed cache

DatabaseCaches
go-cache

A flexible multi-layer Go caching library to deal with in-memory and shared cache by adopting Cache-Aside pattern

DatabaseCaches
go-mcache

Fast in-memory key:value store/cache library. Pointer caches

DatabaseCaches
gocache

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

DatabaseCaches
gocache

A data race free Go ache library with high performance and auto pruge functionality

DatabaseCaches
groupcache

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

DatabaseCaches
icache

A High Performance, Generic, thread-safe, zero-dependency cache package

DatabaseCaches
imcache

A generic in-memory cache Go library. It supports expiration, sliding expiration, max entries limit, eviction callbacks and sharding

DatabaseCaches
nscache

A Go caching framework that supports multiple data source drivers

DatabaseCaches
otter

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

DatabaseCaches
theine

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

DatabaseCaches
timedmap

Map with expiring key-value pairs

DatabaseCaches
ttlcache

An in-memory cache with item expiration and generics

DatabaseCaches
ttlcache

In-memory key value storage with TTL for each record

DatabaseCaches
badger

Fast key-value store in Go

DatabaseDatabases Implemented in Go
bbolt

An embedded key/value database for Go

DatabaseDatabases Implemented in Go
buntdb

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

DatabaseDatabases Implemented in Go
clover

A lightweight document-oriented NoSQL database written in pure Golang

DatabaseDatabases Implemented in Go
cockroach

Scalable, Geo-Replicated, Transactional Datastore

DatabaseDatabases Implemented in Go
Coffer

Simple ACID key-value database that supports transactions

DatabaseDatabases Implemented in Go
column

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

DatabaseDatabases Implemented in Go
CovenantSQL

CovenantSQL is a SQL database on blockchain

DatabaseDatabases Implemented in Go
Databunker

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

DatabaseDatabases Implemented in Go
dgraph

Scalable, Distributed, Low Latency, High Throughput Graph Database

DatabaseDatabases Implemented in Go
diskv

Home-grown disk-backed key-value store

DatabaseDatabases Implemented in Go
dolt

Dolt – It's Git for Data

DatabaseDatabases Implemented in Go
eliasdb

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

DatabaseDatabases Implemented in Go
godis

A Golang implemented high-performance Redis server and cluster

DatabaseDatabases Implemented in Go
goleveldb

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

DatabaseDatabases Implemented in Go
hare

A simple database management system that stores each table as a text file of line-delimited JSON

DatabaseDatabases Implemented in Go
immudb

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

DatabaseDatabases Implemented in Go
influxdb

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

DatabaseDatabases Implemented in Go
ledisdb

Ledisdb is a high performance NoSQL like Redis based on LevelDB

DatabaseDatabases Implemented in Go
levigo

Levigo is a Go wrapper for LevelDB

DatabaseDatabases Implemented in Go
libradb

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

DatabaseDatabases Implemented in Go
LinDB

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

DatabaseDatabases Implemented in Go
lotusdb

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

DatabaseDatabases Implemented in Go
Milvus

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

DatabaseDatabases Implemented in Go
moss

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

DatabaseDatabases 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

DatabaseDatabases Implemented in Go
objectbox-go

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

DatabaseDatabases Implemented in Go
pebble

RocksDB/LevelDB inspired key-value database in Go

DatabaseDatabases Implemented in Go
piladb

Lightweight RESTful database engine based on stack data structures

DatabaseDatabases Implemented in Go
pogreb

Embedded key-value store for read-heavy workloads

DatabaseDatabases Implemented in Go
prometheus

Monitoring system and time series database

DatabaseDatabases Implemented in Go
pudge

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

DatabaseDatabases Implemented in Go
rosedb

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

DatabaseDatabases Implemented in Go
rotom

A tiny Redis server built with Golang, compatible with RESP protocols

DatabaseDatabases Implemented in Go
rqlite

The lightweight, distributed, relational database built on SQLite

DatabaseDatabases Implemented in Go
tempdb

Key-value store for temporary items

DatabaseDatabases Implemented in Go
tidb

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

DatabaseDatabases Implemented in Go
tiedot

Your NoSQL database powered by Golang

DatabaseDatabases Implemented in Go
unitdb

Fast timeseries database for IoT, realtime messaging applications. Access unitdb with pubsub over tcp or websocket using github.com/unit-io/unitd application

DatabaseDatabases Implemented in Go
Vasto

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

DatabaseDatabases Implemented in Go
VictoriaMetrics

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

DatabaseDatabases Implemented in Go
atlas

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

DatabaseDatabase Schema Migration
avro

Discover SQL schemas and convert them to AVRO schemas. Query SQL records into AVRO bytes

DatabaseDatabase Schema Migration
bytebase

Safe database schema change and version control for DevOps teams

DatabaseDatabase Schema Migration
darwin

Database schema evolution library for Go

DatabaseDatabase Schema Migration
dbmate

A lightweight, framework-agnostic database migration tool

DatabaseDatabase Schema Migration
go-fixtures

Django style fixtures for Golang's excellent built-in database/sql library

DatabaseDatabase Schema Migration
go-pg-migrate

CLI-friendly package for go-pg migrations management

DatabaseDatabase Schema Migration
go-pg-migrations

A Go package to help write migrations with go-pg/pg

DatabaseDatabase Schema Migration
goavro

A Go package that encodes and decodes Avro data

DatabaseDatabase Schema Migration
godfish

Database migration manager, works with native query language. Support for cassandra, mysql, postgres, sqlite3

DatabaseDatabase Schema Migration
goose

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

DatabaseDatabase Schema Migration
gorm-seeder

Simple database seeder for Gorm ORM

DatabaseDatabase Schema Migration
gormigrate

Database schema migration helper for Gorm ORM

DatabaseDatabase Schema Migration
libschema

Define your migrations separately in each library. Migrations for open source libraries. MySQL & PostgreSQL

DatabaseDatabase Schema Migration
migrate

Database migrations. CLI and Golang library

DatabaseDatabase Schema Migration
migrator

Dead simple Go database migration library

DatabaseDatabase Schema Migration
migrator

MySQL database migrator designed to run migrations to your features and manage database schema update with intuitive go code

DatabaseDatabase Schema Migration
schema

Library to embed schema migrations for database/sql-compatible databases inside your Go binaries

DatabaseDatabase Schema Migration
skeema

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

DatabaseDatabase Schema Migration
sql-migrate

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

DatabaseDatabase Schema Migration
sqlize

Database migration generator. Allows generate sql migration from model and existing sql by differ them

DatabaseDatabase Schema Migration
chproxy

HTTP proxy for ClickHouse database

DatabaseDatabase Tools
clickhouse-bulk

Collects small inserts and sends big requests to ClickHouse servers

DatabaseDatabase Tools
dbbench

Database benchmarking tool with support for several databases and scripts

DatabaseDatabase Tools
dg

A fast data generator that produces CSV files from generated relational data

DatabaseDatabase Tools
gatewayd

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

DatabaseDatabase Tools
go-mysql

Go toolset to handle MySQL protocol and replication

DatabaseDatabase Tools
gorm-multitenancy

Multi-tenancy support for GORM managed databases

DatabaseDatabase Tools