Awesome Go Storage
Una lista curada de increíbles proyectos de almacenamiento y bibliotecas de GO. Inspirado por Awesome-Go.
Que contribuye
Primero consiga un vistazo rápido a las pautas de contribución. Gracias a todos los contribuyentes; ¡Rock!
Si ve un paquete o proyecto aquí que ya no se mantiene o no es un buen ajuste, envíe una solicitud de extracción para mejorar este archivo. ¡Gracias!
Contenido
- Awesome Go Storage
- Servidor de almacenamiento
- Tienda de valores clave
- Sistema de archivos
- Base de datos
- Controladores de la base de datos
Servidor de almacenamiento
Servidores de almacenamiento implementados en GO.
- Minio: Minio es un servidor de almacenamiento de objetos de código abierto compatible con las API de Amazon S3.
- RCLONE - "RSYNC para el almacenamiento en la nube" - Google Drive, Amazon Drive, S3, Dropbox, Backblaze B2, One Drive, Swift, Hubic, CloudFile ...
- Perkeep - Perkeepio es su sistema de almacenamiento personal para la vida: una forma de almacenar, sincronizar, compartir, modelar y respaldar contenido.
- S3GIT - GIT para almacenamiento en la nube. Control de versión distribuido para datos.
- STORJ: almacenamiento descentralizado de objetos en la nube que es asequible, fácil de usar, privado y seguro.
- Rook - Abierto, nativo de la nube y almacenamiento distribuido universal.
- Longhorn - Longhorn es un servidor de almacenamiento de bloques persistente de código abierto entregado a través de contenedores.
Tienda de valores clave
Tienda de valor clave implementado en GO.
- BitCask: BitCask es una base de datos de valor clave de valor (KV) integrable, persistente y rápido escrita en Pure Go con rendimiento predecible de lectura/escritura, baja latencia y alto rendimiento gracias al diseño de la tarjeta de bits (LSM+WAL).
- BitRaft: Bitraft es un almacén de valor/valor basado en balsa distribuido con un protocolo compatible con Redis. Utiliza la tarjeta de bits para alto rendimiento/en todas partes y baja latencia.
- BADGERDB - BadgerDB es una base de datos de valor clave (KV) incrustable, persistente, simple y rápida escrita en puro Go. Está destinado a ser una alternativa de performador a las tiendas de valor clave no basadas en GO como RocksDB.
- Columna: almacenamiento incrustable, columnar, en memoria con indexación de mapa de bits, transacción y consulta cero-Alloc.
- CONSULO - Tienda de valor de clave replicado constante distribuido para el descubrimiento y configuración del servicio.
- DiskV: una tienda de valores clave respaldada por disco.
- ETCD - Tienda de valor clave confiable distribuido para los datos más críticos de un sistema distribuido.
- GO-Cache: una clave en memoria: Value Store/Cache (similar a Memcached) Biblioteca para GO, adecuada para aplicaciones de una sola máquina.
- IceFiredB - Base de datos de almacenamiento de disco distribuido utilizando los protocolos RAFT y REDIS.
- NutSDB - NutSDB es una tienda/valor de clave/valor persistente simple, rápida, integrable y persistente escrita en puro Go. Admite transacciones totalmente serializables y muchas estructuras de datos, como LIST, SET, SET SET.
- POGREB-Tienda de valor clave integrada para cargas de trabajo pesadas.
- RosedB: una base de datos KV rápida, estable e integrada en puro golang, admite cadena, lista, hash, conjunto, conjunto ordenado.
- LotusDB - Almacenamiento rápido K/V compatible con el árbol LSM y el árbol B+.
Sistema de archivos
Sistemas de archivos implementados en GO.
- AFERO: un sistema de abstracción del sistema de archivos para GO
- FSNotify - Notificaciones del sistema de archivos multiplataforma para GO.
- JuiceFS: un sistema de archivos POSIX distribuido construido sobre Redis y S3.
- GCSFUSE: un sistema de archivos de espacio de usuario para interactuar con Google Cloud Storage.
- GIT -LFS - Extensión GIT para versiones de archivos grandes.
- GO-Systemd: ANISTACIONES DE LA ANDICACIÓN DE SEDMD SCOCKE, DIARIO, D-BUS y ARCHIVOS UNIDAD.
- Goofys: un sistema de archivos de Amazon S3 de alto rendimiento, Posix-ish escrito en GO.
- MinikeyValue - A ~ 1000 Línea de valor distribuido de valor Tienda de valor.
- SeaWeedFS: SeaWeedFS es un sistema de archivos distribuido simple y altamente escalable para archivos pequeños.
- SVFS: un sistema de archivos virtual sobre OpenStack Swift construido sobre el fusible.
Base de datos
Bases de datos implementadas en GO.
- BigCache: caché de clave/valor eficiente para gigabytes de datos.
- Bolt: una base de datos de clave/valor de bajo nivel para GO. Esta versión original de Ben Johnson ha sido marcada como sin mantenimiento y bifurcada por ETCD-IO BBOLT.
- BUNTDB: una base de datos de clave/valor rápida, integrable y de valor en memoria para GO con indexación personalizada y soporte espacial.
- CACHE2GO - Una clave en memoria: caché de valor que admite la invalidación automática según los tiempos de espera.
- Clover: una base de datos NoSQL orientada a documentos liviana escrita en puro golang.
- cucaracha: un almacén de datos transaccional escalable, replicado
- CouchCache: un micro -servicio de almacenamiento en caché Restful respaldado por CouchBase Server.
- Covenantsql: una base de datos SQL con características de blockchain.
- DGRAPH - Base de datos de gráficos de alto rendimiento, distribuido, de baja latencia.
- DiskV: una tienda de valor clave respaldada por disco cultivada en casa.
- DOLT: una base de datos compatible con MySQL con control de versiones al estilo GIT. La primera base de datos SQL que puede ramificar y fusionar.
- ELIASDB-Base de datos de gráficos transaccionales sin dependencia con API REST, búsqueda de frases y lenguaje de consulta similar a SQL.
- EMITORO: base de datos de pub/subconscribe de baja latencia, de baja latencia, con almacenamiento de mensajes de serie, adecuado para IoT, juegos, aplicaciones y web en tiempo real.
- FORESTDB - VAYA ANITACIONES PARA FORESTDB.
- FROSTDB - Base de datos de columna incrustable escrita en GO.
- GCACHE - Biblioteca de caché con soporte para caché vencido, LFU, LRU y ARC.
- Geocache: un caché en memoria que es adecuado para aplicaciones basadas en la geolocalización.
- GO-Cache: una clave en memoria: Value Store/Cache (similar a Memcached) Biblioteca para GO, adecuada para aplicaciones de una sola máquina.
- GODIS - Un Golang implementó un servidor Redis de alto rendimiento y un clúster
- GolevelDB: una implementación de la base de datos de clave/valor niveldb en el GO.
- GroupCache: GroupCache es una biblioteca de almacenamiento en caché y relleno de caché, destinada como un reemplazo para Memcached en muchos casos.
- IMMUDB - Base de datos con prueba criptográfica incorporada y verificación. Puede funcionar como una tienda de valor clave o como base de datos relacional (SQL).
- InfluxDB - almacén de datos escalable para métricas, eventos y análisis en tiempo real
- LEDISDB - LEDISDB es un NoSQL de alto rendimiento como Redis basado en LevelDB.
- Levigo - Levigo es un envoltorio de Go para LevelDB.
- Moss: Moss es un motor de almacenamiento de valor llave LSM simple escrito en 100% GO.
- NOMS: la base de datos versionada, tenedor de bifurcable y sincronizada.
- Objectbox -go - Base de datos de objetos incrustados (NoSQL) con API GO.
- PILADB - Motor de base de datos relajante ligero basado en estructuras de datos de pila.
- PERST: sirva una API RESTful de cualquier base de datos PostgreSQL.
- Prometheus - Sistema de monitoreo y base de datos de series temporales.
- RQLITE: la base de datos relacional, ligera, distribuida, construida en SQLite.
- Garabia: una pequeña tienda JSON de archivo plano.
- SpicedB: una base de datos inspirada en Zanzíbar que almacena, calcula y valida los permisos de aplicación con soporte para múltiples backends de bases de datos.
- TIDB - TIDB es una base de datos SQL distribuida. Inspirado en el diseño de Google F1.
- TIEDOT: su base de datos NoSQL alimentada por Golang.
- Tile38 - Una db de geolocalización con índice espacial y geofencing en tiempo real.
- Victoriametrics - Base de datos de series temporales diseñada para el monitoreo, compatible con PROMQL (de Promethueus) e InfluxQL (de InfluxDB).
Migración del esquema de la base de datos.
- Darwin - Biblioteca de evolución del esquema de la base de datos para Go
- Ganso - Herramienta de migración de bases de datos. Puede administrar la evolución de su base de datos creando scripts SQL o GO incrementales.
- Gormigrate - Helper de migración de esquema de base de datos para Gorm ORM.
- Migrate: el manejo de migración de bases de datos en Golang admite MySQL, PostgreSQL, Cassandra y SQLite.
- Pravasan - Herramienta de migración simple - Actualmente para MySQL pero planea admitir pronto para Postgres, SQLite, MongoDB, etc.,
- Soda - Migración de bases de datos, creación, ORM, etc. para MySQL, PostgreSQL y SQLite.
- SQL -Migrate - Herramienta de migración de bases de datos. Permite integrar migraciones en la aplicación utilizando GO-Bindata.
Herramientas de base de datos.
- GO -MYSQL: un conjunto de herramientas GO para manejar el protocolo MySQL y la replicación.
- Go-Mysql-ElasticSearch: sincronice sus datos MySQL en Elasticsearch automáticamente.
- Kingshard: Kingshard es un proxy de alto rendimiento para MySQL impulsado por Golang.
- MyReplication - Oyente de replicación de registro binario MySQL. Declaración de soporte y replicación basada en filas.
- Orchestrator - Mysql Replication Topology Manager & Visualizer
- PGWEB: un navegador de base de datos PostgreSQL basado en la web
- VITESS: Vitess proporciona servidores y herramientas que facilitan la escala de bases de datos MySQL para servicios web a gran escala.
- USQL - Interfaz de línea de comandos universal para bases de datos SQL
SQL Consulty Builder, bibliotecas para construir y usar SQL.
- Buildsqlx - Biblioteca de consultas de base de datos GO
- DAT - GO Postgres Data Access Toolkit
- Dotsql - Biblioteca Go que lo ayuda a mantener los archivos SQL en un solo lugar y usarlo con facilidad.
- Gobrete: una biblioteca idiomática de SQL Builder y consultas.
- GRIMOIRE - Grimoire es una capa de acceso a la base de datos y una validación para Golang. (Soporte: MySQL, PostgreSQL y SQLite3).
- Igor - Capa de abstracción para PostgreSQL que admite la funcionalidad avanzada y utiliza la sintaxis similar a Gorm.
- OZZO-DBX-Métodos de recuperación de datos potentes, así como capacidades de construcción de consultas de DB y db.
- SQLBOILER: una herramienta para generar un GO ORM adaptado al esquema de su base de datos. Es un ORM de "base de datos primero" en lugar de "código primero", y primero debe crear su base de datos.
- SQRL - SQL Query Builder, horquilla de ardilla con rendimiento mejorado.
- Squirrel - GO LIBRACESA que te ayuda a construir consultas SQL.
- XO: genere código Idiomático GO para bases de datos basadas en definiciones de esquemas existentes o consultas personalizadas que admiten PostgreSQL, MySQL, SQLite, Oracle y Microsoft SQL Server.
Controladores de la base de datos
Bibliotecas para bases de datos de conexión y operación.