Incrível Go Storage
Uma lista com curadoria de incríveis projetos de armazenamento e bibliotecas. Inspirado em impressionante.
Contribuindo
Por favor, dê uma rápida olhada nas diretrizes de contribuição primeiro. Obrigado a todos os colaboradores; você balança!
Se você vir um pacote ou projeto aqui que não é mais mantido ou não for um bom ajuste, envie uma solicitação de tração para melhorar esse arquivo. Obrigado!
Conteúdo
- Incrível Go Storage
- Servidor de armazenamento
- Loja de valores-chave
- Sistema de arquivos
- Banco de dados
- Drivers de banco de dados
Servidor de armazenamento
Servidores de armazenamento implementados no GO.
- Minio - Minio é um servidor de armazenamento de objetos de código aberto compatível com as APIs do Amazon S3.
- RCLONE - "RSYNC for Cloud Storage" - Google Drive, Amazon Drive, S3, Dropbox, Backblaze B2, One Drive, Swift, Hubic, CloudFile…
- Perkeep - Perkeep é o seu sistema de armazenamento pessoal para a vida: uma maneira de armazenar, sincronizar, compartilhar, modelar e fazer backup de conteúdo.
- S3Git - Git para armazenamento em nuvem. Controle de versão distribuída para dados.
- Storj - armazenamento descentralizado de objetos em nuvem que é acessível, fácil de usar, privado e seguro.
- ROOK - Aberto, nativo da nuvem e armazenamento distribuído universal.
- Longhorn - Longhorn é um servidor de armazenamento de bloco persistente de código aberto entregue através de contêineres.
Loja de valores-chave
A loja de valores-chave implementada em Go.
- BitCask-BitCask é um banco de dados incorporável, persistente e rápido de valor-chave (KV) escrito em Pure Go com desempenho previsível de leitura/gravação, baixa latência e alta taxa de transferência, graças ao layout no disco do bitcask (LSM+WAL).
- Bitraft-Bitraft é um armazenamento de chave/valor baseado em jangada distribuído com um protocolo compatível com Redis. Ele usa bitcask para alto desempenho/por toda parte e baixa latência.
- Badgerdb - Badgerdb é um banco de dados incorporável, persistente, simples e rápido (KV) escrito em Pure Go. É para ser uma alternativa performente a lojas de valor-chave que não são baseadas em Go, como o RocksDB.
- Coluna-Incorporável, colunar, armazenamento in-memória com indexação de bitmap, transação e presa zero-alloc.
- Consul - armazenamento consistente de valor replicado consistente distribuído para descoberta e configuração de serviços.
- DiskV-Uma loja de valor-chave apoiado pelo disco.
- etcd - armazenamento de valor -chave confiável distribuído para os dados mais críticos de um sistema distribuído.
- GO-CACHE-Uma Chave In Memory: Value Store/Cache (semelhante à Memcached) para GO, adequado para aplicativos de máquina única.
- ICEFIREDB - Banco de dados de armazenamento de disco distribuído usando os protocolos RAFT e REDIS.
- Nutsdb - NutsDB é uma loja de chave/valor simples, rápida, incorporável e persistente, escrita em Pure Go. Ele suporta transações totalmente serializáveis e muitas estruturas de dados, como LIST, SET, SLATED STIP.
- POGREB-Loja de valor-chave incorporado para cargas de trabalho pesadas.
- Rosedb - Um banco de dados KV rápido, estável e incorporado em Golang Pure, suporta String, List, Hash, Set, Settled Set.
- LOTUSDB - FAST K/V armazenamento compatível com a árvore LSM e a árvore B+.
Sistema de arquivos
Sistemas de arquivos implementados no GO.
- Afero - um sistema de abstração do sistema de arquivos para GO
- FSNotify - Notificações do sistema de arquivos de plataforma cruzada para GO.
- JuiceFs - Um sistema de arquivos POSIX distribuído construído sobre o Redis e o S3.
- GCSFUSE - Um sistema de arquivos do espaço do usuário para interagir com o Google Cloud Storage.
- Git -LFS - Extensão Git para versões de arquivos grandes.
- GO-SYSTEMD-GO CHEGINES PARA ATIVAÇÃO DO SISTEMDDDD, Journal, D-Bus e Arquivos de Unidade.
- Goofys-Um sistema de arquivos Amazon S3 de alto desempenho e Posix-ish, escrito em Go.
- MinikeyValue - A ~ 1000 Linha Distribuiu o armazenamento de valor de chave.
- Seaweedfs - Seaweedfs é um sistema de arquivos distribuído simples e altamente escalável para arquivos pequenos.
- SVFS - Um sistema de arquivos virtual sobre o OpenStack Swift construído sobre o fusível.
Banco de dados
Bancos de dados implementados em Go.
- BIGCACHE - Cache eficiente de chave/valor para gigabytes de dados.
- Bolt - um banco de dados de chave/valor de baixo nível para GO. Esta versão original de Ben Johnson foi marcada como sem manutenção e bifurcada por etcd-io bbolt.
- BuntDB - Um banco de dados de chave/valor rápido, incorporável e de memória para GO com indexação personalizada e suporte espacial.
- Cache2GO - Uma chave na memória: cache de valor que suporta invalidação automática com base em tempo limite.
- CLOVER - Um banco de dados NOSQL orientado a documentos leves, escrito em Pure Golang.
- barata - um armazenamento de armazenamento transacional escalável, geo -replicado
- Couchcache - Um micro -serviço de cache repousante apoiado pelo Couchbase Server.
- Covenantsql - um banco de dados SQL com recursos de blockchain.
- DGRAPH - Banco de dados de gráficos de rendimento de alta latência, distribuído, distribuído, de baixa latência.
- DiskV-Uma loja de valor de chave para disco cultivada em casa.
- DOLT-Um banco de dados compatível com MySQL com controle de versão no estilo Git. O primeiro banco de dados SQL que você pode ramificar e mesclar.
- ELIASDB-Banco de dados de gráficos transacionais sem dependência com API REST, pesquisa de frase e linguagem de consulta do tipo SQL.
- Emissor-Pub escalável, de baixa latência, distribuído e segura Pub/sub-dados com armazenamento de mensagens da série temporal, adequado para IoT, jogos, aplicativos e Web em tempo real.
- Forestdb - vá encadernas para Forestdb.
- FrostDB - Banco de dados de coluna incorporável escrito em Go.
- GCACHE - Biblioteca de cache com suporte para cache expirável, LFU, LRU e ARC.
- Geocache - Um cache na memória que é adequado para aplicações baseadas em geolocalização.
- GO-CACHE-Uma Chave In Memory: Value Store/Cache (semelhante à Memcached) para GO, adequado para aplicativos de máquina única.
- Godis - Um Golang implementou o servidor Redis e o cluster de alto desempenho
- GOLEVELDB - Uma implementação do banco de dados de chave/valor de nívelDB no GO.
- GroupCache - GroupCache é uma biblioteca de cache e preenchimento de cache, destinada a substituição do Memcached em muitos casos.
- Immudb - Banco de dados com prova e verificação criptográfica interna. Pode operar como um armazenamento de valor-chave ou como banco de dados relacional (SQL).
- InfluxDB - armazenamento escalável para métricas, eventos e análises em tempo real
- LEDISDB - LEDISDB é um NOSQL de alto desempenho como o Redis baseado no LevelDB.
- Levigo - Levigo é um invólucro do LevelDB.
- Moss - Moss é um motor de armazenamento de valor -chave LSM simples, escrito em 100%.
- NOMS - o banco de dados de versão, bifable e sincível.
- ObjectBox -GO - Banco de dados de objetos incorporado (NOSQL) com API Go.
- PILADB - mecanismo de banco de dados RESTful leve com base nas estruturas de dados da pilha.
- Prest - Sirva uma API RESTful de qualquer banco de dados PostGresql.
- Prometheus - Sistema de monitoramento e banco de dados de séries temporais.
- RQLITE - O banco de dados relacional leve, distribuído, construído no SQLite.
- Scrible - uma pequena loja JSON de arquivo plano.
- SpicedB - Um banco de dados inspirado em Zanzibar que armazena, calcula e valida as permissões de aplicativos com suporte para vários back -ends de banco de dados.
- TIDB - TIDB é um banco de dados SQL distribuído. Inspirado no design do Google F1.
- TIDOT - Seu banco de dados NoSQL alimentado por Golang.
- Tile38 - um banco de dados geolocalizador com índice espacial e geofencing em tempo real.
- VICTORIAMETRICS - Banco de dados de séries temporais projetado para monitoramento, compatível com o PROMQL (de Promethueus) e InfluxQL (do InfluxDB).
Migração do esquema de banco de dados.
- Darwin - Biblioteca de Evolução do Esquema de Dados de Dados para GO
- Ganso - Ferramenta de migração de banco de dados. Você pode gerenciar a evolução do seu banco de dados criando scripts Incrementais SQL ou GO.
- Gormigrate - Helper de migração de esquema de banco de dados para Gorm ORM.
- Migrar - Manipulação de migração de banco de dados em Golang Suporte MySQL, PostgreSQL, Cassandra e Sqlite.
- Pravasan - Ferramenta de migração simples - Atualmente para MySQL, mas planejando apoiar em breve para Postgres, SQLite, MongoDB, etc.,
- Soda - Migração, criação, ORM, etc ... para MySQL, PostgreSQL e Sqlite.
- Ferramenta de migração de banco de dados SQL -Migre - Migration. Permite incorporar migrações no aplicativo usando Go-Bindata.
Ferramentas de banco de dados.
- GO -MYSQL - Um conjunto de ferramentas GO para lidar com o protocolo e replicação MySQL.
- GO-MYSQL-ELASTICSearch-Sincronize seus dados MySQL no Elasticsearch automaticamente.
- Kingshard - Kingshard é um proxy de alto desempenho para o MySQL alimentado por Golang.
- MyReplication - ouvinte de replicação binária do MySQL. Declaração de suporte e replicação baseada em linha.
- Orchestrator - Gerente de Topologia de Replicação MySQL
- PGWeb - um navegador de banco de dados PostGresql baseado na Web
- VITESS - VITESS fornece servidores e ferramentas que facilitam a escala dos bancos de dados MySQL para serviços da Web em larga escala.
- USQL - Interface da linha de comando universal para bancos de dados SQL
SQL Query Builder, Bibliotecas para construir e usar o SQL.
- BuildSQLX - GO BIBLIOTECA DE CONSULTA DE CONSULTA DE BATO
- Dat - Go PostGres Acesso de Acesso de Toolkit
- Biblioteca DOTSQL - GO que ajuda você a manter os arquivos SQL em um só lugar e usá -lo com facilidade.
- GOQU - Um construtor de SQL idiomático e biblioteca de consultas.
- GRIMOIRE - GRIMOIRE é uma camada de acesso ao banco de dados e validação para Golang. (Suporte: MySQL, PostgreSQL e SQLite3).
- Igor - camada de abstração para o PostgreSQL que suporta funcionalidade avançada e usa sintaxe do tipo Gorm.
- OZZO-DBX-Métodos poderosos de recuperação de dados, bem como recursos de consulta Agnóstica de DB.
- SQLBOILER - Uma ferramenta para gerar um GO ORM adaptado ao seu esquema de banco de dados. É um "banco de dados-primeiro" ORM em vez de "código-primeiro" e você deve primeiro criar seu banco de dados.
- SQRL - SQL Query Builder, garfo de esquilo com desempenho aprimorado.
- Squirrel - GO Biblioteca que ajuda você a criar consultas SQL.
- XO - Gere código GO idiomático para bancos de dados com base em definições de esquema existentes ou consultas personalizadas que suportam o PostgreSQL, MySQL, SQLite, Oracle e Microsoft SQL Server.
Drivers de banco de dados
Bibliotecas para bancos de dados de conexão e operação.