Skip to content
56

Awesome Go Storage

A curated list of awesome Go storage projects and libraries

4.7k stars309 forks131 entriesLast push Dec 25, 2024 (1 year ago)License MIT

This page lists names, links and short descriptions. The original list on GitHub is the source and belongs to its authors.

Storage Server

minio

Minio is an open source object storage server compatible with Amazon S3 APIs.

In 9 listsDetails

rclone

"rsync for cloud storage" - Google Drive, Amazon Drive, S3, Dropbox, Backblaze B2, One Drive, Swift, Hubic, Cloudfile…

In 3 lists

perkeep

Perkeep is your personal storage system for life: a way of storing, syncing, sharing, modelling and backing up content.

In 3 lists

s3git

Git for Cloud Storage. Distributed Version Control for Data.

In 2 lists

storj

Decentralized cloud object storage that is affordable, easy to use, private, and secure.

rook

Open, Cloud Native, and Universal Distributed Storage.

In 3 lists

longhorn

Longhorn is an open source persistent block storage server delivered via containers.

Key-Value Store

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).

In 3 lists

Bitraft

Bitraft is a distributed raft-based key/value store with a Redis-compatible protocol. It uses Bitcask for high performance/throughout and low latency.

BadgerDB

BadgerDB is an embeddable, persistent, simple and fast key-value (KV) database written in pure Go. It's meant to be a performant alternative to non-Go-based key-value stores like RocksDB.

In 6 listsDetails

column

Embeddable, columnar, in-memory store with bitmap indexing, transaction and zero-alloc quering.

In 3 lists

consul

Distributed consistent replicated key-value store for service discovery and configuration.

In 5 listsDetails

diskv

A disk-backed key-value store.

In 5 listsDetails

etcd

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

In 2 lists

go-cache

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

In 3 lists

IceFireDB

Distributed disk storage database using the Raft and Redis protocols.

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.

In 3 lists

pogreb

Embedded key-value store for read-heavy workloads.

In 3 lists

rosedb

A fast, stable and embedded k-v database in pure Golang, supports string, list, hash, set, sorted set.

In 3 lists

LotusDB

Fast k/v storage compatible with lsm tree and b+tree.

In 4 listsDetails

File System

afero

A FileSystem Abstraction System for Go

In 5 listsDetails

fsnotify

Cross-platform file system notifications for Go.

In 3 lists

juicefs

A distributed POSIX file system built on top of Redis and S3.

In 9 listsDetails

gcsfuse

A user-space file system for interacting with Google Cloud Storage.

git-lfs

Git extension for versioning large files.

In 3 lists

go-systemd

Go bindings to systemd socket activation, journal, D-Bus, and unit files.

In 3 lists

goofys

A high-performance, POSIX-ish Amazon S3 file system written in Go.

In 3 lists

minikeyvalue

A ~1000 line distributed key value store.

seaweedfs

SeaweedFS is a simple and highly scalable distributed file system for small files.

In 6 listsDetails

svfs

A virtual file system over Openstack Swift built upon fuse.

Database

BigCache

Efficient key/value cache for gigabytes of data.

In 5 listsDetails

bolt

A low-level key/value database for Go. This original version by Ben Johnson has been marked as unmaintained and forked by etcd-io bbolt.

In 5 listsDetails

buntdb

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

In 8 listsDetails

cache2go

An in-memory key:value cache which supports automatic invalidation based on timeouts.

In 5 listsDetails

clover

A lightweight document-oriented NoSQL database written in pure Golang.

In 4 listsDetails

cockroach

A Scalable, Geo-Replicated, Transactional Datastore

In 8 listsDetails

couchcache

A RESTful caching micro-service backed by Couchbase server.

In 3 lists

CovenantSQL

A SQL Database with Blockchain features.

In 3 lists

dgraph

Scalable, Distributed, Low Latency, High Throughput Graph Database.

In 6 listsDetails

diskv

A disk-backed key-value store.

In 5 listsDetails

dolt

A MySQL-compatible database with Git-style version control. The first SQL database you can branch and merge.

In 10 listsDetails

eliasdb

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

In 4 listsDetails

emitter

Scalable, low-latency, distributed & secure pub/sub database with time-series message storage, suitable for IoT, gaming, apps and real-time web.

In 5 listsDetails

forestdb

Go bindings for ForestDB.

In 3 lists

frostdb

Embeddable column database written in Go.

GCache

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

In 5 listsDetails

geocache

An in-memory cache that is suitable for geolocation based applications.

go-cache

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

In 2 lists

godis

A Golang implemented high-performance Redis server and cluster

In 5 listsDetails

goleveldb

An implementation of the LevelDB key/value database in the Go.

In 7 listsDetails

groupcache

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

In 7 listsDetails

immudb

Database with built-in cryptographic proof and verification. Can operate as a key-value store or as relational database (SQL).

In 4 listsDetails

influxdb

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

In 4 listsDetails

ledisdb

Ledisdb is a high performance NoSQL like Redis based on LevelDB.

In 4 listsDetails

levigo

Levigo is a Go wrapper for LevelDB.

In 3 lists

moss

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

In 3 lists

noms

The versioned, forkable, syncable database.

In 3 lists

objectbox-go

Embedded Object Database (NoSQL) with Go API.

In 3 lists

piladb

Lightweight RESTful database engine based on stack data structures.

In 3 lists

pREST

Serve a RESTful API from any PostgreSQL database.

prometheus

Monitoring system and time series database.

In 13 listsDetails

rqlite

The lightweight, distributed, relational database built on SQLite.

In 9 listsDetails

scribble

A tiny flat file JSON store.

SpiceDB

A Zanzibar-inspired database that stores, computes, and validates application permissions with support for multiple database backends.

In 6 listsDetails

tidb

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

In 10 listsDetails

tiedot

Your NoSQL database powered by Golang.

In 5 listsDetails

Tile38

A geolocation DB with spatial index and realtime geofencing.

In 8 listsDetails

VictoriaMetrics

Time series database designed for monitoring, compatible with PromQL (from Promethueus) and InfluxQL (from Influxdb).

In 10 listsDetails

darwin

Database schema evolution library for Go

In 3 lists

goose

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

gormigrate

Database schema migration helper for Gorm ORM.

In 3 lists

migrate

Database migration handling in Golang support MySQL, PostgreSQL, Cassandra, and SQLite.

In 6 listsDetails

pravasan

Simple Migration tool - currently for MySQL but planning to support soon for Postgres, SQLite, MongoDB, etc.,

soda

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

sql-migrate

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

In 4 listsDetails

go-mysql

A go toolset to handle MySQL protocol and replication.

In 4 listsDetails

go-mysql-elasticsearch

Sync your MySQL data into Elasticsearch automatically.

In 2 lists

kingshard

kingshard is a high performance proxy for MySQL powered by Golang.

In 4 lists

myreplication

MySql binary log replication listener. Support statement and row based replication.

orchestrator

MySQL replication topology manager & visualizer

In 2 lists

pgweb

A web-based PostgreSQL database browser

In 6 listsDetails

vitess

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

In 3 lists

usql

universal command-line interface for SQL databases

In 8 listsDetails

buildsqlx

Go Database query builder library

In 3 lists

dat

Go Postgres Data Access Toolkit

Dotsql

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

In 3 lists

goqu

An idiomatic SQL builder and query library.

In 4 listsDetails

grimoire

Grimoire is a database access layer and validation for golang. (Support: MySQL, PostgreSQL and SQLite3).

In 3 lists

igor

Abstraction layer for PostgreSQL that supports advanced functionality and uses gorm-like syntax.

In 3 lists

ozzo-dbx

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

In 4 listsDetails

SQLBoiler

a tool to generate a Go ORM tailored to your database schema. It is a "database-first" ORM as opposed to "code-first", and you must first create your database.

In 3 lists

sqrl

SQL query builder, fork of Squirrel with improved performance.

In 3 lists

Squirrel

Go library that helps you build SQL queries.

In 5 listsDetails

xo

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

In 3 lists

Database Drivers

bgc

Datastore Connectivity for BigQuery for go.

In 3 lists

firebirdsql

Firebird RDBMS SQL driver for Go

In 3 lists

go-adodb

Microsoft ActiveX Object DataBase driver for go that using database/sql.

In 3 lists

go-bqstreamer

BigQuery fast and concurrent stream insert.

go-mssqldb

Microsoft MSSQL driver in go language.

In 4 listsDetails

go-oci8

Oracle driver for go that using database/sql.

In 3 lists

go-sql-driver/mysql

MySQL driver for Go.

In 7 listsDetails

go-sqlite3

SQLite3 driver for go that using database/sql.

In 6 listsDetails

gofreetds

Microsoft MSSQL driver. Go wrapper over FreeTDS.

In 3 lists

pgx

PostgreSQL driver supporting features beyond those exposed by database/sql.

In 4 listsDetails

pq

Pure Go Postgres driver for database/sql.

In 5 listsDetails

aerospike-client-go

Aerospike client in Go language.

In 3 lists

arangolite

Lightweight golang driver for ArangoDB.

In 3 lists

asc

Datastore Connectivity for Aerospike for go.

In 3 lists

cayley

A graph database with support for multiple backends.

In 3 lists

dsc

Datastore connectivity for SQL, NoSQL, structured files.

In 3 lists

dynago

Dynago is a principle of least surprise client for DynamoDB

go-couchbase

Couchbase client in Go

In 3 lists

go-couchdb

Yet another CouchDB HTTP API wrapper for Go

gocb

Official Couchbase Go SDK

In 3 lists

gocql

A Go language driver for Apache Cassandra.

gomemcache

memcache client library for the Go programming language.

In 4 listsDetails

gorethink

Go language driver for RethinkDB

goriak

Go language driver for Riak KV

In 3 lists

mongo-go-driver

The Go driver for MongoDB

In 6 listsDetails

neo4j

Neo4j Rest API Bindings for Golang

In 3 lists

Neo4j-GO

Neo4j REST Client in golang.

neoism

Neo4j client for Golang

In 4 listsDetails

redigo

Redigo is a Go client for the Redis database.

In 5 listsDetails

redis

Redis client for Golang

redis

A simple, powerful Redis client for Go.

redeo

Redis-protocol compatible TCP servers/services.

In 3 lists

bleve

A modern text indexing library for go.

In 5 listsDetails

elastic

Elasticsearch client for Go.

In 5 listsDetails

elastigo

A Elasticsearch client library.

In 3 lists

skizze

A probabilistic data-structures service and storage.

In 2 lists

Fiber Storage

Premade storage drivers that implement the Storage interface.

In 2 lists

gokv

A simple key-value store interface and many implementations for Go (Redis, Consul, etcd, bbolt, BadgerDB, LevelDB, Memcached, DynamoDB, S3, PostgreSQL, MongoDB, CockroachDB and many more)

In 3 lists
See category
94

Awesome Rust

rust-unofficial/awesome-rust

A curated list of Rust code and resources.

Fresh★ 60k1833 entriesPushed today
94

Awesome Mac

jaywcjlove/awesome-mac

 This project is dedicated to collecting high-quality macOS software and organizing them systematically by different categories for easy search and use.

Fresh★ 115k1316 entriesPushed today
94

Awesome Python

vinta/awesome-python

Curated Python frameworks, libraries and resources.

Fresh★ 324k504 entriesPushed today
94

Awesome C++

fffaraz/awesome-cpp

A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff.

Fresh★ 74k1358 entriesPushed yesterday
94

Awesome Go

avelino/awesome-go

Curated Go frameworks and libraries.

Fresh★ 186k3119 entriesPushed yesterday
94

Awesome PHP

ziadoz/awesome-php

A curated list of amazingly awesome PHP libraries, resources and shiny things.

Fresh★ 33k87 entriesPushed 2 days ago