Fantastischer Go -Speicher
Eine kuratierte Liste von Awesome Go -Speicherprojekten und Bibliotheken. Inspiriert von Awesome-Go.
Beitragen
Bitte beachten Sie zuerst die Beitragsrichtlinien. Vielen Dank an alle Mitwirkenden; Du rockst!
Wenn Sie hier ein Paket oder ein Projekt sehen, das nicht mehr gewartet wird oder nicht gut passt, senden Sie bitte eine Pull -Anfrage zur Verbesserung dieser Datei. Danke schön!
Inhalt
- Fantastischer Go -Speicher
- Speicherserver
- Schlüsselwert
- Dateisystem
- Datenbank
- Datenbanktreiber
Speicherserver
Speicherserver in GO implementiert.
- Minio - Minio ist ein Open -Source -Objektspeicherserver, der mit Amazon S3 APIs kompatibel ist.
- Rclone - "RSYNC für Cloud -Speicher" - Google Drive, Amazon Drive, S3, Dropbox, Backblaze B2, ein Laufwerk, Swift, Hubic, CloudFile…
- Perkeep - pro Keep ist Ihr persönliches Speichersystem für das Leben: eine Möglichkeit, Inhalte zu speichern, zu synchronisieren, zu teilen, zu modellieren und zu unterstützen.
- S3Git - Git für Cloud -Speicher. Verteilte Versionskontrolle für Daten.
- STORJ - Dezentraler Cloud -Objektspeicher, der erschwinglich, einfach zu bedienen, privat und sicher ist.
- Rook - Open, Cloud Native und Universal Distributed Storage.
- Longhorn - Longhorn ist ein Open -Source -Blockspeicherserver, der über Container geliefert wird.
Schlüsselwert
Schlüsselwertgeschäft in GO implementiert.
- Bitcask-Bitcask ist eine eingebettbare, persistente und schnelle Taste-Wert-Datenbank (KV), die dank des Bitcask On-Disk-Layouts (LSM+Wal) in reinem GO mit vorhersehbarer Lese-/Schreibleistung, niedriger Latenz und hohem Durchsatz geschrieben wurde.
- Bitraft-Bitraft ist ein verteiltes Raft-basierter Schlüssel-/Wertspeicher mit einem redis-kompatiblen Protokoll. Es verwendet Bitcask für hohe Leistung/gesamte und niedrige Latenz.
- Badgerdb - Badgerdb ist eine eingebettbare, anhaltende, einfache und schnelle Taste -Wert -Datenbank (KV) in Pure Go. Es soll eine leistungsfähige Alternative zu nicht-go-basierten Schlüsselwertgeschäften wie RocksDB sein.
- Säule-Einbettbar, Säule, In-Memory-Speicher mit Bitmap-Indexierung, Transaktion und Null-Alloc-Abfragen.
- Konsul - Verteilte konsistente replizierte Schlüsselwertespeicher für die Erkennung und Konfiguration von Service.
- Diskv-Ein mit Disketten unterstützter Schlüsselwertgeschäft.
- ETCD - Verteilte zuverlässige Schlüsselwertspeicher für die kritischsten Daten eines verteilten Systems.
- Go-Cache-Ein Memory-Schlüssel: Wertspeicher/Cache (ähnlich wie bei der Memcached) für GO, geeignet für Einzelmaschine-Anwendungen.
- ICEFIREDB - Verteilte Festplattenspeicherdatenbank mithilfe der RAFT- und REDIS -Protokolle.
- NutsDB - NutsDB ist ein einfacher, schneller, eingebettbarer, persistierender Schlüssel-/Wertspeicher, der in reinem Go geschrieben wurde. Es unterstützt vollständig serialisierbare Transaktionen und viele Datenstrukturen wie List, Set, Sortiertersatz.
- POGREB-eingebetteter Schlüsselwertgeschäft für lesebastige Workloads.
- Rosedb - Eine schnelle, stabile und eingebettete KV -Datenbank in Pure Golang unterstützt String, List, Hash, Set, sortiert.
- LOTUSDB - Schneller K/V -Speicher, kompatibel mit LSM -Baum und B+Baum.
Dateisystem
Dateisysteme in GO implementiert.
- Afero - Ein Dateisystem -Abstraktionssystem für Go
- fSnotify - plattformübergreifende Dateisystembenachrichtigungen für GO.
- Juicefs - Ein verteiltes POSIX -Dateisystem, das oben auf Redis und S3 basiert.
- GCSFUSE - Ein Benutzer -Raum -Dateisystem zur Interaktion mit Google Cloud -Speicher.
- GIT -LFS - GIT -Erweiterung für die Versionierung großer Dateien.
- Go-System-GO-Bindungen an die Systemd-Socket-Aktivierung, das Journal, die D-Bus und die Einheitsdateien.
- Goofys-Ein leistungsstarkes, posixes Amazon S3-Dateisystem in Go.
- MinikeyValue - A ~ 1000 Line Distributed Key Value Store.
- Seaughfs - Seaughfs ist ein einfaches und hochskalbares verteiltes Dateisystem für kleine Dateien.
- SVFS - Ein virtuelles Dateisystem über OpenStack Swift, das auf Sicherung baut.
Datenbank
Datenbanken in GO implementiert.
- BigCache - Effizienter Schlüssel/Wert -Cache für Gigabyte von Daten.
- Bolt - Eine Taste/Value -Datenbank auf niedriger Ebene für GO. Diese Originalversion von Ben Johnson wurde als nicht berücksichtigt und von etcd-io bbolt gegabelt.
- BUNTDB - Eine schnelle, eingebettbare In -Memory -Schlüssel-/Wert -Datenbank für die benutzerdefinierte Indexierung und räumliche Unterstützung.
- Cache2go - Ein Memory -Schlüssel: Wertcache, der die automatische Ungültigkeit basierend auf Timeouts unterstützt.
- Clover - Eine leichte dokumentorientierte NoSQL -Datenbank, die in reinem Golang geschrieben wurde.
- Kakerlake - ein skalierbarer, geo -replikatter Transaktionsdatastore
- Couchcache - Ein erholsamer Micro -Service, der von Couchbase Server unterstützt wird.
- CovenantsQL - Eine SQL -Datenbank mit Blockchain -Funktionen.
- DGRAPH - Skalierbares, verteiltes, niedriges Latenz, Hochdurchsatz -Diagrammdatenbank.
- Diskv-Ein mit selbst ausgebauter Diskussionsgeschäft unterstützter Schlüsselwert.
- DOLT-Eine MySQL-kompatible Datenbank mit Versionskontrolle im Git-Stil. Die erste SQL -Datenbank können Sie verzweigen und zusammenführen.
- ELIASDB-Abhängige, transaktionale Diagrammdatenbank mit REST-API, Phrasensuche und SQL-ähnlicher Abfragesprache.
- Emitter-Skalierbare, niedrige Latenz, verteilte und sichere Pub/Sub-Datenbank mit Zeitreinig-Nachrichtenspeicher, geeignet für IoT, Gaming, Apps und Echtzeit-Web.
- ForestDB - GO -Bindungen für ForestDB.
- FROSTDB - Einbettungsbare Spaltendatenbank in Go geschrieben.
- GCACHE - Cache -Bibliothek mit Unterstützung für den Ausfall Cache, LFU, LRU und ARC.
- Geocache - Ein in Memory -Cache, der für geolokationsbasierte Anwendungen geeignet ist.
- Go-Cache-Ein Memory-Schlüssel: Wertspeicher/Cache (ähnlich wie bei der Memcached) für GO, geeignet für Einzelmaschine-Anwendungen.
- GODIS - Ein Golang implementiert Hochleistungs -Redis -Server und Cluster
- GolevelDB - Eine Implementierung der Taste/Wert -Datenbank von LevelDB in der GO.
- GroupCache - GroupCache ist eine Caching- und Cache -Filling -Bibliothek, die in vielen Fällen als Ersatz für Memcached bestimmt ist.
- Immudb - Datenbank mit integriertem kryptografischem Beweis und Überprüfungen. Kann als Schlüsselwertspeicher oder als relationale Datenbank (SQL) wirken.
- InfluxDB - Skalierbarer Datenspeicher für Metriken, Ereignisse und Echtzeitanalysen
- LEDISDB - LEDISDB ist eine hochleistungsfähige NoSQL -ähnliche Redis, die auf LevelDB basiert.
- Levigo - Levigo ist eine Go -Wrapper für LevelDB.
- Moss - Moos ist eine einfache LSM -Schlüsselwerte -Speichermotor, die in 100% GO geschrieben wurde.
- NOMS - Die versionierte, gabelhafte, synzierbare Datenbank.
- ObjectBox -Go - Embedded Object Database (NoSQL) mit GO -API.
- PILADB - Leichte Rastful -Datenbank -Engine basierend auf Stapeldatenstrukturen.
- PRESTT - DIENEN Sie eine erholsame API aus jeder PostgreSQL -Datenbank.
- Prometheus - Überwachungssystem und Zeitreihendatenbank.
- RQLite - Die auf SQLite basierende leichte, verteilte, relationale Datenbank.
- Scribble - Eine winzige Flat -Datei JSON -Store.
- SpicedB - Eine von Sansibar inspirierte Datenbank, die Anwendungsberechtigungen mit Unterstützung mehrerer Datenbank -Backends speichert, berechnet und validiert.
- TIDB - TIDB ist eine verteilte SQL -Datenbank. Inspiriert vom Design von Google F1.
- BETIDOT - Ihre NoSQL -Datenbank, die von Golang betrieben wird.
- TILE38 - Ein Geolocation DB mit räumlicher Index und Echtzeitgeofencing.
- Victoriametrics - Zeitreihendatenbank für die Überwachung entwickelt, kompatibel mit PromQL (von Promethueus) und InfluxQL (von InfluxDB).
Datenbankschema -Migration.
- Darwin - Datenbankschema Evolution Library für Go
- Gans - Datenbankmigrationstool. Sie können die Entwicklung Ihrer Datenbank verwalten, indem Sie inkrementelle SQL- oder GO -Skripte erstellen.
- Gormigrate - Datenbankschema -Migration Helfer für Gorm ORM.
- Migrate - Datenbank -Migrationsbehandlung in Golang unterstützen MySQL, PostgreSQL, Cassandra und SQLite.
- Pravasan - Einfaches Migrationsinstrument - derzeit für MySQL, aber plant, bald für Postgres, SQLite, MongoDB usw. zu unterstützen, usw.
- Soda - Datenbankmigration, Erstellung, ORM usw. für MySQL, PostgreSQL und SQLite.
- SQL -Migrate - Datenbankmigrationstool. Ermöglicht das Einbetten von Migrationen in die Anwendung mit GO-Bindata.
Datenbank -Tools.
- GO -MYSQL - Ein Go Toolset, um das MySQL -Protokoll und die Replikation zu verarbeiten.
- GO-MYSQL-ELASTICSEARCH-Synchronisieren Sie Ihre MySQL-Daten automatisch in Elasticsarch.
- KINGSHARD - Kingshard ist ein Hochleistungs -Proxy für MySQL, der von Golang betrieben wird.
- MyRakization - MySQL Binary Log Replication Listener. Unterstützungsrechnung und zeilenbasierte Replikation.
- Orchestrator - MySQL Replication Topology Manager & Visualizer
- PGWEB - Ein webbasiertes PostgreSQL -Datenbankbrowser
- Vitess - Vitess bietet Servern und Tools, die die Skalierung von MySQL -Datenbanken für große Webdienste erleichtern.
- USQL - Universal Command -Line -Schnittstelle für SQL -Datenbanken
SQL Query Builder, Bibliotheken zum Erstellen und Verwenden von SQL.
- BuildSQLX - GO Database Query Builder Library
- dat - postgres Data Access Toolkit gehen
- DOTSQL - GO -Bibliothek, mit der Sie SQL -Dateien an einem Ort aufbewahren und sie problemlos verwenden.
- Goqu - Ein idiomatischer SQL Builder und Abfragebibliothek.
- Grimoire - Grimoire ist eine Datenbankzugriffsschicht und Validierung für Golang. (Unterstützung: MySQL, PostgreSQL und SQLite3).
- IGOR - Abstraktionsschicht für PostgreSQL, die erweiterte Funktionalität unterstützt und GORM -ähnliche Syntax verwendet.
- OZZO-DBX-leistungsstarke Datenabrufmethoden sowie DB-Agnostic-Abfragen-Fähigkeiten.
- SQLBOILER - Ein Tool zum Erstellen eines Go -ORM, das auf Ihr Datenbankschema zugeschnitten ist. Es handelt sich um ein "Datenbank-First" -Preme im Gegensatz zu "Code-First", und Sie müssen zuerst Ihre Datenbank erstellen.
- SQRL - SQL Query Builder, Gabel des Eichhörnchens mit verbesserter Leistung.
- Squirrel - Go Library, mit der Sie SQL -Abfragen erstellen können.
- XO - Generieren Sie idiomatischen GO -Code für Datenbanken basierend auf vorhandenen Schema -Definitionen oder benutzerdefinierten Abfragen, die PostgreSQL, MySQL, SQLite, Oracle und Microsoft SQL Server unterstützen.
Datenbanktreiber
Bibliotheken zum Verbinden und Betrieb von Datenbanken.