O AlloyDB para PostgreSQL é um serviço de banco de dados totalmente gerenciado e compatível com o PostgreSQL. Ele integra um mecanismo de banco de dados criado pelo Google a uma arquitetura de vários nós baseada na nuvem para oferecer performance, confiabilidade e disponibilidade de nível empresarial aos seus aplicativos mais exigentes.
Casos de uso do AlloyDB
O AlloyDB oferece uma alternativa escalonável ao PostgreSQL autogerenciado. Use o AlloyDB se quiser passar menos tempo gerenciando a infraestrutura e mais tempo criando aplicativos.
O AlloyDB foi projetado para cargas de trabalho exigentes, incluindo:
- Processamento transacional e analítico híbrido (HTAP): execute consultas analíticas complexas nos seus dados transacionais ativos sem afetar o desempenho ou a disponibilidade.
- Aplicativos de IA de baixa latência: crie aplicativos de IA generativa usando o AlloyDB AI, que integra a pesquisa vetorial e a invocação de modelos de machine learning diretamente no mecanismo de banco de dados, eliminando a necessidade de movimentação de dados externos de alta latência.
- Cargas de trabalho essenciais de nível empresarial: implante aplicativos que exigem os mais altos níveis de desempenho, confiabilidade e disponibilidade, com suporte de uma arquitetura desagregada de computação e armazenamento que abrange várias zonas de disponibilidade.
O que o AlloyDB oferece
O AlloyDB oferece muitos serviços para que você não precise criá-los e mantê-los por conta própria. Você pode se concentrar nos dados e deixar que o AlloyDB faça as seguintes operações:
- Backups: proteja seus dados com backups programados automatizados e sob demanda, além de um sistema de recuperação contínua que permite a recuperação pontual.
- Alta disponibilidade: garanta a continuidade do serviço com nós redundantes localizados em diferentes zonas, com failover automático entre eles.
- Gerenciamento de recursos: otimize a performance e a eficiência com sistemas que alocam e liberam automaticamente memória e armazenamento conforme necessário.
- Otimização de consultas: melhore o desempenho do banco de dados usando um consultor de índice que sugere melhorias no esquema e um mecanismo colunar que acelera as consultas analíticas.
- Segurança e criptografia: proteja os dados em repouso usando a criptografia padrão do Google ou chaves de criptografia gerenciadas pelo cliente (CMEK) e gerencie o acesso usando o Google Cloud Identity and Access Management (IAM) integrado.
Administração de banco de dados
O AlloyDB gerencia a infraestrutura subjacente do seu banco de dados, como backups automatizados, patches de segurança e alocação de recursos. No entanto, o AlloyDB não é uma ferramenta independente de administração de banco de dados. Você ainda precisa de ferramentas administrativas para gerenciar os esquemas, os dados e os usuários nos seus bancos de dados.
Você pode usar as seguintes ferramentas para se conectar e gerenciar seus bancos de dados:
- AlloyDB Studio: uma ferramenta baseada na Web integrada diretamente ao console do Google Google Cloud , que permite explorar e gerenciar seus dados usando uma interface SQL interativa.
- Clientes PostgreSQL: como o AlloyDB é totalmente compatível com o PostgreSQL, é possível usar clientes administrativos e ferramentas de linha de comando padrão, como psql e pgAdmin, para trabalhar com seu banco de dados.
Preços do AlloyDB
O AlloyDB usa um modelo de preços por consumo, ou seja, você recebe uma fatura pelos recursos que usa. Os preços do AlloyDB variam de acordo com as definições de configuração e dependem dos seguintes fatores:
- Recursos da instância: o tipo de máquina (número de vCPUs e quantidade de RAM) selecionado para suas instâncias principais e de pool de leitura.
- Armazenamento: a quantidade de dados armazenados na camada de armazenamento flexível do cluster.
- Rede: a quantidade de tráfego de saída de rede das suas instâncias.
Para mais informações, consulte os preços do AlloyDB para PostgreSQL.
Como o AlloyDB funciona
Um aplicativo se conecta a instâncias do AlloyDB usando protocolos padrão do PostgreSQL.
Por baixo da superfície, o AlloyDB usa uma arquitetura desagregada e uma hierarquia de recursos projetados para maximizar a disponibilidade e o desempenho.
Diferença arquitetônica do PostgreSQL padrão
O PostgreSQL tradicional une o mecanismo de banco de dados que processa consultas com o armazenamento no mesmo servidor. O AlloyDB usa uma arquitetura desagregada, em que as camadas de computação e armazenamento são separadas e escalonadas de forma independente.
- Computação: máquinas virtuais ou nós que processam suas consultas.
- Armazenamento: um mecanismo de armazenamento distribuído e nativo da nuvem que mantém seus dados em várias zonas de disponibilidade e é escalonado automaticamente à medida que os dados aumentam.
Hierarquia de recursos do AlloyDB
O AlloyDB organiza os recursos em três níveis: clusters, instâncias e nós.
O diagrama a seguir ilustra a hierarquia de recursos do AlloyDB, com um cluster escalonado com uma instância principal e várias instâncias de pool de leitura com balanceamento de carga:
- Cluster: um recurso de nível superior que atua como um contêiner lógico para seus bancos de dados, registros e outros metadados em uma região. É possível criar vários clusters no mesmo projeto e região.
- Instância: um cluster contém uma ou mais instâncias. Uma instância fornece o ponto de conexão para seus aplicativos.
- Nó: uma instância é alimentada por um ou mais nós. Um nó é uma máquina virtual (VM) dedicada à execução do mecanismo de banco de dados.
O que é uma instância do AlloyDB?
Uma instância do AlloyDB é o ponto de acesso ao seu banco de dados. Cada instância tem um endereço IP particular e estático na sua VPC. Quando o aplicativo envia uma consulta para esse endereço IP, a instância encaminha a solicitação para os nós subjacentes para processamento.
O AlloyDB usa dois tipos de instâncias:
Instância principal: oferece acesso de leitura e gravação aos seus dados. Cada cluster tem exatamente uma instância principal. Uma instância principal pode ser de alta disponibilidade (HA) ou básica.
Alta disponibilidade: contém dois nós, um ativo e outro em espera, localizados em zonas diferentes para failover automático.
Instância básica: contém um único nó para ambientes de não produção que não exigem alta disponibilidade. Uma instância básica tem apenas um nó, sem um nó em espera. Para mais informações, consulte Reduzir custos usando instâncias básicas.
Instância do pool de leitura: oferece acesso somente leitura para escalonar suas cargas de trabalho. É possível adicionar uma ou mais instâncias do pool de leitura, cada uma contendo até 20 nós no total em todo o cluster. O AlloyDB faz o balanceamento de carga automático das solicitações nos nós de um pool de leitura.
Principais recursos
O AlloyDB se diferencia de uma instalação padrão do PostgreSQL de várias maneiras, além das vantagens de escalonamento vertical e horizontal inerentes à arquitetura de vários nós descrita anteriormente. As seções a seguir analisam mais detalhadamente os principais recursos do AlloyDB.
Recursos de banco de dados automáticos e adaptáveis
O mecanismo de banco de dados totalmente compatível com PostgreSQL que alimenta todos os nós do AlloyDB tem vários recursos que analisam continuamente a estrutura e a frequência das consultas processadas pelas instâncias, usando essas informações para sugerir melhorias no esquema ou aplicar otimizações automaticamente:
Um consultor de índice ajuda você a encontrar oportunidades para otimizar o esquema do banco de dados usando novos índices com base nos seus padrões de uso.
Um mecanismo colunar pode acelerar o desempenho das consultas analíticas armazenando dados na memória usando um formato colunar. Isso permite que o AlloyDB use técnicas avançadas de processamento para verificar com eficiência uma grande quantidade de dados da tabela quando necessário.
Uma variação adaptativa do recurso de autovacuum de dados desatualizados do PostgreSQL ajusta automaticamente os parâmetros relacionados ao vacuum para se adequar melhor ao formato da sua carga de trabalho.
Os sistemas automáticos de gerenciamento de memória e armazenamento aproveitam o ambiente baseado na nuvem criado pelo Google em que o AlloyDB é executado, alocando e liberando memória e armazenamento continuamente conforme necessário para manter o cluster funcionando com desempenho e eficiência de recursos ideais.
Alta disponibilidade
Por padrão, um cluster do AlloyDB oferece alta disponibilidade (HA) por meio dos nós redundantes da instância principal, localizados em duas zonas diferentes, com failover automático.
Clusters que operam em ambientes de não produção e não exigem alta disponibilidade podem usar instâncias principais básicas de zona única.
Adicionar instâncias de pool de leitura com pelo menos dois nós cria mais pontos de acesso balanceados por carga, multizonais e de alta disponibilidade aos seus dados. Todas as instâncias do pool de leitura são executadas de forma independente da instância principal.
Para mais informações sobre considerações específicas de cada região, consulte Geografia e regiões.
Backup de dados e recuperação de desastres
O AlloyDB tem um sistema contínuo de backup e recuperação que permite criar um novo cluster com base em qualquer momento dentro de um período de armazenamento ajustável. Isso permite uma recuperação rápida de acidentes de perda de dados.
Além disso, o AlloyDB pode criar e armazenar backups completos dos dados do cluster, sob demanda ou em uma programação regular. A qualquer momento, é possível restaurar um backup em um novo cluster do AlloyDB que contenha todos os dados do cluster original no momento da criação do backup.
Para mais informações, consulte Sobre backups.
Como outro método de recuperação de desastres, é possível fazer a replicação entre regiões criando clusters secundários em regiões separadas do Google Cloud. O AlloyDB transmite dados de forma assíncrona de um cluster principal designado para cada um dos clusters secundários. Sempre que necessário, é possível promover um cluster secundário para um cluster do AlloyDB completo com instâncias principais e de pool de leitura.
Para mais informações, consulte Sobre a replicação entre regiões.
Segurança e controle de acesso
É possível configurar um cluster para exigir conexão com o proxy de autenticação seguro do AlloyDB, que usa o Google Cloud gerenciamento de identidade e acesso (IAM) para controle de acesso. Para mais informações, consulte Autorização.
O AlloyDB usa o sistema padrão de função do usuário do PostgreSQL para autenticação, introduzindo algumas funções adicionais específicas do AlloyDB. Para mais informações, consulte Gerenciar papéis de usuário do AlloyDB.
Criptografia
Por padrão, o AlloyDB protege todos os dados em repouso usando os métodos de criptografia do Google. Se você precisar criptografar seus dados usando uma chave fornecida por você, especifique uma chave de criptografia gerenciada pelo cliente (CMEK) ao criar um cluster. Em seguida, o AlloyDB usa a chave CMEK para criptografar todos os dados gravados nesse cluster.
A CMEK também se aplica a backups. É possível especificar uma chave da CMEK ao criar um backup sob demanda, configurar uma programação de backup ou restaurar de um backup.
Para mais informações, consulte Sobre a CMEK.
Manutenção e atualizações
Durante a vida útil de um cluster do AlloyDB, podem ocorrer dois tipos de atualizações:
- Atualizações do sistema: o Google realiza atualizações do sistema periodicamente para garantir que o hardware e o software subjacentes sejam confiáveis, seguros e tenham o desempenho ideal. Essas atualizações incluem patches de segurança, upgrades do sistema operacional e atualizações secundárias da versão do servidor PostgreSQL.
- Atualizações de configuração: são mudanças que você faz manualmente no cluster ou nas instâncias para atender às demandas de carga de trabalho em constante mudança. Por exemplo, redimensionar a contagem de vCPUs e memória de uma instância ou modificar flags de banco de dados.
As operações de manutenção do AlloyDB são projetadas para não serem disruptivas. Isso é feito preparando servidores substitutos e trocando-os rapidamente pelos servidores ativos quando estiverem prontos. Durante esse processo, as instâncias principais geralmente têm menos de um segundo de inatividade, enquanto os pools de leitura permanecem disponíveis continuamente. Todas as conexões ativas com o banco de dados são interrompidas momentaneamente, mas você pode continuar usando o banco de dados normalmente durante todo o processo.
Se você quiser aplicar uma atualização imediatamente, mesmo que isso signifique um tempo de inatividade maior, use a flag de banco de dados FORCE_APPLY.
IA do AlloyDB
A IA do AlloyDB integra um conjunto de recursos de IA e ML diretamente no banco de dados do AlloyDB. Historicamente, a criação de aplicativos de IA exigia pipelines de dados e processos de ETL complexos para mover dados de bancos de dados operacionais para plataformas especializadas de IA/ML. Esse método gerou desafios como aumento da latência na transferência de dados, maior sobrecarga operacional no gerenciamento de diferentes sistemas e armazenamento duplicado. Ao integrar recursos de IA diretamente ao banco de dados, a IA do AlloyDB elimina a necessidade de movimentação extensa de dados externos.
Para facilitar o desenvolvimento de aplicativos de IA, a IA do AlloyDB fornece as seguintes extensões:
vector(uma versão dopgvectorpersonalizada para a IA do AlloyDB): armazena e indexa embeddings vetoriais para pesquisa semântica. Oferece suporte à execução de consultas híbridas e pesquisas de similaridade. Para começar a usar a pesquisa vetorial, consulte Fazer uma pesquisa vetorial.alloydb_scann: oferece pesquisa de vizinho mais próximo aproximada de alta performance ao implementar um índice de vizinho mais próximo altamente eficiente com tecnologia do algoritmo ScaNN. Para mais informações, consulte Criar um índice do ScaNN.google_ml_integration: oferece acesso às funções de IA, o que permite a invocação de modelos de ML do AlloyDB para tarefas como geração de embeddings, classificação semântica, filtros e junções baseados em IA, além de geração e resumo de texto. O gerenciamento de endpoints de modelo permite o registro e a invocação de modelos de IA, incluindo modelos externos da OpenAI ou da Anthropic. Para mais informações, consulte Registrar um endpoint de modelo e Avaliar consultas semânticas com operadores de IA.alloydb_ai_nl: permite a interação com seu banco de dados usando linguagem natural. Ele permite que os desenvolvedores de aplicativos gerem consultas SQL precisas e seguras em resposta a perguntas em linguagem natural dos usuários finais, permitindo que usuários sem conhecimento de SQL acessem dados. Para mais informações, consulte Visão geral da linguagem natural.
Para conferir uma lista de casos de uso dos recursos da IA do AlloyDB, consulte Criar aplicativos de IA generativa.
Suporte a extensões
O AlloyDB inclui suporte para várias extensões conhecidas do PostgreSQL. Para conferir a lista completa, consulte Extensões de banco de dados compatíveis.
Uma alternativa autohospedada: AlloyDB Omni
Como alternativa à execução do AlloyDB no Google Cloud, o Google oferece o AlloyDB Omni. Com essa edição simplificada e para download do AlloyDB, é possível executar o poderoso mecanismo de banco de dados no seu próprio ambiente de computação baseado em Linux, onde quer que ele esteja.
Para mais informações, consulte Sobre o AlloyDB Omni.