Skip to content

Latest commit

 

History

History
183 lines (144 loc) · 14.7 KB

README.portuguese-br.md

File metadata and controls

183 lines (144 loc) · 14.7 KB

Database Lab Engine (DLE)

⚡ Clonagem ultrarrápida de bancos de dados PostgreSQL 🐘
Thin clones de bancos de dados PostgreSQL para viabilizar desenvolvimento, testes, QA e ambientes de staging poderosos.
Disponível para qualquer PostgreSQL, incluindo AWS RDS, GCP CloudSQL, Heroku, Digital Ocean e instâncias autoadministradas.

Latest release

CI pipeline status Go report DepShield Badge

Contributor Covenant Community Slack Twitter Follow

Por que DLE?

  • Construa ambientes de dev/QA/staging baseados nos bancos de dados de produção completos.
  • Disponibilize clones temporários completos dos bancos de dados de produção para análises de queries e otimizações (veja também: SQL optimization chatbot Joe).
  • Faça testes automatizados em pipelines de integração contínua para evitar incidentes em produção.

Por examplo, clonar um banco de dados PostgreSQL de 1 TiB dura ~10 segundos. Dezenas de clones independentes são iniciados numa mesma máquina, suportando vários atividades de desenvolvimento e teste, sem aumento de custo de hardware.

Teste agora mesmo:

Como funciona

Thin cloning é rápido pois utiliza Copy-on-Write (CoW). DLE suporta duas tecnologias para abilitar CoW e thin cloning: ZFS (default) e LVM.

Com ZFS, o Database Lab Engine periodicamente cria um novo snapshot do diretório de dados e mantém um conjunto de snapshots, limpando os antigos e não utilizados. Quando solicitam um novo clone, usuários podem escolher qual snapshot utilizar.

Leia mais:

Onde começar

Estudos de Caso

Funcionalidades

  • Clonagem the bancos de dados Postgres ultrarrápidos - apenas alguns segundos para criar um novo clone pronto para aceitar conexões e queries, independentemente do tamanho do banco de dados.
  • O número máximo teórico de snapshots e clones é 264 (ZFS, default).
  • O número máximo teórico de do diretório de dados do PostgreSQL: 256 quatrilhões zebibytes, ou 2128 bytes (ZFS, default).
  • Versões major do PostgreSQL suportadas: 9.6–17.
  • Duas tecnologias são suportadas para viabilizar o thin cloning (CoW): ZFS e LVM.
  • Todos os componentes estão empacotados em docker containers.
  • UI para tornar o trabalho manual mais conveniente.
  • API e CLI para automatizar o trabalho com DLE snapshots e clones.
  • Por default, os PostgreSQL containers incluem várias extensões populares (docs).
  • PostgreSQL containers podem ser customizados (docs).
  • O banco de dados original pode estar localizado em qualquer lugar (Postgres autoadministrado, AWS RDS, GCP CloudSQL, Azure, Timescale Cloud, etc) e NÃO requer nenhum ajuste. Não há NENHUM requerimento para instalar o ZFS ou Docker nos bancos de dados originais (production).
  • Um provisionamento de dados inicial pode ser feito tanto no nível físico (pg_basebackup, backup / ferramentes de arquivamento como WAL-G ou pgBackRest) ou lógico (dump/restore direto da origem ou de arquivos armazenados na AWS S3).
  • Para o modo lógico, suporta a retenção parcial de dados (bancos específicos, tabelas específicas).
  • Para o modo físico, um estado de atualização contínua é suportado ("sync container"), tornando o DLE uma versão especializada de um standby Postgres.
  • Para o modo lógico, suporta atualização completa periódica, automatizada, e controlada pelo DLE. É possível utilizar multiplos discos contendo diferentes versões do banco de dados, para que a atualização completa não precise de downtime.
  • Fast Point in Time Recovery (PITR) para os pontos disponíveis em DLE snapshots.
  • Clones não utilizados são automaticamente removidos.
  • "Deletion protection" flag pode ser utilizada para bloquear remoções automáticas ou manuais dos clones.
  • Snapshot retention policies são suportadas na configuração do DLE.
  • Clones Persistentes: clones sobrevivem a DLE restarts (incluindo reboot total da VM).
  • O comand "reset" pode ser utilizado para trocar para uma versão diferente dos dados.
  • O componente DB Migration Checker coleta vários artefatos úteis para testar o banco de dados em CI (docs).
  • SSH port forwarding para conexões com a API e o Postgres.
  • É possível especificar parâmetros para configurar Docker containers na configuração do DLE.
  • Cotas de utilização de recursos para clones: CPU, RAM (cotas de container, suportadas pelo Docker)
  • Parâmetros de configuração do Postgres podem ser especificados na configuração do DLE (separadamente para clones, o "sync" container, e o "promote" container).
  • Monitoramento: /healthz API endpoint livre de autenticação, /status extendido (requer autenticação), Netdata module.

Contribuindo

Adicione um estrela ao projeto

A forma mais simples the contribuir é adicionar uma estrela ao projeto no GitHub/GitLab:

Adicionar estrela

Compartilhe o projeto

Poste um tweet mencionando @Database_Lab ou compartilhe o linke para este repositório na sua rede social favorita.

Se você usa o DLE ativamente, conte aos outros sobre a sua experiência. Você pode usar o logo que está referenciado abaixo salvo na pasta ./assets. Fique à vontade para por nos seus documentos, apresentações, aplicações, e interfaces web para mostrar que você utiliza o DLE.

Snippet HTML para backgrounds mais claros:

<a href="http://databaselab.io">
  <img width="400" src="https://postgres.ai/assets/powered-by-dle-for-light-background.svg" />
</a>

Para backgrounds mais escuros:

<a href="http://databaselab.io">
  <img width="400" src="https://postgres.ai/assets/powered-by-dle-for-dark-background.svg" />
</a>

Proponha uma idéia ou reporte um bug

Veja o nosso guia de contribuição para mais detalhes.

Participate in development

Veja o nosso guia de contribuição para mais detalhes.

Traduza o README

Tornar o Database Lab Engine mais acessível aos engenheiros no mundo todo é uma ótima ajuda para o projeto. Veja detalhes na seção de tradução do guia de contribuição.

Referências

How-to guides

Você pode encontrar mais no seção "How-to guides" dos documentos.

Diversos

Licença

O código fonte do DLE está licensiado pela licença de código aberto Apache 2.0, aprovada pela OSI.

Contacte o time do Postgres.ai se você desejar uma licença trial ou comercial que não contenha as cláusulas da GPL: Página de contato.

FOSSA Status

Comunidade e Suporte

Acordo do contribuidor