# 数据库
Go中实现的数据库。
- badger - Go中的快速键值存储。
- bcache - 最终一致的分布式内存缓存Go库。
- BigCache - 高效的键/值缓存,用于千兆字节的数据。
- Bitcask - Bitcask是使用纯Go编写的可嵌入,持久且快速的键值(KV)数据库,由于具有bitcask磁盘布局(LSM + WAL),因此具有可预测的读/写性能,低延迟和高吞吐量。
- bolt - Go的低级键/值数据库。
- buntdb - 用于Go的快速,可嵌入的内存中键/值数据库,具有自定义索引和空间支持。
- cache - 内存中键:具有到期时间,0个依存关系,<100 LoC,100%覆盖率的值存储。
- cache2go - 内存键:值缓存,支持基于超时的自动失效。
- clusteredBigCache - 具有集群支持和单个项到期的BigCache。
- cockroach - 可扩展,地理复制,事务性数据存储。
- Coffer - 支持事务的简单ACID键值数据库。
- couchcache - 由Couchbase服务器支持的RESTful缓存微服务。
- CovenantSQL - CovenantSQL是区块链上的SQL数据库。
- dgraph - 可伸缩,分布式,低延迟,高吞吐量图形数据库。
- diskv - 本地磁盘支持的键值存储。
- eliasdb - 具有REST API,短语搜索和类似SQL的查询语言的无依赖关系的事务图数据库。
- fastcache - 快速线程安全的内存高速缓存,用于大量条目。最大限度地减少GC开销。
- GCache - 缓存库,支持过期的缓存,LFU,LRU和ARC。
- go-cache - Go的内存中键:值存储/缓存(类似于Memcached)库,适用于单机应用程序。
- goleveldb - Go中LevelDB键/值数据库的实现。
- gorocksdb - Gorocksdb是用Go编写的 RocksDB 的包装。
- groupcache - Groupcache是一个缓存和缓存填充库,在许多情况下可以替代memcached。
- influxdb - 可扩展的数据存储区,用于指标,事件和实时分析。
- Kivik - Kivik为CouchDB,PouchDB和类似数据库提供了通用的Go和GopherJS客户端库。
- ledisdb - Ledisdb是像基于LevelDB的Redis一样的高性能NoSQL。
- levigo - Levigo是LevelDB的Go包装器。
- moss - Moss是用100%Go编写的简单LSM键值存储引擎。
- nutsdb - Nutsdb是用纯Go编写的简单,快速,可嵌入,持久的键/值存储。它支持完全可序列化的事务和许多数据结构,例如列表,集合,排序集合。
- piladb - 基于堆栈数据结构的轻量级RESTful数据库引擎。
- prometheus - 监视系统和时间序列数据库。
- pudge - 使用Go的标准库编写的快速简单的键/值存储。
- rqlite - 基于SQLite构建的轻型,分布式,关系数据库。
- Scribble - 小型平面文件JSON存储。
- slowpoke - 具有持久性的键值存储。
- tempdb - 临时项目的键值存储。
- tidb - TiDB是分布式SQL数据库。受到Google F1设计的启发。
- tiedot - 由Golang提供支持的NoSQL数据库。
- Vasto - 分布式高性能键值存储。在磁盘上。最终一致。哈。能够增长或收缩而不会中断服务。
- VictoriaMetrics - 快速,资源有效且可扩展的开源时间序列数据库。可用作Prometheus的长期远程存储。支持PromQL。
# 数据库架构迁移
- avro - 发现SQL模式并将其转换为AVRO模式。将SQL记录查询为AVRO字节。
- darwin - Go的数据库架构演化库
- go-fixtures - Golang出色的内置数据库/ sql库的Django样式的夹具。
- go-pg-migrations - 一个Go软件包,可帮助使用go-pg / pg编写迁移。
- gondolier - 使用结构修饰符的数据库迁移库。
- goose - 数据库迁移工具。您可以通过创建增量SQL或Go脚本来管理数据库的演变。
- gormigrate - Gorm ORM的数据库架构迁移帮助器。
- migrate - 数据库迁移。CLI和Golang库。
- migrator - 简单的Go数据库迁移库。
- pravasan - 简单迁移工具-当前用于MySQL,但计划很快支持Postgres,SQLite,MongoDB等。
- schema - 用于在Go二进制文件中嵌入数据库/ sql兼容数据库的模式迁移的库。
- skeema - MySQL的纯SQL模式管理系统,支持分片和外部在线模式更改工具。
- soda - 用于MySQL,PostgreSQL和SQLite的数据库迁移,创建,ORM等。
- sql-migrate - 数据库迁移工具。允许使用go-bindata将迁移嵌入到应用程序中。
# 数据库工具
- bucket - 为Couchbase优化数据结构框架,专门在一个水桶使用。
- chproxy - ClickHouse数据库的HTTP代理。
- clickhouse-bulk - 收集小的广告素材并将大的请求发送到ClickHouse服务器。
- datagen - 可以识别多表并支持多行DML的快速数据生成器。
- dbbench - 数据库基准测试工具,支持多个数据库和脚本。
- go-mysql - Go工具集,用于处理MySQL协议和复制。
- go-mysql-elasticsearch - elasticsearch-自动将您的MySQL数据同步到Elasticsearch。
- kingshard - kingshard是由Golang支持的MySQL的高性能代理。
- myreplication - MySql二进制日志复制侦听器。支持基于语句和行的复制。
- octillery - 用于分片数据库的Go软件包(支持每个ORM或原始SQL)。
- orchestrator - MySQL复制拓扑管理器和可视化器。
- pgweb - 基于Web的PostgreSQL数据库浏览器。
- prep - 使用准备好的SQL语句而不更改代码。
- pREST - 从任何PostgreSQL数据库提供RESTful API。
- rwdb - rwdb为多个数据库服务器设置提供只读副本功能。
- vitess - vitess提供了有助于大规模数据库服务扩展MySQL数据库的服务器和工具。
# SQL查询构建器
用于构建和使用SQL的库。
- dbq - Go的零样板数据库操作。
- Dotsql - Go库,可帮助您将sql文件保存在一个位置并轻松使用它们。
- gendry - 非侵入性SQL构建器和强大的数据绑定器。
- godbal - go的数据库抽象层(dbal)。支持SQL Builder,轻松获得结果。
- goqu - 惯用的 SQL构建器和查询库。
- igor - PostgreSQL的抽象层,支持高级功能并使用类似于gorm的语法。
- jet - 框架写在Go类型安全的SQL查询,有能力轻松地转换数据库查询结果到期望的任意对象结构。
- ormlite - 轻量级软件包,包含一些类似于ORM的功能和sqlite数据库的帮助程序。
- ozzo-dbx - 强大的数据检索方法以及与数据库无关的查询构建功能。
- qry - 使用原始SQL查询从文件生成常量的工具。
- scaneo - 生成Go代码以将数据库行转换为任意结构。
- sqlf - 快速的SQL查询生成器。
- sqrl - SQL查询生成器,Squirrel的分支,具有改进的性能。
- Squalus - Go SQL包上的薄层,使执行查询更加容易。
- Squirrel - Go库,可帮助您构建SQL查询。
- xo - 根据现有的架构定义或支持PostgreSQL,MySQL,SQLite,Oracle和Microsoft SQL Server的自定义查询为数据库生成惯用的Go代码。