Rangement de go génial
Une liste organisée de projets de stockage GO impressionnants et de bibliothèques. Inspiré par le go génial.
Contributif
Veuillez d'abord jeter un coup d'œil rapide aux directives de contribution. Merci à tous les contributeurs; Vous rockez!
Si vous voyez un package ou un projet ici qui n'est plus maintenu ou n'est pas un bon ajustement, veuillez soumettre une demande de traction pour améliorer ce fichier. Merci!
Contenu
- Rangement de go génial
- Serveur de stockage
- Magasin de valeurs clés
- Système de fichiers
- Base de données
- Pilotes de base de données
Serveur de stockage
Les serveurs de stockage implémentés dans GO.
- MINIO - MINIO est un serveur de stockage d'objets open source compatible avec les API Amazon S3.
- RCLONE - "RSYNC pour le stockage cloud" - Google Drive, Amazon Drive, S3, Dropbox, Backblaze B2, One Drive, Swift, Hubic, CloudFile…
- Perkeep - Perkeep est votre système de stockage personnel pour la vie: un moyen de stockage, de synchronisation, de partage, de modélisation et de sauvegarde du contenu.
- S3GIT - GIT pour le stockage cloud. Contrôle de version distribuée pour les données.
- Storj - stockage d'objets cloud décentralisé qui est abordable, facile à utiliser, privé et sécurisé.
- Rook - Open, Native Native et Universal Distributed Storage.
- Longhorn - Longhorn est un serveur de stockage de blocs persistant open source livré via des conteneurs.
Magasin de valeurs clés
Magasin de valeurs clés implémentée dans GO.
- BitCask - Bitcask est une base de données intégrée, persistante et rapide de valeurs clés (KV) écrite en pure Go avec des performances de lecture / écriture prévisibles, une latence faible et un débit élevé grâce à la disposition Bitcask On Disk (LSM + WAL).
- Bitraft - Bitraft est un magasin de touches / valeur distribué basé sur des radeaux avec un protocole compatible Redis. Il utilise Bitcask pour les hautes performances / tout au long et la faible latence.
- BADGERDB - BADGERDB est une base de données de valeur clé (KV) intégrée, persistante, simple et rapide écrite en GO Pure. Il est censé être une alternative performante aux magasins de valeurs clés non basés sur les GO comme ROCKSDB.
- COLUMNE - EmbedDable, Colmnar, In-Memory Store avec indexation bitmap, transaction et quering zéro-alloc.
- Consul - Magasin de valeur clé répliquée cohérente pour la découverte et la configuration de service.
- DISKV - Un magasin de valeurs clés à dos de disque.
- ETCD - Store de valeurs de clé fiable distribuée pour les données les plus critiques d'un système distribué.
- GO-CACHE - Une bibliothèque en mémoire: Value Store / Cache (similaire à la bibliothèque Memcached) pour GO, adaptée aux applications uniques.
- IcefiredB - base de données de stockage de disque distribuée à l'aide des protocoles RAFT et Redis.
- NUTSDB - NUTSDB est un magasin / valeur simple, rapide, rapide, intégré et persistant écrit en Pure Go. Il prend en charge les transactions entièrement sérialisables et de nombreuses structures de données telles que la liste, le jeu, le jeu trié.
- POGREB - Magasin de valeur de clé intégrée pour les charges de travail en lecture.
- RosedB - Une base de données KV rapide, stable et intégrée dans Pure Golang, prend en charge la chaîne, la liste, le hash, le set, le jeu trié.
- LotusDB - Stockage K / V rapide compatible avec l'arbre LSM et l'arbre B +.
Système de fichiers
Les systèmes de fichiers implémentés dans GO.
- afero - un système d'abstraction de système de fichiers pour go
- FSNotify - Notifications du système de fichiers multiplateforme pour GO.
- JUICEFS - Un système de fichiers POSIX distribué construit au-dessus de Redis et S3.
- GCSFUSE - Un système de fichiers d'espace utilisateur pour interagir avec Google Cloud Storage.
- GIT-LFS - Extension GIT pour le versement de fichiers volumineux.
- Go-Systemd - GO Bindings à Systemd Socket Activation, Journal, D-BUS et Unit Files.
- Goofys - Un système de fichiers Amazon S3 haute performance et POSIX-ISH écrit en Go.
- MINIKEYVALUE - A ~ 1000 Ligne Distributed Key Value Store.
- Seaweedfs - Seaweedfs est un système de fichiers distribué simple et hautement évolutif pour les petits fichiers.
- SVFS - Un système de fichiers virtuel sur OpenStack Swift construit sur Fuse.
Base de données
Bases de données implémentées dans GO.
- BigCache - Cache / valeur efficace pour les gigaoctets de données.
- Boulon - une base de données de touches / valeur de bas niveau pour GO. Cette version originale de Ben Johnson a été marquée comme non entretenue et fourchue par etcd-io bbolt.
- BuntDB - Une base de données de clé / valeur rapide et intégrée et intégrée pour aller avec l'indexation personnalisée et la prise en charge spatiale.
- CACHE2GO - Une clé en mémoire: cache de valeur qui prend en charge l'invalidation automatique en fonction des délais d'attente.
- Clover - une base de données NOSQL orientée vers le document légère écrite en Golang pur.
- Cockroach - un oreille de données transactionnel évolutif, géo-reproduit et répliquée
- CouchCache - Un micro-service de mise en cache RESTful soutenu par le serveur Couchbase.
- CovenantsQL - une base de données SQL avec des fonctionnalités de blockchain.
- DGRAPH - Base de données de graphiques à haut débit, distribuée, distribuée, faible latence et haut débit.
- DISKV - Un magasin de valeurs clés à dos de disque à domicile.
- Dolt - une base de données compatible MySQL avec contrôle de version de style Git. La première base de données SQL que vous pouvez brancher et fusionner.
- EliasDB - Base de données de graphes transactionnelles sans dépendance avec API REST, recherche de phrase et langage de requête de type SQL.
- EMITTER - Base de données PUB / sous-Sub / sous-latence évolutive, à faible latence, distribuée et sécurisée avec stockage de messages de séries chronologiques, adapté à l'IoT, aux jeux, aux applications et au Web en temps réel.
- FORSTDB - GO RESTAGES POUR FORESTDB.
- FrostdB - Base de données de colonnes EmbedDable écrite dans Go.
- Gcache - Bibliothèque de cache avec prise en charge du cache expirable, LFU, LRU et ARC.
- Geocache - un cache en mémoire qui convient aux applications basées sur la géolocalisation.
- GO-CACHE - Une bibliothèque en mémoire: Value Store / Cache (similaire à la bibliothèque Memcached) pour GO, adaptée aux applications uniques.
- GODIS - Un Golang a mis en œuvre le serveur et le cluster redis haute performance
- GOLEVELDB - Une implémentation de la base de données Key / Value LevelDB dans le GO.
- GroupCache - GroupCache est une bibliothèque de mise en cache et de remplissage de cache, destiné à remplacer les memcached dans de nombreux cas.
- Base de données IMMUDB avec preuve et vérification cryptographiques intégrées. Peut fonctionner comme un magasin de valeurs de clé ou comme une base de données relationnelle (SQL).
- InfluxDB - Orée de données évolutive pour les mesures, les événements et les analyses en temps réel
- LEDISDB - LEDISDB est un NOSQL haute performance comme Redis basé sur le niveaudb.
- Levigo - Levigo est un wrapper pour le niveaudb.
- MOSS - MOSS est un simple moteur de stockage de valeurs de clé LSM écrit en 100% GO.
- NOMS - La base de données versionnée, fourchable et synchable.
- ObjectBox-Go - Base de données d'objets intégrées (NOSQL) avec API GO.
- PILADB - Moteur de base de données léger RESTful basé sur des structures de données de pile.
- Perst - Servez une API RESTful à partir de n'importe quelle base de données PostgreSQL.
- PROMÉTHEUS - Base de données de séries chronologiques de surveillance.
- RQLITE - La base de données relationnelle légère, distribuée et relationnelle construite sur SQLite.
- Scribble - Une petite boutique JSON à fichier plat.
- SPICEDB - Une base de données inspirée de Zanzibar qui stocke, calcule et valide les autorisations d'application avec la prise en charge de plusieurs backends de base de données.
- TIDB - TIDB est une base de données SQL distribuée. Inspiré par la conception de Google F1.
- TIEDOT - Votre base de données NOSQL alimentée par Golang.
- Tile38 - une base de données de géolocalisation avec indice spatial et géofencing en temps réel.
- VictoriaMetrics - Base de données de séries chronologiques conçue pour la surveillance, compatible avec PromQL (de PromEthueUS) et InfluxQL (d'InfluxDB).
Migration de schéma de base de données.
- Darwin - Bibliothèque d'évolution du schéma de base de données pour aller
- Orose - outil de migration de la base de données. Vous pouvez gérer l'évolution de votre base de données en créant des scripts SQL incrémentaux ou GO.
- GORMIGRATE - AIDEMENT DE MIGRATION SCHEMA DE DATABASE POUR GORN ORM.
- Migrate - La gestion de la migration de la base de données dans Golang prend en charge MySQL, PostgreSQL, Cassandra et Sqlite.
- Pravasan - outil de migration simple - actuellement pour MySQL mais prévoyant de prendre en charge bientôt pour Postgres, Sqlite, MongoDB, etc.,
- Soda - Migration de base de données, création, ORM, etc ... pour MySQL, PostgreSQL et SQLite.
- SQL-Migrate - outil de migration de la base de données. Permet d'intégrer des migrations dans l'application à l'aide de go-bindata.
Outils de base de données.
- Go-Mysql - Un ensemble d'outils Go pour gérer le protocole et la réplication MySQL.
- go-mysql-elasticsearch - synchroniser automatiquement vos données mysql dans elasticsearch.
- Kingshard - Kingshard est un proxy de haute performance pour MySQL propulsé par Golang.
- MyReplication - Écouteur de réplication du journal binaire MySQL. Énoncé de support et réplication basée sur des lignes.
- Orchestrator - Manager de topologie de réplication MySQL et visualiseur
- PGWEB - Un navigateur de base de données PostgreSQL basé sur le Web
- Vitess - Vitess fournit des serveurs et des outils qui facilitent la mise à l'échelle des bases de données MySQL pour les services Web à grande échelle.
- USQL - Interface de ligne de commande universelle pour les bases de données SQL
SQL Query Builder, Bibliothèques pour la construction et l'utilisation de SQL.
- Buildsqlx - Bibliothèque de créateurs de requêtes de base de données Go
- Dat - Go Postgres Data Access Toolkit
- DOTSQL - GO Bibliothèque qui vous aide à garder les fichiers SQL en un seul endroit et à l'utiliser avec facilité.
- GOQU - un constructeur SQL idiomatique et une bibliothèque de requêtes.
- Grimoire - Grimoire est une couche d'accès à la base de données et une validation pour Golang. (Support: MySQL, PostgreSQL et SQLite3).
- Igor - couche d'abstraction pour PostgreSQL qui prend en charge les fonctionnalités avancées et utilise une syntaxe de type gorm.
- OZZO-DBX - Méthodes de récupération de données puissantes ainsi que les capacités de création de requête DB-Agnostic.
- SQLBOILER - Un outil pour générer un ORM GO adapté à votre schéma de base de données. Il s'agit d'un ORM de "base de données" par opposition au "code-premier", et vous devez d'abord créer votre base de données.
- SQRL - SQL Query Builder, fourche d'écureuil avec des performances améliorées.
- Squirrel - GO Bibliothèque qui vous aide à créer des requêtes SQL.
- XO - Générer le code GO idiomatique pour les bases de données en fonction des définitions de schéma existantes ou des requêtes personnalisées prenant en charge PostgreSQL, MySQL, SQLite, Oracle et Microsoft SQL Server.
Pilotes de base de données
Bibliothèques pour la connexion et l'exploitation de bases de données.