Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

awesome-go-storage

A curated list of awesome Go storage projects and libraries
https://github.com/gostor/awesome-go-storage

Last synced: 2 days ago
JSON representation

  • Database

    • soda - Database migration, creation, ORM, etc... for MySQL, PostgreSQL, and SQLite.
    • BigCache - Efficient key/value cache for gigabytes of data.
    • 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](https://github.com/etcd-io/bbolt).
    • buntdb - A fast, embeddable, in-memory key/value database for Go with custom indexing and spatial support.
    • cache2go - An in-memory key:value cache which supports automatic invalidation based on timeouts.
    • clover - A lightweight document-oriented NoSQL database written in pure Golang.
    • cockroach - A Scalable, Geo-Replicated, Transactional Datastore
    • couchcache - A RESTful caching micro-service backed by Couchbase server.
    • CovenantSQL - A SQL Database with Blockchain features.
    • dgraph - Scalable, Distributed, Low Latency, High Throughput Graph Database.
    • diskv - A home-grown disk-backed key-value store.
    • dolt - A MySQL-compatible database with Git-style version control. The first SQL database you can branch and merge.
    • eliasdb - Dependency-free, transactional graph database with REST API, phrase search and SQL-like query language.
    • emitter - Scalable, low-latency, distributed & secure pub/sub database with time-series message storage, suitable for IoT, gaming, apps and real-time web.
    • forestdb - Go bindings for ForestDB.
    • frostdb - Embeddable column database written in Go.
    • GCache - Cache library with support for expirable Cache, LFU, LRU and ARC.
    • 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.
    • godis - A Golang implemented high-performance Redis server and cluster
    • goleveldb - An implementation of the [LevelDB](https://github.com/google/leveldb) key/value database in the Go.
    • groupcache - Groupcache is a caching and cache-filling library, intended as a replacement for memcached in many cases.
    • immudb - Database with built-in cryptographic proof and verification. Can operate as a key-value store or as relational database (SQL).
    • influxdb - Scalable datastore for metrics, events, and real-time analytics
    • ledisdb - Ledisdb is a high performance NoSQL like Redis based on LevelDB.
    • levigo - Levigo is a Go wrapper for LevelDB.
    • moss - Moss is a simple LSM key-value storage engine written in 100% Go.
    • noms - The versioned, forkable, syncable database.
    • objectbox-go - Embedded Object Database (NoSQL) with Go API.
    • piladb - Lightweight RESTful database engine based on stack data structures.
    • pREST - Serve a RESTful API from any PostgreSQL database.
    • prometheus - Monitoring system and time series database.
    • rqlite - The lightweight, distributed, relational database built on SQLite.
    • scribble - A tiny flat file JSON store.
    • SpiceDB - A [Zanzibar](https://research.google/pubs/pub48190/)-inspired database that stores, computes, and validates application permissions with support for multiple database backends.
    • tidb - TiDB is a distributed SQL database. Inspired by the design of Google F1.
    • tiedot - Your NoSQL database powered by Golang.
    • Tile38 - A geolocation DB with spatial index and realtime geofencing.
    • darwin - Database schema evolution library for Go
    • 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.
    • migrate - Database migration handling in Golang support MySQL, PostgreSQL, Cassandra, and SQLite.
    • pravasan - Simple Migration tool - currently for MySQL but planning to support soon for Postgres, SQLite, MongoDB, etc.,
    • sql-migrate - Database migration tool. Allows embedding migrations into the application using go-bindata.
    • go-mysql-elasticsearch - Sync your MySQL data into Elasticsearch automatically.
    • kingshard - kingshard is a high performance proxy for MySQL powered by Golang.
    • myreplication - MySql binary log replication listener. Support statement and row based replication.
    • orchestrator - MySQL replication topology manager & visualizer
    • pgweb - A web-based PostgreSQL database browser
    • vitess - vitess provides servers and tools which facilitate scaling of MySQL databases for large scale web services.
    • usql - universal command-line interface for SQL databases
    • buildsqlx - Go Database query builder library
    • dat - Go Postgres Data Access Toolkit
    • Dotsql - Go library that helps you keep sql files in one place and use it with ease.
    • goqu - An idiomatic SQL builder and query library.
    • grimoire - Grimoire is a database access layer and validation for golang. (Support: MySQL, PostgreSQL and SQLite3).
    • igor - Abstraction layer for PostgreSQL that supports advanced functionality and uses gorm-like syntax.
    • ozzo-dbx - Powerful data retrieval methods as well as DB-agnostic query building capabilities.
    • 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.
    • sqrl - SQL query builder, fork of Squirrel with improved performance.
    • Squirrel - Go library that helps you build SQL queries.
    • xo - Generate idiomatic Go code for databases based on existing schema definitions or custom queries supporting PostgreSQL, MySQL, SQLite, Oracle, and Microsoft SQL Server.
    • go-mysql - A go toolset to handle MySQL protocol and replication.
  • Storage Server

    • minio - Minio is an open source object storage server compatible with Amazon S3 APIs.
    • rclone - "rsync for cloud storage" - Google Drive, Amazon Drive, S3, Dropbox, Backblaze B2, One Drive, Swift, Hubic, Cloudfile…
    • perkeep - Perkeep is your personal storage system for life: a way of storing, syncing, sharing, modelling and backing up content.
    • s3git - Git for Cloud Storage. Distributed Version Control for Data.
    • storj - Decentralized cloud object storage that is affordable, easy to use, private, and secure.
    • rook - Open, Cloud Native, and Universal Distributed Storage.
    • 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).
    • Bitraft - Bitraft is a distributed raft-based key/value store with a Redis-compatible protocol. It uses [Bitcask](https://git.mills.io/prologic/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.
    • column - Embeddable, columnar, in-memory store with bitmap indexing, transaction and zero-alloc quering.
    • consul - Distributed consistent replicated key-value store for service discovery and configuration.
    • etcd - Distributed reliable key-value store for the most critical data of a distributed system.
    • go-cache - An in-memory key:value store/cache (similar to Memcached) library for Go, suitable for single-machine applications.
    • 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.
    • pogreb - Embedded key-value store for read-heavy workloads.
    • rosedb - A fast, stable and embedded k-v database in pure Golang, supports string, list, hash, set, sorted set.
    • LotusDB - Fast k/v storage compatible with lsm tree and b+tree.
  • File System

    • afero - A FileSystem Abstraction System for Go
    • fsnotify - Cross-platform file system notifications for Go.
    • juicefs - A distributed POSIX file system built on top of Redis and S3.
    • gcsfuse - A user-space file system for interacting with Google Cloud Storage.
    • git-lfs - Git extension for versioning large files.
    • go-systemd - Go bindings to systemd socket activation, journal, D-Bus, and unit files.
    • goofys - A high-performance, POSIX-ish Amazon S3 file system written in Go.
    • minikeyvalue - A ~1000 line distributed key value store.
    • seaweedfs - SeaweedFS is a simple and highly scalable distributed file system for small files.
    • svfs - A virtual file system over Openstack Swift built upon fuse.
  • Database Drivers

    • bgc - Datastore Connectivity for BigQuery for go.
    • firebirdsql - Firebird RDBMS SQL driver for Go
    • go-adodb - Microsoft ActiveX Object DataBase driver for go that using database/sql.
    • go-mssqldb - Microsoft MSSQL driver in go language.
    • go-oci8 - Oracle driver for go that using database/sql.
    • go-sql-driver/mysql - MySQL driver for Go.
    • go-sqlite3 - SQLite3 driver for go that using database/sql.
    • gofreetds
    • pgx - PostgreSQL driver supporting features beyond those exposed by database/sql.
    • pq - Pure Go Postgres driver for database/sql.
    • aerospike-client-go - Aerospike client in Go language.
    • arangolite - Lightweight golang driver for ArangoDB.
    • asc - Datastore Connectivity for Aerospike for go.
    • cayley - A graph database with support for multiple backends.
    • dsc - Datastore connectivity for SQL, NoSQL, structured files.
    • dynago - Dynago is a principle of least surprise client for DynamoDB
    • go-couchbase - Couchbase client in Go
    • go-couchdb - Yet another CouchDB HTTP API wrapper for Go
    • gocb - Official Couchbase Go SDK
    • gomemcache - memcache client library for the Go programming language.
    • gorethink - Go language driver for RethinkDB
    • goriak - Go language driver for Riak KV
    • mongo-go-driver - The Go driver for MongoDB
    • neo4j - Neo4j Rest API Bindings for Golang
    • Neo4j-GO - Neo4j REST Client in golang.
    • neoism - Neo4j client for Golang
    • redigo - Redigo is a Go client for the Redis database.
    • redis - Redis client for Golang
    • redis - A simple, powerful Redis client for Go.
    • redeo - Redis-protocol compatible TCP servers/services.
    • bleve - A modern text indexing library for go.
    • elastic - Elasticsearch client for Go.
    • elastigo - A Elasticsearch client library.
    • skizze - A probabilistic data-structures service and storage.
    • Fiber Storage - Premade storage drivers that implement the [Storage](https://github.com/gofiber/storage/blob/main/storage.go) interface.
    • 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)
    • go-bqstreamer - BigQuery fast and concurrent stream insert.