
Olá, Habr! Provavelmente, cada um de nós tem aquele arquivo onde guardamos algo útil e interessante para nós mesmos. Links para artigos, livros, repositórios, manuais. Podem ser favoritos no navegador ou até mesmo apenas abas abertas, deixadas para depois. Com o tempo, tudo isso cresce, os links param de funcionar e a maior parte do material simplesmente fica desatualizado.
E se compartilhar essa preciosidade com a comunidade e colocar esse arquivo no GitHub? Assim, seus esforços podem ser úteis para mais alguém, e a atualização pode ser feita em conjunto, aceitando contribuições de quem desejar através dos velhos e bons PRs. É exatamente para isso que o projeto é destinado. . Ele está entre os 10 principais repositórios do GitHub, possui 138 mil estrelas, e o link para suas contribuições pode acabar diretamente no seu README principal, o que atrairá um enorme público para sua criação. No entanto, para isso, será preciso se esforçar um pouco. Quero compartilhar com vocês minha experiência com esses esforços.
Meu nome é Maxim Gramin. Na KROK, trabalho com desenvolvimento em Java e pesquisas na área de bancos de dados. Neste post, vou explicar o que são Awesome Lists e como criar seu verdadeiro repositório awesome oficial.
O que são Awesome Lists
Quando preciso me aprofundar em uma nova tecnologia ou linguagem de programação, a primeira coisa que faço é ir até aqui — encontro a seção que preciso e, dentro dela, as listas adequadas. E pelo número de estrelas e seu crescimento constante, não sou o único que faz isso.

Na verdade, é apenas um readme.md simples, que vive em um diretório separado , ocupando a 8ª posição entre todos os repositórios do GitHub e incluindo links para outras listas dedicadas a algum tema específico. Por exemplo, na seção Programming Languages, pode-se encontrar as listas Awesome Python e Awesome Go, enquanto em Front-End Development há uma quantidade enorme de recursos sobre desenvolvimento WEB. E, é claro, na seção (voltaremos a isso mais tarde). E sim, tudo isso não se limita apenas a temas técnicos. Por exemplo, nas seções Entertainment e Gaming também é possível encontrar muitas coisas interessantes (pessoalmente, fiquei encantado com ).
A principal característica é que todas essas listas são mantidas não apenas pelo autor, mas pela comunidade e são elaboradas de acordo com um manifesto especial e muito rigoroso. . Cada uma dessas listas é uma comunidade independente de especialistas, vive sua própria vida e está aberta aos seus pull requests, que a tornarão ainda melhor. Qualquer pessoa pode criar sua própria lista se um determinado tema ainda não foi explorado.
O autor da ideia e coordenador de tudo isso é o lendário Sindre Sorhus, , autor de mais de , e ele será responsável por aceitar seus PRs.

Como entrar na awesome-list
Se você não encontrou uma lista adequada sobre o tema que lhe interessa, isso é um sinal de que você mesmo deve criá-la!
Vou explicar com o exemplo do meu projeto, — De projeto em projeto, sou obrigado a trabalhar com os mais diversos bancos de dados, e por isso criei um arquivo onde reunia ferramentas úteis para trabalhar com eles, vários migradores de BD, IDEs, painéis de administração, ferramentas de monitoração e muito mais. Ferramentas que já usei ou que estava apenas planejando começar a usar. Compartilhei esse arquivo com colegas na KРOК e fora dela. Isso ajudou muitas pessoas e gerou interesse. No final, eu queria mais reconhecimento, quando percebi que na seção de Databases não havia uma lista sobre esse tema. Então decidi adicionar a minha.
O que é necessário para isso?
- Registre um repositório normal no GitHub com um nome do tipo awesome-algo-aí. No meu caso, foi awesome-database-tools.
- Torne sua lista compatível com o formato awesome, para isso usaremos que gerará todos os arquivos necessários no formato correto.
- Configure um verdadeiro CI. e travis ci nos ajudarão a controlar da nossa lista.
- Aguarde 30 dias.
- Faça uma revisão de pelo menos 2 PRs de outras pessoas.
- E, finalmente, faça um PR no repositório principal, onde adicionamos o link para o nosso repositório. Aqui, é preciso ler tudo com atenção e seguir todos os diversos requisitos para a nova lista e para o próprio PR.
Meu primeiro teste

Mas passou um tempo, eu reuni ainda mais material, trabalhei nos erros e me atrevi a fazer .
Mas eu esqueci de uma coisa muito importante, que me foi gentilmente lembrada:

Eu não prestei muita atenção e não adicionei um unicórnio como sinal de que todas as condições foram cumpridas.

Depois passou mais algum tempo, mais algumas correções foram feitas e a tão esperada , informando que meu PR foi aceito.
Assim, tornei-me autor da minha primeira lista e comecei a receber da comunidade para a adição de novas ferramentas. E muitas delas já estão incluídas em . Se você não quer clicar no link,
aqui está uma coleção atual no momento da publicação do post
Awesome Database Tools.
Lista de ferramentas de banco de dados impulsionada pela comunidade
Aqui coletaremos informações sobre ferramentas incríveis úteis e experimentais que facilitam o trabalho com bancos de dados para DBAs, DevOps, desenvolvedores e mortais comuns.
Sinta-se à vontade para adicionar informações sobre suas próprias ferramentas de banco de dados ou suas ferramentas de terceiros favoritas.
Conteúdos
IDE
- — Ferramenta administrativa multifuncional de primeira linha para gerenciamento, controle e desenvolvimento de bancos de dados.
- — Aqua Data Studio é um software de produtividade para desenvolvedores de banco de dados, DBAs e analistas.
- — Ferramenta de gerenciamento de múltiplos bancos de dados com suporte para mais de 20 bancos de dados.
- — IDE multiplataforma para bancos de dados e SQL da JetBrains.
- — Gerenciador de banco de dados universal gratuito e cliente SQL.
- — IDE universal para desenvolvimento, gerenciamento e administração de bancos de dados MySQL e MariaDB.
- — IDE poderosa para gerenciamento, administração e desenvolvimento de Oracle.
- — Ferramenta GUI para gerenciar e desenvolver bancos de dados e objetos.
- — Ambiente de desenvolvimento integrado poderoso para desenvolvimento, gerenciamento, administração, análise de dados e relatórios do SQL Server.
- — IDE moderna (framework JavaScript/Electron), de código aberto, para MongoDB. Possui recursos para suporte ao desenvolvimento, administração e ajuste de desempenho em bancos de dados MongoDB.
- — Ferramenta GUI abrangente para Firebird e InterBase.
- — Um cliente leve para gerenciar MySQL, MSSQL e PostgreSQL, escrito em Delphi.
- — MySQL Workbench é uma ferramenta visual unificada para arquitetos de banco de dados, desenvolvedores e DBAs.
- — Uma ferramenta de desenvolvimento de banco de dados que permite conectar simultaneamente a bancos de dados MySQL, MariaDB, SQL Server, Oracle, PostgreSQL e SQLite a partir de uma única aplicação.
- — Oracle SQL Developer é um ambiente de desenvolvimento gratuito e integrado que simplifica o desenvolvimento e a gestão do Oracle Database tanto em implantações tradicionais quanto em nuvem.
- — A plataforma de administração e desenvolvimento de código aberto mais popular e rica em recursos para PostgreSQL, o banco de dados de código aberto mais avançado do mundo.
- — Suporte de longo prazo para pgAdmin3.
- — IDE voltada especificamente para o desenvolvimento de unidades de programa armazenadas para bancos de dados Oracle.
- — Ferramenta completa e poderosa para gerenciamento, administração e desenvolvimento de bancos de dados PostgreSQL.
- — Toad é a solução de banco de dados de primeira linha para desenvolvedores, administradores e analistas de dados. Gerencie mudanças complexas em bancos de dados com uma única ferramenta de gerenciamento de banco de dados.
- — Ferramenta simplificada de desenvolvimento de banco de dados para MySQL e Postgres.
- — TOra é um IDE SQL de código aberto para bancos de dados Oracle, MySQL e PostgreSQL.
- — Crie, administre, consulte e explore Valentina DB, MySQL, MariaDB, PostgreSQL e SQLite gratuitamente.
Gestores/Clientes GUI
- — Gerenciamento de banco de dados em um único arquivo PHP.
- — Ferramenta de banco de dados universal para desenvolvedores, DBAs e analistas.
- — UI ClickHouse Enterprise para você executar consultas, monitorar a saúde do ClickHouse e fazer muitas outras coisas.
- — Acesso SQL direto a todos os seus dados, independentemente de onde eles estejam.
- — Ferramenta web para gerenciamento de banco de dados.
- — Navegador de banco de dados baseado na web para PostgreSQL, escrito em Go e funciona em máquinas macOS, Linux e Windows.
- — Ferramenta de administração de banco de dados SQLite baseada na web, escrita em PHP, com suporte para SQLite3 e SQLite2.
- — Uma interface web para MySQL e MariaDB.
- — O PSequel fornece uma interface limpa e simples para você executar tarefas comuns do PostgreSQL rapidamente.
- — Editor SQL moderno e colaborativo para sua equipe.
- — Um cliente PostgreSQL moderno para Mac.
- — Robo 3T (anteriormente Robomongo) é uma ferramenta de gerenciamento MongoDB centrada no shell e multiplataforma.
- — Sequel Pro é um aplicativo de gerenciamento de banco de dados rápido e fácil de usar para trabalhar com bancos de dados MySQL & MariaDB.
- — Uma ferramenta de gerenciamento de dados que permite trabalhar com SQL Server, Azure SQL DB e SQL DW a partir de Windows, macOS e Linux.
- — Interface gráfica que suporta todos os recursos do SQLite.
- — Editor SQL baseado na web, executado em sua própria nuvem privada.
- — Um gerenciador Postgres simples e poderoso para macOS.
- — Cliente SQL gráfico escrito em Java que permite visualizar a estrutura de um banco de dados compatível com JDBC, navegar pelos dados em tabelas, emitir comandos SQL, etc.
- — Gerenciamento de banco de dados para VSCode.
- — A GUI MySQL mais completa e fácil de usar.
- — Editor SQL & inteligência de negócios simples e open source para Clickhouse.
- — Ferramenta GUI moderna, nativa e amigável para bancos de dados relacionais: MySQL, PostgreSQL, SQLite & mais.
- — GUI de Administração Web PostgreSQL — use seus bancos de dados PostgreSQL de qualquer lugar, com uma rica e rápida interface web AJAX.
Ferramentas CLI
- — Conecte-se a um banco de dados para emitir comandos SQL dentro do IPython ou do IPython Notebook.
- — Um CLI para Redis com AutoCompletar e Destaque de Sintaxe.
- — Ferramenta de administração tipo top para PostgreSQL.
- — Aplicativo semelhante ao top para monitoramento da atividade do servidor PostgreSQL.
- — ‘top’ para PostgreSQL.
- — Paginação Postgres.
- — Oracle SQL Developer Command Line (SQLcl) é uma interface de linha de comando gratuita para o Oracle Database.
- — Uma interface de linha de comando universal para PostgreSQL, MySQL, Oracle Database, SQLite3, Microsoft SQL Server, incluindo bancos de dados NoSQL e não relacionais!
dbcli
- — AthenaCLI é uma ferramenta CLI para o serviço AWS Athena que pode fazer auto-completar e destacar sintaxe.
- — CLI para bancos de dados SQLite com auto-completar e destaque de sintaxe.
- — Um cliente de linha de comando para SQL Server com auto-completar e destaque de sintaxe.
- — Um cliente de terminal para MySQL com AutoCompletar e Destaque de Sintaxe.
- — CLI Postgres com auto-completar e destaque de sintaxe.
- — Vertica CLI com auto-completar e destaque de sintaxe.
Navegação e visualização de esquemas de banco de dados
- — Ferramenta rápida e simples para ajudá-lo a desenhar seus diagramas de relacionamento de banco de dados e fluxos rapidamente usando uma linguagem DSL simples.
- — Ferramenta de geração de Diagrama de Relações de Entidade.
- — Uma ferramenta gratuita de descoberta e compreensão de esquema de banco de dados.
- — Geração da documentação HTML do seu banco de dados, incluindo diagramas de Relação de Entidade.
- — Ferramenta amigável para CI para documentar um banco de dados, escrita em Go.
Modeladores
- — Uma poderosa e econômica ferramenta de design de banco de dados que ajuda a construir modelos de dados conceituais, lógicos e físicos de alta qualidade.
- — Oracle SQL Developer Data Modeler é uma ferramenta gráfica gratuita que aumenta a produtividade e simplifica as tarefas de modelagem de dados.
- — Ferramenta de modelagem de dados projetada para PostgreSQL.
Ferramentas de migração
- — Ferramenta de configuração de banco de dados como código que utiliza o conceito de scripts DDL idempotentes.
- — Ferramenta de migração de banco de dados.
- — Migração de esquema online para MySQL.
- — Biblioteca independente de banco de dados para rastreamento, gerenciamento e aplicação de alterações de esquemas de banco de dados.
- — Semelhante ao diff, mas para esquemas PostgreSQL.
- — Gerenciamento de migrações de banco de dados em Node.js, construído exclusivamente para Postgres. (Mas também pode ser usado para outros bancos de dados que atendem ao padrão SQL — ex. CockroachDB.)
- — Fornece utilitários para descrever um esquema de banco de dados PostgreSQL como YAML.
- — Um operador Kubernetes para gerenciamento de esquemas de banco de dados declarativos (gitops para esquemas de banco de dados).
- — Gerenciamento de alterações sensível ao banco de dados para desenvolvimento sem framework e implantação confiável.
- — Mais uma ferramenta de versionamento e migração de esquema feita com .NET Core 3.0+ nativo e, esperançosamente, melhor.
Ferramentas de geração de código
- — Inferi SQL DDL (Linguagem de Definição de Dados) a partir de dados de tabelas.
- — Utilitário de linha de comando para exportar esquema Oracle para um conjunto de scripts de inicialização ddl com a capacidade de filtrar informações indesejadas, separar DDL em arquivos diferentes, formatar a saída.
Invólucros
- — Um backend de API REST de código aberto para aplicações móveis, web e IoT.
- — APIs GraphQL em tempo real super rápidas e instantâneas no Postgres com controle de acesso granular, além de acionar webhooks em eventos de banco de dados.
- — SQL para streams JSON e CSV.
- — Wrapper de dados externos PostgreSQL para MySQL.
- — Um aplicativo Java de nível intermediário, ORDS mapeia verbos HTTP(S) (GET, POST, PUT, DELETE, etc.) para transações de banco de dados e retorna quaisquer resultados formatados usando JSON.
- — Prisma transforma seu banco de dados em uma API GraphQL em tempo real.
- — API REST para qualquer banco de dados Postgres.
- — É uma maneira de servir uma API RESTful a partir de qualquer banco de dados escrito em Go.
- — Gerador de SQL com APIs Java e HTTP, usa uma simples API RESTful HTTP com serialização XML ou JSON.
- — Converta facilmente seu banco de dados SQL em uma API REST.
- — Gera automaticamente um serviço API RESTful para seu banco de dados legado.
- — Wrapper REST e UI avançado para suas consultas SQL.
Ferramentas de backup
- — Backup e Restauração confiável para PostgreSQL.
- — Gerenciador de Backup e Recuperação para PostgreSQL.
Replicação/Oposição de dados
- — Uma ferramenta para explorar e publicar dados.
- — Serviço de Transferência de Dados Distribuída para MySQL.
- — Sincroniza dados Postgres entre bancos de dados.
- — Sistema de réplica MySQL para PostgreSQL escrito em Python 3. O sistema usa a biblioteca mysql-replication para puxar as imagens de linhas do MySQL, que são armazenadas no PostgreSQL como JSONB.
- — Um servidor web Golang para transmitir mudanças no Postgres, pelo menos uma vez, através de websockets, usando o recurso de decodificação lógica do Postgres.
- — O Gerenciador de Replicação mais popular para PostgreSQL.
Scripts
- — Uma coleção de pequenos scripts úteis para análise e administração de bancos de dados, criados por nossa equipe de Especialistas em PostgreSQL.
- — Consultas para medir a inflação estatística em índices e tabelas para PostgreSQL.
- — Teste SQL que verifica se seu banco de dados segue as regras de .
- — Utilitários úteis para PostgreSQL.
- — Scripts e comandos SQL úteis da .
- — O conjunto que falta de ferramentas úteis para DBAs de Postgres e todos os engenheiros.
- — Consultas e Comandos PostgreSQL úteis.
- — Esses scripts sqlplus são para otimização de desempenho e solução de problemas do Oracle Database.
Monitoramento/Estatísticas/Desempenho
- — Fornece uma visão gráfica dos dados do histórico de sessão ativa dentro do Oracle e do banco de dados PostgreSQL.
- — Ferramenta de Monitoramento MySQL sem agente e econômica.
- — Monitore o desempenho do seu SQL Server no Linux usando collectd, InfluxDB e Grafana.
- — Uma ferramenta de monitoramento remoto de servidor segura, simples e sem agente, repleta de recursos poderosos para tornar seu monitoramento o mais eficaz possível.
- — Plataforma de código aberto para gerenciar e monitorar o desempenho do MySQL e MongoDB.
- — Coletor de estatísticas Pganalyze para reunir métricas e dados de log do PostgreSQL.
- — Ferramenta de diagnóstico de nova geração que permite aos usuários realizar uma análise profunda da saúde de bancos de dados Postgres.
- — Exportador Prometheus para métricas de servidor PostgreSQL.
- — Meça e acompanhe cada aspecto dos seus bancos de dados PostgreSQL.
- — Um painel de desempenho para o Postgres — verificações de saúde, índices sugeridos e mais.
- — Coleta e exibe informações e estatísticas de um servidor PostgreSQL em execução.
- — Uma interface de usuário para planos de explicação do Postgres, além de dicas para melhorar o desempenho.
- — Coleta estatísticas do PostgreSQL e as salva em arquivos CSV ou exibe no stdout.
- — Solução flexível e autônoma para monitoramento/dashboard de métricas PostgreSQL.
- — Fornece métricas para o seu banco de dados Postgres.
Zabbix
- — Agente de monitoramento para PostgreSQL.
- — Orabbix é um plugin projetado para trabalhar com o Zabbix Enterprise Monitor para fornecer monitoramento em múltiplas camadas, relatórios de desempenho e disponibilidade e medições para Bancos de Dados Oracle, juntamente com métricas de desempenho do servidor.
- — Este é o template de monitoramento Zabbix para Banco de Dados PostgreSQL.
- — Script Python para monitorar Bancos de Dados Oracle.
- — ZabbixDBA é um plugin rápido, flexível e em contínua evolução para monitorar seu RDBMS.
Testes
- — Um framework de testes de banco de dados que suporta fácil desenvolvimento orientado a testes do seu código de banco de dados.
- — Testes de Regressão para suas consultas SQL.
Gerador de dados
- — É um framework para gerar dados de teste realistas e válidos em grande volume para o seu sistema em teste (evitando o padrão anti-Datalite).
- — Ferramenta GUI poderosa para criar grandes volumes de dados de teste realistas.
- — Pequena mas poderosa ferramenta GUI para preencher esquemas Oracle com toneladas de dados de teste realistas.
- — Ferramenta GUI poderosa para a geração rápida de dados de teste significativos para bancos de dados.
Administração
- — Um analisador de logs PostgreSQL rápido.
- — Gerencia os papéis, associações de papéis, propriedade de esquemas e privilégios de um cluster Postgres.
- — Particionamento Postgres tão fácil quanto uma torta.
HA/Falha/Sharding
- — Extensão Postgres que distribui seus dados e suas consultas em vários nós.
- — Um modelo para Alta Disponibilidade do PostgreSQL com ZooKeeper, etcd ou Consul.
- — Uma solução de alta escalabilidade para autenticação e alta disponibilidade do MySQL.
- — Gerenciador PostgreSQL nativo em nuvem para alta disponibilidade do PostgreSQL.
- — Extensão Postgres e serviço para failover automatizado e alta disponibilidade.
- — Monitoramento de replicação PostgreSQL e daemon de failover.
- — Alta disponibilidade para Postgres, baseado nas referências da indústria Pacemaker e Corosync.
- — Cluster de Alta Disponibilidade PostgreSQL (baseado em "Patroni" e "DCS(etcd)"). Automatizando a implantação com Ansible.
- — Sistema de clustering de banco de dados para escalonamento horizontal do MySQL através de particionamento generalizado.
Kubernetes
- — Tornando fácil executar bancos de dados de produção em Kubernetes.
- — O Operador Postgres permite clusters PostgreSQL altamente disponíveis no Kubernetes (K8s) alimentados por Patroni.
- — HA Clusters PostgreSQL com Docker.
- — PostgreSQL Full Stack de nível empresarial em Kubernetes.
Ajuste de configuração
- — Script escrito em Perl que permite revisar rapidamente uma instalação do MySQL e fazer ajustes para aumentar o desempenho e a estabilidade.
- — Ferramenta online gratuita para gerar um otimizado
postgresql.conf. - — Assistente de configuração do PostgreSQL.
- — Script simples para analisar a configuração do seu banco de dados PostgreSQL e fornecer conselhos de ajuste.
DevOps
- — O DBmaestro acelera ciclos de lançamentos e apoia a agilidade em todo o ecossistema de TI.
- — O Toad DevOps Toolkit executa funções-chave de desenvolvimento de banco de dados dentro do seu fluxo de trabalho DevOps — sem comprometer qualidade, desempenho ou confiabilidade.
Amostras de esquema
- — Schemas de Amostra do Oracle Database.
Relatórios
- — Um aplicativo de relatórios SQL fácil de usar, criado para amantes de SQL.
Distribuições
- — Ferramenta que implanta servidores de banco de dados MySQL com facilidade.
- — Módulo PowerShell que pode ser pensado como um SQL Server Management Studio de linha de comando.
- — Instalação completa do PostgreSQL embalada como um aplicativo padrão para Mac.
- — Uma distribuição amigável para desenvolvedores do Postgres.
- — Front-end de gerenciamento web do PostgreSQL que reúne várias utilidades e aplicativos para uso com PostgreSQL.
Segurança
- — Conjunto de segurança de banco de dados. Proxy de banco de dados com criptografia em nível de campo, pesquisa em dados criptografados, prevenção de injeções SQL, detecção de intrusões, honeypots. Suporta criptografia do lado do cliente e do lado do proxy ("transparente"). SQL, NoSQL.
Formatadores de código
- — Impressão bonita independente de linguagem através de aprendizado de máquina.
Contribuindo
- Suas contribuições são sempre bem-vindas! Por favor, leia as primeiro.
Se você tem descobertas para o banco de dados — compartilhe. Fico feliz em receber feedback — PRs e estrelas. Se você tiver dúvidas sobre como criar suas listas — escreva também.
Fonte: habr.com
