存储服务器(Storage Server)
Go 实现的存储服务器
minio– Minio 是一个与 Amazon S3 APIs 兼容的开源对象存储服务器,分布式存储方案
rclone– “用于云存储的 Rsync” – Google Drive, Amazon Drive, S3, Dropbox, Backblaze B2, One Drive, Swift, Hubic, Cloudfile…
camlistore– Camlistore 是你的个人存储系统:一种存储、同步、共享、建模和备份内容的方式
torus– CoreOS 的现代分布式存储系统
s3git– 云存储的 Git。用于数据的分布式版本控制系统
rook– 开放、云本地和通用的分布式存储
Key-Value 存储(Key-Value Store)
Go 实现的 Key-Value 存储
etcd– 可靠的分布式 key-value 存储,用于分布式系统的最关键数据
go-cache– Golang 语言实现的一个内存中的缓存框架,实现 Key-Value 的序列存储,适用于单台机器应用程序
biscuit– Biscuit 用于 AWS 基础架构建设时多区域 HA key-value 存储
diskv– 支持磁盘的 key-value 存储
文件系统(File System)
Go 实现的文件系统
git-lfs– 用于大文件版本控制的 Git 扩展
seaweedfs– SeaweedFS 是一个用于小文件的简单且高度可扩展的分布式文件系统
fsnotify– Golang 实现的跨平台文件系统监控库
goofys– Golang 实现的高性能,POSIX-ish Amazon S3 文件系统
go-systemd– systemd 的 Go 语言绑定版(包括socket activation, journal, D-Bus, 和 unit files)
gcsfuse– 用于与 Google 云存储交互的用户空间文件系统
svfs– 基于 Openstack 的虚拟文件系统
数据库(Database)
Go 实现的数据库
BigCache– 用于千兆字节数据的高效 key/value 缓存
bolt– Golang 实现的低层级的 key/value 数据库
buntdb– 一个 Go 实现的快速、可嵌入的 key/value 内存数据库,具有自定义索引和 geospatial 支持的功能
cache2go– key/value 内存缓存,支持基于超时的自动无效功能
cockroach– 一个可伸缩的、支持地理位置处理、支持事务处理的数据存储系统
couchcache– 由 Couchbase 服务器支持的 RESTful 缓存微服务
dgraph– 具有可扩展、分布式、低延迟和高吞吐量功能的图形数据库
eliasdb– 使用 REST API,短语搜索和类似 SQL 查询语言的无依赖性,支持事务处理的图形数据库
forestdb– Golang bindings for ForestDB.Go 语言绑定版的 ForestDB
GCache– 支持可用缓存、LFU、LRU 和 ARC 的缓存数据库
geocache– An in-memory cache that is suitable for geolocation based applications.适用于 地理位置处理基于应用程序的内存缓存
goleveldb– An implementation of theLevelDBkey/value database in the Go.Go 实现的 LevelDB key/value 数据库
groupcache– Groupcache 是一个缓存和缓存填充库,在许多情况下用于替代 memcached
influxdb– 开源的分布式指标、事件和实时分析的可扩展数据库
ledisdb– 基于 LevelDB 类似 Redis 的高性能 NoSQL 数据库
levigo– 用于 LevelDB 的 Go 封装包
moss– Go 实现的简单 LSM key-value 存储引擎
piladb– 基于堆栈数据结构的轻量级 RESTful 数据库引擎
pREST– 为任何来自 PostgreSQL 的数据库提供一个 RESTful API
prometheus– 服务监控系统和时间序列数据库
rqlite– 基于 SQLite 构建的轻量级、分布式关系数据库
scribble– 一个小型的 Flat File JSON 存储
tidb– TiDB 是一个分布式 SQL 数据库,灵感来自于 Google F1 和 Google spanner。TiDB 支持包括传统 RDBMS 和 NoSQL 的特性。
tiedot– 基于 Go 的 NoSQL 数据库
Tile38– 具有空间索引和实时地理围栏的地理位置数据库
数据库迁移
darwin– Go 实现的数据库 schema 演进库
goose– 数据库迁移工具。可通过创建增量 SQL 或 Go 脚本来管理数据库的演变
gormigrate– Gorm ORM 的数据库迁移助手
migrate– Golang 实现的数据库迁移处理,支持 MySQL, PostgreSQL, Cassandra, 和 SQLite
pravasan– 简单的迁移工具,目前支持 MySQL,PostgreSQL,但计划很快支持 SQLite, MongoDB 等
soda– 具有数据库迁移、创建和 ORM 等功能,适用于 MySQL, PostgreSQL, 和 SQLite
sql-migrate– 数据库 schema 迁移工具。允许使用 go-bindata 将迁移嵌入到应用程序中
数据库工具
go-mysql– Golang 实现的用于处理 MySQL 协议和复制的工具集
go-mysql-elasticsearch– 将 MySQL 数据自动同步到 Elasticsearch 中
kingshard– Golang 实现的高性能 MySQL Proxy 项目
myreplication– MySQL 二进制日志复制监听器。支持语句和基于行的复制
orchestrator– MySQL 复制拓扑管理器和可视化工具
pgweb– Go 实现的基于 Web 的 PostgreSQL 数据库管理系统
vitess– 分布式 MySQL 工具集。vitess 提供了服务器和工具,以便于大规模 Web 服务的 MySQL 数据库扩展
SQL 查询构建器,用于构建和使用 SQL 的库
dat– Go 实现的 Postgres 数据访问工具包
Dotsql– Golang 语言实现的库,可帮助你将 sql 文件保存至某个地方并轻松使用它
goqu– Go 实现的 SQL 构建器和查询库
igor– PostgreSQL 的抽象层,支持高级功能并使用类似 Gorm 的语法
ozzo-dbx– 强大的数据检索方法以及 DB-agnostic 查询构建功能
scaneo– 生成 Go 代码以将数据库行转换为任意结构
sqrl– SQL 查询构建器,Squirrel 的 fork 具有更好的性能
Squirrel– 帮助你构建 SQL 查询的 Go 库
xo– 基于现有 schema 定义或支持 PostgreSQL,MySQL,SQLite,Oracle 和 Microsoft SQL Server 的自定义查询生成数据库的惯用 Go 代码
数据库驱动
用于连接和操作数据库的库
关系数据库
bgc– Go 实现的用于 BigQuery 的数据存储连接
firebirdsql– Firebird RDBMS SQL 驱动
go-adodb– Microsoft ActiveX Object 数据库驱动,使用 database/sql
go-bqstreamer– BigQuery 快速并发流插入
go-mssqldb– Microsoft MSSQL 驱动
go-oci8– Oracle 驱动,使用 database/sql
go-sql-driver/mysql– MySQL 驱动
go-sqlite3– SQLite3 驱动,使用 database/sql
gofreetds– Microsoft MSSQL 驱动。Go wrapper overFreeTDS.
pgx– PostgreSQL 驱动
pq– Go 实现的用于 database/sql 的 Postgres 驱动
NoSQL 数据库
aerospike-client-go– Go 实现的 Aerospike 客户端
arangolite– Go 实现的 ArangoDB 轻量级驱动程序
asc– 用于 Aerospike 的数据存储连接
cayley– 支持多个后端的图形数据库
dsc– 用于 SQL, NoSQL 以及结构化文件的数据存储连接
dynago– DynamoDB 的客户端
go-couchbase– Golang 实现的 Couchbase 客户端
go-couchdb– Go 实现的 CouchDB HTTP API 封装包
gocb– 官方的 Couchbase Go SDK 包
gocql– Go 实现的 Apache Cassandra 驱动
gomemcache– memcache 客户端库
gorethink– RethinkDB 驱动
goriak– Riak KV 驱动
mgo– MongoDB 驱动,它根据标准 Go 习惯用法在非常简单的 API 下实现丰富且经过良好测试的功能选择
neo4j– Neo4j Rest API 绑定
Neo4j-GO– Neo4j REST 客户端
neoism– Neo4j client 客户端
redigo– Redis 数据库客户端
redis– Redis 客户端
redis– 简单强大的 Redis 客户端
redis– Redis 协议兼容 TCP servers/services
搜索和分析数据库
bleve– 现代文本索引库
elastic– Elasticsearch 客户端
elastigo– Elasticsearch 客户端库
goes– 与 Elasticsearch 交互的库
skizze– A probabilistic data-structures service and storage.数据结构服务和存储