{"id":34946,"url":"https://github.com/eric-erki/awesome-go-storage","name":"awesome-go-storage","description":"A curated list of awesome Go storage projects and libraries","projects_count":115,"last_synced_at":"2026-09-26T17:00:23.434Z","repository":{"id":99090940,"uuid":"237753441","full_name":"eric-erki/awesome-go-storage","owner":"eric-erki","description":"A curated list of awesome Go storage projects and libraries","archived":false,"fork":false,"pushed_at":"2020-02-02T10:23:23.000Z","size":36,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-09-06T19:06:42.223Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eric-erki.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2020-02-02T10:22:54.000Z","updated_at":"2020-02-02T10:23:27.000Z","dependencies_parsed_at":"2023-07-06T10:16:33.203Z","dependency_job_id":null,"html_url":"https://github.com/eric-erki/awesome-go-storage","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/eric-erki/awesome-go-storage","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eric-erki%2Fawesome-go-storage","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eric-erki%2Fawesome-go-storage/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eric-erki%2Fawesome-go-storage/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eric-erki%2Fawesome-go-storage/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eric-erki","download_url":"https://codeload.github.com/eric-erki/awesome-go-storage/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eric-erki%2Fawesome-go-storage/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":341189360,"owners_count":37722324,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-22T15:14:58.755Z","status":"online","status_checked_at":"2026-09-26T02:00:06.440Z","response_time":102,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"created_at":"2024-01-13T12:59:13.145Z","updated_at":"2026-09-26T17:00:23.435Z","primary_language":"Go","list_of_lists":false,"displayable":true,"categories":["Database","Key-Value Store","Storage Server","File System","Database Drivers"],"sub_categories":[],"readme":"# Awesome Go Storage [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)\n\nA curated list of awesome Go storage projects and libraries. Inspired by [awesome-go](https://github.com/avelino/awesome-go).\n\n\n### Contributing\n\nPlease take a quick gander at the [contribution guidelines](https://github.com/gostor/awesome-go-storage/blob/master/CONTRIBUTING.md) first. Thanks to all [contributors](https://github.com/gostor/awesome-go-storage/graphs/contributors); you rock!\n\n#### *If you see a package or project here that is no longer maintained or is not a good fit, please submit a pull request to improve this file. Thank you!*\n\n\n### Contents\n\n- [Awesome Go Storage](#awesome-go-storage)\n    - [Storage Server](#storage-server)\n    - [Key-Value Store](#key-value-store)\n    - [File System](#file-system)\n    - [Database](#database)\n    - [Database Drivers](#database-drivers)\n\n\n## Storage Server\n\n*Storage Servers implemented in Go.*\n\n* [minio](https://github.com/minio/minio) - Minio is an open source object storage server compatible with Amazon S3 APIs.\n* [rclone](https://github.com/ncw/rclone) - \"rsync for cloud storage\" - Google Drive, Amazon Drive, S3, Dropbox, Backblaze B2, One Drive, Swift, Hubic, Cloudfile…\n* [perkeep](https://github.com/perkeep/perkeep) - Perkeep is your personal storage system for life: a way of storing, syncing, sharing, modelling and backing up content.\n* [s3git](https://github.com/s3git/s3git) - Git for Cloud Storage. Distributed Version Control for Data.\n* [storj](https://github.com/storj/storj) - Decentralized cloud object storage that is affordable, easy to use, private, and secure. \n* [rook](https://github.com/rook/rook) - Open, Cloud Native, and Universal Distributed Storage.\n* [longhorn](https://github.com/rancher/longhorn) Longhorn is an open source persistent block storage server delivered via containers. \n\n## Key-Value Store\n\n*Key-Value Store implemented in Go.*\n\n* [Bitcask](https://github.com/prologic/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).\n* [Bitraft](https://github.com/prologic/bitraft) -- Bitraft is a distributed raft-based key/value store with a Redis-compatible protocol. It uses [Bitcask](https://github.com/prologic/bitcask) for high performance/throughout and low latency.\n* [BadgerDB](https://github.com/dgraph-io/badger) - 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.\n* [biscuit](https://github.com/dcoker/biscuit) - Biscuit is a multi-region HA key-value store for your AWS infrastructure secrets.\n* [consul](https://github.com/hashicorp/consul) - Distributed consistent replicated key-value store for service discovery and configuration.\n* [diskv](https://github.com/peterbourgon/diskv) - A disk-backed key-value store.\n* [etcd](https://github.com/coreos/etcd) - Distributed reliable key-value store for the most critical data of a distributed system.\n* [go-cache](https://github.com/patrickmn/go-cache) - An in-memory key:value store/cache (similar to Memcached) library for Go, suitable for single-machine applications.\n\n## File System\n\n*File Systems implemented in Go.*\n\n* [git-lfs](https://github.com/git-lfs/git-lfs) - Git extension for versioning large files.\n* [seaweedfs](https://github.com/chrislusf/seaweedfs) - SeaweedFS is a simple and highly scalable distributed file system for small files.\n* [fsnotify](https://github.com/fsnotify/fsnotify) - Cross-platform file system notifications for Go.\n* [goofys](https://github.com/kahing/goofys) - A high-performance, POSIX-ish Amazon S3 file system written in Go.\n* [go-systemd](https://github.com/coreos/go-systemd) - Go bindings to systemd socket activation, journal, D-Bus, and unit files.\n* [gcsfuse](https://github.com/GoogleCloudPlatform/gcsfuse) - A user-space file system for interacting with Google Cloud Storage.\n* [svfs](https://github.com/ovh/svfs) - A virtual file system over Openstack Swift built upon fuse.\n* [afero](https://github.com/spf13/afero) - A FileSystem Abstraction System for Go\n\n## Database\n\n*Databases implemented in Go.*\n\n* [BigCache](https://github.com/allegro/bigcache) - Efficient key/value cache for gigabytes of data.\n* [bolt](https://github.com/boltdb/bolt) - A low-level key/value database for Go. This original version by Ben Johnson has been marked as unmaintained and forked by [CoreOS bbolt](https://github.com/coreos/bbolt).\n* [buntdb](https://github.com/tidwall/buntdb) - A fast, embeddable, in-memory key/value database for Go with custom indexing and spatial support.\n* [cache2go](https://github.com/muesli/cache2go) - An in-memory key:value cache which supports automatic invalidation based on timeouts.\n* [cockroach](https://github.com/cockroachdb/cockroach) - A Scalable, Geo-Replicated, Transactional Datastore\n* [couchcache](https://github.com/codingsince1985/couchcache) - A RESTful caching micro-service backed by Couchbase server.\n* [CovenantSQL](https://github.com/CovenantSQL/CovenantSQL) - A SQL Database with Blockchain features.\n* [dgraph](https://github.com/dgraph-io/dgraph) - Scalable, Distributed, Low Latency, High Throughput Graph Database.\n* [diskv](https://github.com/peterbourgon/diskv) - A home-grown disk-backed key-value store.\n* [eliasdb](https://github.com/krotik/eliasdb) - Dependency-free, transactional graph database with REST API, phrase search and SQL-like query language.\n* [emitter](https://github.com/emitter-io/emitter) - Scalable, low-latency, distributed \u0026 secure pub/sub database with time-series message storage, suitable for IoT, gaming, apps and real-time web.\n* [forestdb](https://github.com/couchbase/goforestdb) - Go bindings for ForestDB.\n* [GCache](https://github.com/bluele/gcache) - Cache library with support for expirable Cache, LFU, LRU and ARC.\n* [geocache](https://github.com/melihmucuk/geocache) - An in-memory cache that is suitable for geolocation based applications.\n* [go-cache](https://github.com/pmylund/go-cache) - An in-memory key:value store/cache (similar to Memcached) library for Go, suitable for single-machine applications.\n* [goleveldb](https://github.com/syndtr/goleveldb) - An implementation of the [LevelDB](https://github.com/google/leveldb) key/value database in the Go.\n* [groupcache](https://github.com/golang/groupcache) - Groupcache is a caching and cache-filling library, intended as a replacement for memcached in many cases.\n* [influxdb](https://github.com/influxdb/influxdb) - Scalable datastore for metrics, events, and real-time analytics\n* [ledisdb](https://github.com/siddontang/ledisdb) - Ledisdb is a high performance NoSQL like Redis based on LevelDB.\n* [levigo](https://github.com/jmhodges/levigo) - Levigo is a Go wrapper for LevelDB.\n* [moss](https://github.com/couchbase/moss) - Moss is a simple LSM key-value storage engine written in 100% Go.\n* [noms](https://github.com/attic-labs/noms) - The versioned, forkable, syncable database.\n* [piladb](https://github.com/fern4lvarez/piladb) - Lightweight RESTful database engine based on stack data structures.\n* [pREST](https://github.com/nuveo/prest) - Serve a RESTful API from any PostgreSQL database.\n* [prometheus](https://github.com/prometheus/prometheus) - Monitoring system and time series database.\n* [rqlite](https://github.com/rqlite/rqlite) - The lightweight, distributed, relational database built on SQLite.\n* [scribble](https://github.com/nanobox-io/golang-scribble) - A tiny flat file JSON store.\n* [tidb](https://github.com/pingcap/tidb) - TiDB is a distributed SQL database. Inspired by the design of Google F1.\n* [tiedot](https://github.com/HouzuoGuo/tiedot) - Your NoSQL database powered by Golang.\n* [Tile38](https://github.com/tidwall/tile38) - A geolocation DB with spatial index and realtime geofencing.\n\n*Database schema migration.*\n\n* [darwin](https://github.com/GuiaBolso/darwin) - Database schema evolution library for Go\n* [goose](https://github.com/steinbacher/goose) - Database migration tool. You can manage your database's evolution by creating incremental SQL or Go scripts.\n* [gormigrate](https://github.com/go-gormigrate/gormigrate) - Database schema migration helper for Gorm ORM.\n* [migrate](https://github.com/golang-migrate/migrate) - Database migration handling in Golang support MySQL, PostgreSQL, Cassandra, and SQLite.\n* [pravasan](https://github.com/pravasan/pravasan) - Simple Migration tool - currently for MySQL but planning to support soon for Postgres, SQLite, MongoDB, etc.,\n* [soda](https://github.com/markbates/pop/tree/master/soda) - Database migration, creation, ORM, etc... for MySQL, PostgreSQL, and SQLite.\n* [sql-migrate](https://github.com/rubenv/sql-migrate) - Database migration tool. Allows embedding migrations into the application using go-bindata.\n\n*Database tools.*\n\n* [go-mysql](https://github.com/siddontang/go-mysql) - A go toolset to handle MySQL protocol and replication.\n* [go-mysql-elasticsearch](https://github.com/siddontang/go-mysql-elasticsearch) - Sync your MySQL data into Elasticsearch automatically.\n* [kingshard](https://github.com/flike/kingshard) - kingshard is a high performance proxy for MySQL powered by Golang.\n* [myreplication](https://github.com/2tvenom/myreplication) - MySql binary log replication listener. Support statement and row based replication.\n* [orchestrator](https://github.com/outbrain/orchestrator) - MySQL replication topology manager \u0026 visualizer\n* [pgweb](https://github.com/sosedoff/pgweb) - A web-based PostgreSQL database browser\n* [vitess](https://github.com/youtube/vitess) - vitess provides servers and tools which facilitate scaling of MySQL databases for large scale web services.\n* [usql](https://github.com/xo/usql) - universal command-line interface for SQL databases\n\n*SQL query builder, libraries for building and using SQL.*\n\n* [dat](https://github.com/mgutz/dat) - Go Postgres Data Access Toolkit\n* [Dotsql](https://github.com/gchaincl/dotsql) - Go library that helps you keep sql files in one place and use it with ease.\n* [goqu](https://github.com/doug-martin/goqu) - An idiomatic SQL builder and query library.\n* [igor](https://github.com/galeone/igor) - Abstraction layer for PostgreSQL that supports advanced functionality and uses gorm-like syntax.\n* [ozzo-dbx](https://github.com/go-ozzo/ozzo-dbx) - Powerful data retrieval methods as well as DB-agnostic query building capabilities.\n* [scaneo](https://github.com/variadico/scaneo) - Generate Go code to convert database rows into arbitrary structs.\n* [SQLBoiler](https://github.com/volatiletech/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.\n* [sqrl](https://github.com/elgris/sqrl) - SQL query builder, fork of Squirrel with improved performance.\n* [Squirrel](https://github.com/Masterminds/squirrel) - Go library that helps you build SQL queries.\n* [xo](https://github.com/knq/xo) - Generate idiomatic Go code for databases based on existing schema definitions or custom queries supporting PostgreSQL, MySQL, SQLite, Oracle, and Microsoft SQL Server.\n\n\n## Database Drivers\n\n*Libraries for connecting and operating databases.*\n\n* Relational Databases\n    * [bgc](https://github.com/viant/bgc) - Datastore Connectivity for BigQuery for go.\n    * [firebirdsql](https://github.com/nakagami/firebirdsql) - Firebird RDBMS SQL driver for Go\n    * [go-adodb](https://github.com/mattn/go-adodb) - Microsoft ActiveX Object DataBase driver for go that using database/sql.\n    * [go-bqstreamer](https://github.com/rounds/go-bqstreamer) - BigQuery fast and concurrent stream insert.\n    * [go-mssqldb](https://github.com/denisenkom/go-mssqldb) - Microsoft MSSQL driver in go language.\n    * [go-oci8](https://github.com/mattn/go-oci8) - Oracle driver for go that using database/sql.\n    * [go-sql-driver/mysql](https://github.com/go-sql-driver/mysql) - MySQL driver for Go.\n    * [go-sqlite3](https://github.com/mattn/go-sqlite3) - SQLite3 driver for go that using database/sql.\n    * [gofreetds](https://github.com/minus5/gofreetds) Microsoft MSSQL driver. Go wrapper over [FreeTDS](http://www.freetds.org).\n    * [pgx](https://github.com/jackc/pgx) - PostgreSQL driver supporting features beyond those exposed by database/sql.\n    * [pq](https://github.com/lib/pq) - Pure Go Postgres driver for database/sql.\n\n* NoSQL Databases\n    * [aerospike-client-go](https://github.com/aerospike/aerospike-client-go) - Aerospike client in Go language.\n    * [arangolite](https://github.com/solher/arangolite) - Lightweight golang driver for ArangoDB.\n    * [asc](https://github.com/viant/asc) - Datastore Connectivity for Aerospike for go.\n    * [cayley](https://github.com/google/cayley) - A graph database with support for multiple backends.\n    * [dsc](https://github.com/viant/dsc) - Datastore connectivity for SQL, NoSQL, structured files.\n    * [dynago](https://github.com/underarmour/dynago) - Dynago is a principle of least surprise client for DynamoDB\n    * [go-couchbase](https://github.com/couchbase/go-couchbase) - Couchbase client in Go\n    * [go-couchdb](https://github.com/fjl/go-couchdb) - Yet another CouchDB HTTP API wrapper for Go\n    * [gocb](https://github.com/couchbase/gocb) - Official Couchbase Go SDK\n    * [gocql](http://gocql.github.io) - A Go language driver for Apache Cassandra.\n    * [gomemcache](https://github.com/bradfitz/gomemcache/) - memcache client library for the Go programming language.\n    * [gorethink](https://github.com/GoRethink/gorethink) - Go language driver for RethinkDB\n    * [goriak](https://github.com/zegl/goriak) - Go language driver for Riak KV   \n    * [mongo-go-driver](https://github.com/mongodb/mongo-go-driver) - The Go driver for MongoDB\n    * [neo4j](https://github.com/cihangir/neo4j) - Neo4j Rest API Bindings for Golang\n    * [Neo4j-GO](https://github.com/davemeehan/Neo4j-GO) - Neo4j REST Client in golang.\n    * [neoism](https://github.com/jmcvetta/neoism) - Neo4j client for Golang\n    * [redigo](https://github.com/gomodule/redigo) - Redigo is a Go client for the Redis database.\n    * [redis](https://github.com/go-redis/redis) - Redis client for Golang\n    * [redis](https://github.com/hoisie/redis) - A simple, powerful Redis client for Go.\n    * [redis](https://github.com/bsm/redeo) - Redis-protocol compatible TCP servers/services.\n\n* Search and Analytic Databases\n    * [bleve](https://github.com/blevesearch/bleve) - A modern text indexing library for go.\n    * [elastic](https://github.com/olivere/elastic) - Elasticsearch client for Go.\n    * [elastigo](https://github.com/mattbaird/elastigo) - A Elasticsearch client library.\n    * [goes](https://github.com/belogik/goes) - A library to interact with Elasticsearch.\n    * [skizze](https://github.com/seiflotfy/skizze) - A probabilistic data-structures service and storage.\n","projects_url":"https://awesome.ecosyste.ms/api/v1/lists/eric-erki%2Fawesome-go-storage/projects"}