Visão geral do AlloyDB

O AlloyDB para PostgreSQL é um serviço de banco de dados totalmente gerenciado e compatível com o PostgreSQL. Ele combina um mecanismo de banco de dados criado pelo Google com uma arquitetura de vários nós baseada na nuvem para oferecer desempenho, confiabilidade e disponibilidade de nível empresarial para seus aplicativos mais exigentes.

Para prototipagem, desenvolvimento e testes rápidos com agentes de programação, comece com a configuração do AlloyDB Express (pré-lançamento), que oferece provisionamento rápido, computação com redução da escala a zero e upgrade com um clique para o AlloyDB pronto para produção. Para mais informações, consulte a Visão geral do AlloyDB Express.

Casos de uso do AlloyDB

O AlloyDB oferece uma alternativa escalonável ao PostgreSQL padrão 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 as seguintes:

  • Processamento transacional e analítico híbrido (HTAP): execute consultas analíticas complexas nos dados transacionais ativos sem afetar o desempenho ou a disponibilidade.
  • Aplicativos de IA de baixa latência: crie aplicativos de IA generativa usando a IA do AlloyDB, que integra a busca 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 externa 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 o suporte de uma arquitetura de computação e armazenamento desagregada que abrange várias zonas de disponibilidade.
  • Prototipagem e fluxos de trabalho que usam agentes de programação de IA: use o AlloyDB Express para criar bancos de dados para desenvolvimento e teste. Quando o banco de dados está inativo, os recursos computacionais reduzem escala vertical para zero, e você não é cobrado por eles.

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 lide com as seguintes operações:

  • Backups: proteja seus dados com backups programados automatizados e on demand, 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 zonas diferentes, com failover automático entre eles.
  • Gerenciamento de recursos: otimize o desempenho 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 de esquema e um mecanismo colunar que acelera as consultas analíticas.
  • Segurança e criptografia: proteja dados em repouso usando Google-owned and Google-managed encryption keys ou chaves de criptografia gerenciadas pelo cliente (CMEK) e gerencie o acesso usando o Identity and Access Management (IAM) integrado.

Administração de banco de dados

O AlloyDB gerencia a infraestrutura do 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 bancos de dados.

Use 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 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 padrão e ferramentas de linha de comando, como psql e pgAdmin, para trabalhar com seu banco de dados.

Como o AlloyDB funciona

Um aplicativo se conecta a instâncias do AlloyDB usando protocolos padrão do PostgreSQL.

O AlloyDB usa uma arquitetura desagregada e uma hierarquia de recursos projetada para maximizar a disponibilidade e o desempenho.

Diferença de arquitetura em relação ao PostgreSQL padrão

O PostgreSQL padrão combina 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 persiste seus dados em várias zonas de disponibilidade e é escalonado automaticamente à medida que seus dados crescem.

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:

Diagrama mostrando um cluster com uma instância primária e instâncias de pool de leitura

  • 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: o ponto de conexão dos seus aplicativos. Um cluster contém uma ou mais instâncias.
  • Nó: uma máquina virtual (VM) dedicada à execução do mecanismo de banco de dados. Um ou mais nós alimentam cada instância.

O que é uma instância do AlloyDB?

Uma instância do AlloyDB é o ponto de acesso do seu banco de dados. Cada instância tem um endereço IP estático e particular na rede de nuvem privada virtual (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: fornece 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.

    • Instância de alta disponibilidade: contém dois nós, um ativo e um em espera, localizados em zonas diferentes para failover automático.

    • Instância básica: contém um único nó sem nó de espera, para ambientes que não são de produção e que não exigem alta disponibilidade. Para mais informações, consulte Reduzir custos usando instâncias básicas.

  • Instância do pool de leitura: fornece acesso somente leitura para escalonar suas cargas de trabalho. É possível adicionar uma ou mais instâncias de pool de leitura, cada uma com até 20 nós no total em todo o cluster. O AlloyDB balanceia automaticamente a carga das solicitações entre os nós em 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 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 cada nó do AlloyDB analisa continuamente a estrutura e a frequência das suas consultas. O mecanismo de banco de dados usa essas informações para sugerir melhorias de esquema ou aplicar automaticamente as seguintes otimizações:

  • 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 de consultas analíticas armazenando dados na memória usando um formato colunar. Isso permite que o AlloyDB use técnicas de processamento avançadas para verificar com eficiência uma grande quantidade de dados de tabela quando necessário.

  • Uma variação adaptativa do recurso de vácuo automático de dados desatualizados do PostgreSQL ajusta automaticamente os parâmetros relacionados ao vácuo para se adequar melhor ao formato da sua carga de trabalho.

  • Os sistemas de gerenciamento automático de memória e armazenamento aproveitam o ambiente baseado na nuvem criado pelo Google em que o AlloyDB é executado, alocando e liberando continuamente memória e armazenamento conforme necessário para manter o cluster em execução com desempenho e eficiência de recursos ideais.

Alta disponibilidade

Por padrão, um cluster do AlloyDB oferece alta disponibilidade (HA, na sigla em inglês) por meio dos nós redundantes da instância primária, localizados em duas zonas diferentes, com failover automático.

Os clusters que operam em ambientes de não produção que não exigem alta disponibilidade podem, opcionalmente, usar instâncias primárias básicas de zona única.

Adicionar instâncias de pool de leitura com pelo menos dois nós cria mais pontos de acesso de alta disponibilidade, multizonais e com balanceamento de carga para seus dados. Todas as instâncias do pool de leitura são executadas de maneira 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 conta com um sistema de backup e recuperação contínuos que permite criar um novo cluster com base em qualquer momento dentro de um período de armazenamento ajustável. Isso permite que você se recupere de acidentes de perda de dados.

Além disso, o AlloyDB pode criar e armazenar backups completos dos dados do cluster, sob demanda ou de forma programada. 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 realizar a replicação entre regiões criando clusters secundários em regiões separadas do Google Cloud. O AlloyDB transmite dados de maneira assíncrona de um cluster primário designado para cada um dos clusters secundários. A qualquer momento, é possível promover um cluster secundário a um cluster primário ou realizar um failover entre regiões (pré-lançamento) para manter automaticamente sua topologia de replicação durante uma interrupção.

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 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 vários papéis adicionais específicos do AlloyDB. Para mais informações, consulte Gerenciar papéis de usuário do AlloyDB.

Criptografia

O AlloyDB protege todos os dados em repouso usando Google-owned and Google-managed encryption keys por padrão. 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 CMEK para criptografar todos os dados gravados nesse cluster.

A CMEK também se aplica a backups. É possível especificar uma CMEK ao criar um backup sob demanda, configurar uma programação de backup ou restaurar um backup.

Para mais informações, acesse Sobre CMEK.

Manutenção e atualizações

Durante a vida útil de um cluster do AlloyDB, dois tipos de atualizações podem ocorrer:

  • Atualizações do sistema: o Google realiza atualizações periódicas do sistema 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 de versões secundárias do servidor PostgreSQL.
  • Atualizações de configuração: são alterações que você faz manualmente no cluster ou nas instâncias para atender às mudanças nas demandas de carga de trabalho. Exemplos incluem 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 não causam interrupções. O AlloyDB prepara os servidores de substituição e os troca pelos servidores ativos quando estiverem prontos. Durante esse processo, as instâncias primárias normalmente ficam inativas por menos de um segundo, enquanto os pools de leitura permanecem continuamente disponíveis. A troca interrompe momentaneamente as conexões ativas do banco de dados, mas você pode continuar usando o banco de dados normalmente durante o processo.

Para aplicar uma atualização de flag mais rapidamente, mesmo que isso cause um tempo de inatividade maior, use o modo de atualização FORCE_APPLY.

IA do AlloyDB

A IA do AlloyDB integra um conjunto de recursos de IA e ML diretamente ao banco de dados do AlloyDB. Antes, a criação de aplicativos de IA exigia pipelines de dados complexos e processos de ETL para mover dados de bancos de dados operacionais para plataformas especializadas de IA/ML. Esse método levou a desafios como maior latência na transferência de dados, maior sobrecarga operacional no gerenciamento de sistemas diferentes e armazenamento duplicado. Ao integrar recursos de IA diretamente ao banco de dados, a IA do AlloyDB elimina a necessidade de movimentação extensiva de dados externos.

Para facilitar o desenvolvimento de aplicativos de IA, a IA do AlloyDB oferece as seguintes extensões:

  • Extensão vector (uma versão de pgvector personalizada para o AlloyDB AI): armazena e indexa embeddings de vetor para pesquisa semântica e oferece suporte a consultas híbridas e pesquisas de similaridade. Para começar a usar a pesquisa vetorial, consulte Fazer uma pesquisa vetorial.
  • Extensão alloydb_scann: fornece pesquisa de vizinho mais próximo aproximado de alto desempenho implementando um índice de vizinho mais próximo altamente eficiente com tecnologia do algoritmo ScaNN. Para mais informações, consulte Criar um índice do ScaNN.
  • Extensão google_ml_integration: fornece acesso às funções de IA, que permitem invocar modelos de ML do AlloyDB para tarefas como geração de embeddings, classificação semântica, filtros e mesclagens baseados em IA e geração e resumo de texto. O gerenciamento de endpoints de modelo permite registrar e invocar 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.
  • Extensão alloydb_ai_nl: permite interagir com o 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 que não usam SQL acessem dados. Para mais informações, consulte Visão geral da linguagem natural.

Para uma lista de casos de uso dos recursos da IA do AlloyDB, consulte Criar aplicativos de IA generativa.

Suporte a extensões

O AlloyDB é compatível com várias extensões conhecidas do PostgreSQL. Para ver a lista completa, consulte Extensões de banco de dados compatíveis.

Uma alternativa auto-hospedada: AlloyDB Omni

Como alternativa à execução do AlloyDB no Google Cloud, o Google oferece o AlloyDB Omni. Essa edição simplificada e para download do AlloyDB permite que você execute o poderoso mecanismo de banco de dados no seu próprio ambiente de computação baseado em Linux, onde quer que ele esteja.

Para conhecer as opções de implantação e os codelabs e gerenciar assinaturas no console doGoogle Cloud , acesse a página do console do AlloyDB Omni.

Para mais informações, consulte a Visão geral do AlloyDB Omni.

AlloyDB Express para prototipagem e programação de agentes

O AlloyDB Express é uma configuração no AlloyDB para prototipagem, desenvolvimento, testes e fluxos de trabalho rápidos que usam agentes de programação de IA. O AlloyDB Express oferece os seguintes recursos:

  • Provisionamento rápido: as instâncias estão prontas para aceitar conexões em aproximadamente 2 segundos para DNS público e em 20 segundos para endpoints do Private Service Connect.
  • Computação com redução da escala a zero: as instâncias ociosas reduzir escala vertical a escala vertical para zero, então você não recebe cobranças pela computação durante períodos de inatividade.
  • Conectividade do Private Service Connect e do DNS público: é possível se conectar à instância pela rede VPC usando endpoints do Private Service Connect ou de clientes fora da rede VPC usando o DNS público.
  • Upgrade no local para o AlloyDB: é possível fazer upgrade de um cluster do AlloyDB Express para o AlloyDB com um clique.

Para mais informações, consulte a Visão geral do AlloyDB Express.

A seguir