優秀的 Go 儲存開源項目和庫

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。

可以看到,今年Google家的 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 是一個用於小檔案的簡單且高度可擴充的Distributed File System
  • 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 - 用於千MB資料的高效 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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.