Veja o que o Lakebase realmente automatiza no Postgres gerenciado — aplicação de patches, escalonamento, failover e backups — e onde a responsabilidade ainda é sua.
Cada provedor de Postgres se autodenomina "gerenciado". Poucos concordam sobre o que essa palavra abrange. Alguns querem dizer que aplicam patches no sistema operacional (OS) e deixam o resto para a equipe de banco de dados. Outros querem dizer que o banco de dados escala, lida com falhas e faz backup de si mesmo sem que ninguém da equipe precise tocar em um arquivo de configuração.
O Postgres gerenciado é um serviço de banco de dados no qual o provedor opera a infraestrutura subjacente e lida com as principais operações do banco de dados, como aplicação de patches, escalonamento, failover e backups, para que a equipe de banco de dados gaste menos tempo com manutenção e mais tempo criando a aplicação que roda sobre ele. Quanto mais dessas operações o provedor assumir, menos administração de banco de dados restará para o cliente.
Essa distinção se torna ainda mais importante à medida que o Postgres avança para aplicações de AI. O banco de dados agora pode conter o estado da aplicação, histórico de conversas, embeddings e dados de agentes, além das cargas de trabalho transacionais tradicionais, de modo que a superfície operacional se estende além de apenas manter o banco de dados em execução.
O Lakebase Postgres leva essa abordagem gerenciada para o Postgres serverless, combinando escalonamento automático, compatibilidade com PostgreSQL, recuperação e integrações com a Databricks. A questão é quanto trabalho operacional ele realmente elimina.
Pense no Postgres gerenciado como entregar as chaves de um banco de dados. O quanto uma equipe entrega depende do provedor. Em um extremo, a equipe de banco de dados ainda lida com o servidor, backups, failover e escalonamento. No outro, um serviço totalmente gerenciado cuida do trabalho operacional para a equipe, não apenas da infraestrutura subjacente. A maioria dos provedores fica em algum lugar no meio, gerenciando a VM e a rede, enquanto deixa algumas operações de banco de dados, decisões de escalonamento, configuração de failover e políticas de backup para a equipe.
Um provedor pode aplicar patches no OS e chamar o banco de dados de gerenciado, enquanto a equipe ainda é responsável pelo trabalho que o mantém disponível e recuperável.
Aplicação de patches, escalonamento, failover e backups são um bom ponto para traçar essa linha. Um serviço gerenciado também determina quanto da segurança, recuperação, migração, cargas de trabalho de AI e ferramentas de desenvolvimento em torno do Postgres sua equipe ainda precisa gerenciar.
O Postgres gerenciado é um serviço no qual o provedor opera a infraestrutura do banco de dados e lida com as principais tarefas operacionais, como aplicação de patches, escalonamento, failover e backups. Um serviço totalmente gerenciado assume a responsabilidade por essas operações, para que sua equipe possa se concentrar em criar soluções com o Postgres em vez de executá-lo.

O teste mais claro de onde um serviço se enquadra nesse espectro é se ele tira estas quatro tarefas operacionais da responsabilidade da equipe:
Um provedor gerenciado deve aplicar patches de OS, versões secundárias do PostgreSQL e manutenções rotineiras, como ajuste de vacuum, sem que a equipe de banco de dados precise agendar ou executar nada manualmente — o oposto do Postgres auto-hospedado, onde tudo isso fica sob responsabilidade deles. Atualizações de versões principais ainda exigem planejamento, já que as extensões e o comportamento da aplicação podem mudar, mas um bom provedor reduz essa necessidade ao mínimo e torna o caminho de atualização claro.
A capacidade deve se ajustar à carga de trabalho sem que os engenheiros de plataforma precisem redimensionar a infraestrutura manualmente: escalonamento vertical para mais computação ou memória, réplicas de leitura para o tráfego de leitura e, idealmente, escalonamento serverless que elimina totalmente essa decisão. O escalonamento automático do Lakebase é um exemplo em produção, permitindo gravações no Postgres 5 vezes mais rápidas do que no Postgres padrão. O teste real é um pico de tráfego: se a equipe de banco de dados estiver monitorando a utilização e esperando por um redimensionamento, o escalonamento ainda é trabalho deles.
O banco de dados deve permanecer ativo quando a infraestrutura falhar, sem que um engenheiro de plantão precise promover manualmente uma réplica às 2h da manhã. Alguns provedores lidam com isso usando instâncias em standby que assumem o controle automaticamente; outros, como o Lakebase, substituem a computação com falha imediatamente, já que ela não mantém um estado local durável. Ainda assim, nem todo provedor realiza o failover na mesma velocidade ou com a mesma perda de dados. Alguns perdem segundos de gravações no processo; outros não perdem nada. Esse é o detalhe que vale a pena verificar antes de confiar no rótulo, incluindo se o failover existe e o que acontece com as gravações em andamento quando ele é acionado.
Backups automáticos e um processo de restauração que as equipes possam executar sem precisar de um ticket de suporte são o básico. A recuperação point-in-time (PITR) restaura os dados para um momento específico em vez de apenas para o último snapshot, o que é fundamental quando uma migração malsucedida corrompe os dados no meio da tarde. A queda de uma região inteira é um problema maior, medido pelo Recovery Time Objective (RTO) — quanto tempo você fica fora do ar — e pelo Recovery Point Objective (RPO) — quanta perda de dados você pode tolerar. Um provedor sem números definidos para ambos não tem um plano de recuperação de desastres, apenas um palpite.
Um banco de dados gerenciado deve criptografar os dados em repouso e em trânsito, controlar quem pode acessá-los e dar às equipes de dados visibilidade sobre as atividades do banco de dados. Isso significa:
Uma migração pode parecer simples até que o novo banco de dados não ofereça suporte a uma extensão, configuração ou recurso do PostgreSQL do qual uma aplicação dependa. Verifique do que a aplicação depende antes de mover qualquer coisa. Aqui estão os principais pontos a considerar ao migrar um banco de dados PostgreSQL existente:
O Postgres pode ser uma excelente opção para aplicações de AI quando uma aplicação precisa de estado transacional e busca vetorial no mesmo sistema. Isso se resume a quatro coisas: o pgvector como a extensão que torna isso possível, a busca vetorial para recuperação, a memória de grandes modelos de linguagem (LLM) para persistir o estado entre as requisições e as cargas de trabalho de agentes que precisam de ambos ao mesmo tempo.
pgvector adiciona um tipo de dados vetorial e indexação de busca por similaridade diretamente no Postgres, para que os embeddings fiquem junto com o restante dos dados da sua aplicação, em vez de em um sistema próprio. A desvantagem é que um banco de dados vetorial separado significa que manter os embeddings e os dados operacionais sincronizados se torna um problema de engenharia à parte, algo que o pgvector elimina para cargas de trabalho que não precisam de um repositório vetorial dedicado.
O pgvector permite armazenar embeddings e usar índices de vizinho mais próximo aproximado (ANN) para encontrar vetores semelhantes de forma eficiente à medida que o conjunto de dados cresce, o que viabiliza a busca semântica, a geração aumentada de recuperação e a correspondência baseada em significado dentro do Postgres. A estratégia de indexação correta ainda depende do tamanho do conjunto de dados e dos padrões de consulta, portanto, o pgvector não elimina a necessidade de avaliar o desempenho para sua carga de trabalho específica.
As aplicações de LLM precisam de um lugar para manter o estado entre as requisições, incluindo o histórico de conversas, preferências do usuário, documentos recuperados e resultados de ferramentas. O Postgres pode armazenar esse estado como dados relacionais comuns, enquanto o pgvector lida com os embeddings no mesmo banco de dados. Para cargas de trabalho que exigem recuperação vetorial especializada em escala muito grande, um banco de dados vetorial dedicado ainda pode fazer sentido, mas muitas aplicações de AI podem manter o estado operacional e a recuperação juntos.
Os agentes leem e atualizam o estado continuamente enquanto são executados. Eles acompanham conversas, armazenam resultados intermediários e registram chamadas de ferramentas, o que torna o banco de dados parte da camada de execução do agente, e não apenas um lugar para recuperar contexto. Um banco de dados desenvolvido para cargas de trabalho de agentes de AI precisa suportar tanto esse estado transacional em constante mudança quanto a recuperação que o agente usa para encontrar o contexto relevante, em um único sistema.

Além de executar cargas de trabalho de produção, o Postgres precisa apoiar a maneira como sua equipe realmente desenvolve. Isso significa garantir que as conexões não se tornem um gargalo à medida que você escala, e que testar alterações de esquema não signifique colocar em risco os dados de produção.
O Postgres tem um limite finito de conexões que pode manter simultaneamente, e instâncias de aplicação que escalam horizontalmente podem atingir esse limite antes que a computação ou o armazenamento se tornem o gargalo. O pool de conexões reutiliza conexões de banco de dados estabelecidas entre as requisições, em vez de abrir uma nova conexão para cada uma. Em um serviço gerenciado, o que importa é se o pool de conexões já vem integrado ou se é algo que sua equipe precisa operar separadamente.
Testar alterações de esquema com dados de produção significa arriscar o ambiente de produção ou manter um banco de dados de staging que fica desatualizado com o tempo. A ramificação de banco de dados cria um ambiente isolado a partir de um estado de banco de dados de origem ou de um snapshot de um ponto no tempo, para que os desenvolvedores possam testar migrações com dados realistas, trabalhar de forma semelhante ao desenvolvimento evolutivo de banco de dados e excluir o branch quando ele não for mais necessário.

A abordagem do Lakebase fica mais clara quando você a compara com as principais tarefas que o Postgres gerenciado deve realizar:
A tabela abaixo mostra quais operações de banco de dados o Lakebase gerencia e quais ainda ficam sob a responsabilidade da equipe de banco de dados:
| Dimensão | O que o Lakebase gerencia |
|---|---|
| Aplicação de patches | Atualizações automáticas do PostgreSQL, de segurança, do OS e de computação |
| Escalonamento | Escalonamento automático, incluindo redução a zero (scale-to-zero) quando ocioso |
| Failover | Failover automático para computação secundária dentro de uma região |
| Backups e recuperação | Restauração de ponto no tempo (point-in-time restore) com histórico configurável de 2 a 30 dias, além de snapshots agendados para proteção adicional de backup |
| Recuperação de desastres | Private Preview, apenas na AWS. Replicação periódica com failover manual e procedimentos de recuperação gerenciados pelo cliente. |
| Criptografia | Em repouso e em trânsito, com chaves gerenciadas pelo cliente disponíveis |
| Controle de acesso | Funções e permissões do PostgreSQL, com integrações do Unity Catalog para uma governança mais ampla. |
| Extensões | pgvector, PostGIS e outras extensões do PostgreSQL suportadas |
| Pool de conexões | PgBouncer integrado |
| Ramificação | Copy-on-write, sem armazenamento duplicado |
| Integração com o Lakehouse | Tabelas sincronizadas e Change Data Feed |
| Preços | Serverless, escala com a carga de trabalho, suspenso quando ocioso. Armazenamento cobrado separadamente. |
A aplicação de patches, o escalonamento, o failover e os backups são executados automaticamente, conforme a tabela acima. A recuperação de desastres é a exceção: ainda em Private Preview, apenas na AWS, com failover manual e procedimentos de recuperação gerenciados pelo cliente. Esse é o detalhe que vale a pena verificar antes de contar com o Lakebase para qualquer recurso que abranja várias regiões. Saiba mais sobre o Databricks Lakebase.
"Gerenciado" significa algo diferente dependendo de quem está vendendo, desde apenas aplicar patches no OS e considerar o trabalho feito até assumir toda a responsabilidade de executar um banco de dados de produção: escalonamento, failover, backups, segurança, migração, cargas de trabalho de AI e toda a experiência do desenvolvedor em torno disso.
O Lakebase atende a esses critérios na maior parte deles. A aplicação de patches, o escalonamento e o failover são executados sem a intervenção da sua equipe; a recuperação de ponto no tempo (point-in-time recovery) é integrada, e a segurança, as extensões, o pool de conexões e a ramificação já vêm com o serviço. A recuperação de desastres entre regiões é a única exceção, ainda em Private Preview com failover manual, não oferecendo a mesma proteção automática que o Lakebase fornece dentro de uma região.
Para as equipes que estão avaliando o Postgres gerenciado, a questão crucial é quanto do trabalho operacional realmente sai de suas responsabilidades. O Lakebase lida com a maior parte desse trabalho dentro de uma região, enquanto a recuperação de desastres entre regiões continua sendo uma área onde as equipes ainda têm responsabilidades.
O Postgres auto-hospedado coloca todas as tarefas operacionais sob a responsabilidade da equipe de banco de dados: aplicação de patches, escalonamento, failover, política de backup e recuperação de desastres. O Postgres gerenciado transfere parte ou a totalidade disso para o provedor, mas o nível dessa transferência varia bastante. Serviços parcialmente gerenciados cuidam da infraestrutura e deixam o restante para o cliente. Alguns serviços totalmente gerenciados também incluem ferramentas de segurança, assistência de migração e fluxos de trabalho de desenvolvedores, como a ramificação de banco de dados.
O Postgres serverless é um modelo de banco de dados gerenciado no qual os recursos de computação escalam automaticamente conforme a demanda, eliminando a necessidade de provisionar um tamanho de instância fixo. Alguns provedores reduzem a computação a zero quando o banco de dados está ocioso, enquanto outros mantêm uma capacidade mínima. A cobrança geralmente se baseia na computação utilizada, em vez de uma instância provisionada permanentemente.
A ramificação de banco de dados cria uma ramificação (branch) isolada e do tipo copy-on-write de um banco de dados, sem duplicar o armazenamento subjacente. Cada ramificação pode ter seus próprios recursos de computação e alterações de dados, sem afetar a produção. As equipes utilizam esse recurso para testar migrações de esquema com dados reais, criar uma ramificação por pull request ou restaurar uma ramificação a partir de um ponto específico no tempo e, em seguida, excluí-la assim que o trabalho for concluído.
(Esta publicação no blog foi traduzida utilizando ferramentas baseadas em inteligência artificial) Publicação original
Assine nosso blog e receba os posts mais recentes diretamente na sua caixa de entrada.