炙手可熱,那些優秀的?Go 存儲開源項目和庫

linchuan02 8年前發布 | 11K 次閱讀 數據庫 開源 Google Go/Golang開發

可以看到,今年谷歌家的 Go 編程語言流行度有著驚人的上升趨勢,其發展也是越來越好,因此本文整理了一些優秀的 Go 存儲相關開源項目和庫,一起分享,一起學習。

存儲服務器(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  - Go 語言實現的一個內存中的緩存框架,實現 Key-Value 的序列存儲,適用于單臺機器應用程序
  • biscuit  - Biscuit 用于 AWS 基礎架構建設時多區域 HA key-value 存儲
  • diskv  - 支持磁盤的 key-value 存儲

文件系統(File System)

Go 實現的文件系統

  • git-lfs  - 用于大文件版本控制的 Git 擴展
  • seaweedfs  - SeaweedFS 是一個用于小文件的簡單且高度可擴展的分布式文件系統
  • fsnotify  - Go 實現的跨平臺文件系統監控庫
  • goofys  - Go 實現的高性能,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  - Go 實現的低層級的 key/value 數據庫
  • buntdb  - 一個 Go 實現的快速、可嵌入的 key/value 內存數據庫,具有自定義索引和 geospatial 支持的功能
  • cache2go  - key/value 內存緩存,支持基于超時的自動無效功能
  • cockroach  - 一個可伸縮的、支持地理位置處理、支持事務處理的數據存儲系統
  • couchcache  - 由 Couchbase 服務器支持的 RESTful 緩存微服務
  • dgraph  - 具有可擴展、分布式、低延遲和高吞吐量功能的圖形數據庫
  • eliasdb  - 使用 REST API,短語搜索和類似 SQL 查詢語言的無依賴性,支持事務處理的圖形數據庫
  • forestdb  - Go 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 the  LevelDB  key/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  - Go 實現的數據庫遷移處理,支持 MySQL, PostgreSQL, Cassandra, 和 SQLite
  • pravasan  - 簡單的遷移工具,目前支持 MySQL,PostgreSQL,但計劃很快支持 SQLite, MongoDB 等
  • soda  - 具有數據庫遷移、創建和 ORM 等功能,適用于 MySQL, PostgreSQL, 和 SQLite
  • sql-migrate  - 數據庫 schema 遷移工具。允許使用 go-bindata 將遷移嵌入到應用程序中

數據庫工具

  • go-mysql  - Go 實現的用于處理 MySQL 協議和復制的工具集
  • go-mysql-elasticsearch  - 將 MySQL 數據自動同步到 Elasticsearch 中
  • kingshard  - Go 實現的高性能 MySQL Proxy 項目
  • myreplication  - MySQL 二進制日志復制監聽器。支持語句和基于行的復制
  • orchestrator  - MySQL 復制拓撲管理器和可視化工具
  • pgweb  - Go 實現的基于 Web 的 PostgreSQL 數據庫管理系統
  • vitess  - 分布式 MySQL 工具集。vitess 提供了服務器和工具,以便于大規模 Web 服務的 MySQL 數據庫擴展

SQL 查詢構建器,用于構建和使用 SQL 的庫

  • dat  - Go 實現的 Postgres 數據訪問工具包
  • Dotsql  - Go 語言實現的庫,可幫助你將 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 over  FreeTDS .
  • 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  - Go 實現的 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.數據結構服務和存儲

來自: https://github.com/gostor/awesome-go-storage

 

來自:https://my.oschina.net/editorial-story/blog/838672

 

 本文由用戶 linchuan02 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!