explaingit

gostor/awesome-go-storage

4,713Audience · developerComplexity · 1/5Setup · easy

TLDR

A curated, categorized list of Go libraries and tools for every type of data storage, caches, databases, file systems, search engines, and more. A starting point for Go developers choosing a storage solution.

Mindmap

mindmap
  root((awesome-go-storage))
    What it covers
      Block storage
      Cache systems
      Databases
      File systems
      Search engines
    Database types
      Relational SQL
      Key-value stores
      Time-series DBs
      Graph databases
    Who uses it
      Go developers
      Backend engineers
      Systems builders
    Format
      Curated README list
      Linked Go projects
      Go client libraries
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Browse categorized Go storage libraries to find the right database or cache for your Go application.

USE CASE 2

Compare Go client libraries for popular technologies like Redis, PostgreSQL, or Elasticsearch.

USE CASE 3

Discover Go-native database implementations written entirely in Go without external dependencies.

USE CASE 4

Quickly evaluate options across multiple storage types in one place.

Tech stack

GoMarkdownREADME

Getting it running

Difficulty · easy Time to first run · 5min

No installation needed, browse the README on GitHub to find links to individual libraries. Each linked library has its own installation and setup instructions.

License not specified in the explanation.

In plain English

This repository is a curated list of Go storage projects and libraries, organized into categories so developers can find the right tool for their data needs without searching through scattered documentation or package indexes. It does not contain code itself, instead, it collects links to other open-source projects and gives each a short description. The list is divided into five main sections. Storage servers covers tools that run as standalone services, such as Minio (an Amazon S3-compatible object store) and Storj (a decentralized cloud storage system). The key-value store section lists databases that save data as simple key-value pairs, including BadgerDB, etcd, and nutsdb, which vary in whether they live in memory, on disk, or across a cluster of machines. File system entries cover libraries that expose storage through a file interface, from fsnotify (which watches files for changes) to JuiceFS (which builds a distributed filesystem on top of Redis and S3). The database section goes broader, cataloguing in-memory caches, embedded databases, graph databases, and even a SQL database with version control built in. Each entry names the project and describes what makes it different from neighbors on the list. A separate section covers database drivers, which are the connectors programs use to talk to existing databases like MySQL or Postgres. This kind of list is commonly called an "awesome list" in the open-source world, a format that collects the best-known options in a given area so newcomers can get oriented quickly. The Go community has many such lists, this one focuses specifically on anything related to storing data using the Go programming language. If you are looking for a way to save data in a Go application and do not know where to start, this list gives you a browsable overview of the options available, grouped by the type of storage problem you are trying to solve.

Copy-paste prompts

Prompt 1
I'm building a Go backend and need a fast in-memory cache. Based on the awesome-go-storage list, what are the top Go cache libraries and how do I use one?
Prompt 2
I need to add a time-series database to my Go application. What Go-compatible time-series storage options exist and how do I connect to one?
Prompt 3
Show me how to use a Go key-value store library from the awesome-go-storage list to persist simple string data to disk.
Prompt 4
I'm building a Go service that needs full-text search. What search engine client libraries for Go are available and how do I do a basic query?
Open on GitHub → Explain another repo

← gostor on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.