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.
- 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:
- entre no Database Lab Platform, associe-se a uma organização "Demo", e teste clonar um banco de dados demo de ~1TiB, ou
- faça o check out de um outro setup demo, DLE CE: https://nik-tf-test.aws.postgres.ai:446/instance, use o token
demo
para acessar (este setup tem certificados autoassinado, então ignore os alertas do navegador)
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:
- Tutorial do Database Lab para qualquer banco de dados PostgreSQL
- Tutorial do Database Lab para Amazon RDS
- Template com Terraform module (AWS)
- Qiwi: Como o Qiwi controla os dados para acelerar o desenvolvimento
- GitLab: Como o GitLab itera na otimização de performances SQL para reduzir os riscos de downtime
- 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.
A forma mais simples the contribuir é adicionar uma estrela ao projeto no GitHub/GitLab:
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>
Veja o nosso guia de contribuição para mais detalhes.
Veja o nosso guia de contribuição para mais detalhes.
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.
- Como instalar o Database Lab com Terraform na AWS
- Como instalar e inicializar o Database Lab CLI
- Como administrar o DLE
- Como trabalhar com clones
Você pode encontrar mais no seção "How-to guides" dos documentos.
- Imagens Docker do DLE
- Imagens Docker extendidas para PostgreSQL (com uma penca de extensões)
- SQL Optimization chatbot (Joe Bot)
- DB Migration Checker
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.
- "Acordo da Comunidade do Database Lab Engine de Código de Conduta"
- Onde conseguir ajuda: Página de contato
- Comunidade no Slack
- Se você precisa reportar um problema de segurança, siga as instruções em "Database Lab Engine guia de segurança".