Compartilhar via


Diretrizes para usar o Banco de Dados do Azure para PostgreSQL em uma solução multilocatário

Muitas soluções de multilocação no Azure usam o sistema de gerenciamento de banco de dados relacional de código aberto Azure Database for PostgreSQL. Este artigo descreve os recursos do Banco de Dados do Azure para PostgreSQL que são úteis quando você trabalha com sistemas multilocatários. O artigo também inclui links para diretrizes e exemplos de como usar o Banco de Dados do Azure para PostgreSQL em uma solução multilocatário.

Modos de implantação

Os seguintes modos de implantação estão disponíveis para o Banco de Dados do Azure para PostgreSQL e são adequados para uso com aplicativos multilocatários:

Observação

O servidor único do Banco de Dados do Azure para PostgreSQL está no caminho de desativação e está programado para ser desativado até 28 de março de 2025. Não é recomendado para novas cargas de trabalho multilocatários.

Recursos do Banco de Dados do Azure para PostgreSQL que dão suporte à multilocação

Quando você usa o Banco de Dados do Azure para PostgreSQL para criar um aplicativo multilocatário, os recursos a seguir podem aprimorar sua solução.

Observação

Alguns recursos só estão disponíveis em modos de implantação específicos. As diretrizes a seguir descrevem quais recursos estão disponíveis.

Segurança em nível de linha

A segurança em nível de linha é útil para impor o isolamento no nível do locatário quando você usa tabelas compartilhadas. No PostgreSQL, você implementa a segurança em nível de linha aplicando políticas de segurança de linha a tabelas para restringir o acesso a linhas por locatário.

Implementar a segurança em nível de linha em uma tabela pode afetar o desempenho. Talvez seja necessário criar outros índices em tabelas com segurança em nível de linha habilitada para garantir que o desempenho não seja afetado. Quando você usa a segurança em nível de linha, é importante usar técnicas de teste de desempenho para validar que sua carga de trabalho atende aos seus requisitos de desempenho de linha de base.

Para obter mais informações, consulte Proteger o servidor do Banco de Dados do Azure para PostgreSQL.

Dimensionamento horizontal com fragmentação

O padrão Fragmentação permite expandir sua carga de trabalho em vários bancos de dados ou servidores de banco de dados.

Soluções que precisam de um alto nível de escala podem usar o Azure Cosmos DB para PostgreSQL. Esse modo de implantação permite a fragmentação horizontal de locatários em vários servidores ou nós. Use tabelas distribuídas em bancos de dados multilocatários para garantir que todos os dados de um locatário sejam armazenados no mesmo nó. Essa abordagem melhora o desempenho da consulta.

Observação

Em outubro de 2022, o Banco de Dados do Azure para Hiperescala do PostgreSQL (Citus) foi renomeado como Azure Cosmos DB para PostgreSQL e movido para a família de produtos do Azure Cosmos DB.

Para obter mais informações, consulte os seguintes artigos:

Clusters elásticos (versão prévia)

Os clusters elásticos são um recurso do servidor flexível do Banco de Dados do Azure para PostgreSQL. Eles fornecem recursos de dimensionamento horizontal em um único serviço gerenciado. Essa opção de implantação usa a funcionalidade de tabela distribuída para cargas de trabalho multilocatários que exigem recursos de expansão.

Em soluções multilocatários, os clusters elásticos permitem a fragmentação de dados de locatário em vários nós. Você pode distribuir tabelas por ID de locatário para garantir que os dados do locatário sejam colocados em nós específicos. Essa abordagem pode melhorar o desempenho da consulta para consultas específicas do locatário.

Observação

Os clusters elásticos estão em versão prévia e estão disponíveis apenas no servidor flexível do Banco de Dados do Azure para PostgreSQL.

Para obter mais informações, consulte clusters elásticos no servidor flexível do Banco de Dados do Azure para PostgreSQL (versão prévia).

Agrupamento de conexões

O Postgres usa um modelo baseado em processo para conexões. Esse modelo torna ineficiente manter um grande número de conexões ociosas. Algumas arquiteturas multilocatários exigem muitas conexões ativas, que afetam negativamente o desempenho do servidor Postgres.

O pool de conexões por meio do PgBouncer é instalado por padrão no servidor flexível do Banco de Dados do Azure para PostgreSQL.

Para obter mais informações, consulte os seguintes artigos:

autenticação do Microsoft Entra

O servidor flexível do Banco de Dados do Azure para PostgreSQL dá suporte à autenticação de conexão usando a ID do Microsoft Entra. Esse recurso permite que as cargas de trabalho do aplicativo em um ambiente multilocatário se autentiquem no banco de dados usando uma entidade de serviço específica do locatário ou uma identidade gerenciada. O acesso ao banco de dados pode ser definido como escopo para um locatário individual. Ao combinar a autenticação do Microsoft Entra ID com políticas de segurança de linha específicas do locatário, você pode reduzir o risco de um aplicativo acessar os dados de outro locatário de dentro de um banco de dados multilocatário.

Para obter mais informações, consulte os seguintes artigos:

Computação confidencial do Azure (versão prévia)

O servidor flexível do Banco de Dados do Azure para PostgreSQL dá suporte à computação confidencial do Azure por meio de TEEs (ambientes de execução confiáveis), que fornecem proteção baseada em hardware para dados em uso. Esse recurso protege os dados do locatário contra acesso não autorizado pelo sistema operacional, hipervisor ou outros aplicativos.

Para soluções multilocatários que lidam com dados confidenciais, a computação confidencial fornece proteção de dados em nível de hardware durante o processamento. Use a computação confidencial quando os locatários tiverem requisitos estritos de proteção de dados ou necessidades de conformidade regulatória ou quando você precisar garantir que o provedor de aplicativos não possa acessar dados de locatário.

Observação

A computação confidencial está atualmente em versão prévia e requer SKUs de máquina virtual específicas.

Para obter mais informações, consulte a computação confidencial do Azure para o Banco de Dados do Azure para PostgreSQL (versão prévia).

Encriptação

Os dados armazenados no servidor flexível do Banco de Dados do Azure para PostgreSQL são criptografados em repouso por padrão usando chaves gerenciadas pela Microsoft, mas você também pode usar CMKs (chaves gerenciadas pelo cliente) para permitir que os locatários especifiquem suas próprias chaves de criptografia.

Ao usar CMKs, você pode fornecer suas próprias chaves de criptografia armazenadas no Azure Key Vault. Em ambientes multilocatários, essa abordagem permite que você use chaves de criptografia diferentes para locatários diferentes, mesmo quando seus dados são armazenados no mesmo servidor de banco de dados. Essa funcionalidade também fornece aos locatários controle sobre suas próprias chaves de criptografia. Se um locatário optar por desativar sua conta, a exclusão da chave associada garantirá que seus dados não sejam mais acessíveis.

O servidor flexível do Banco de Dados do Azure para PostgreSQL dá suporte a atualizações automáticas de versão de chave para CMKs. Esse recurso é atualizado automaticamente para novas versões de chave após a rotação no Key Vault e não requer gerenciamento manual de versão de chave. Em ambientes multilocatários em que a conformidade regulatória requer rotação regular de chaves, essa automação reduz tarefas operacionais manuais e mantém a proteção de dados sem interrupção do serviço.

Para obter mais informações, consulte os seguintes artigos:

Colaboradores

A Microsoft mantém este artigo. Os colaboradores a seguir escreveram este artigo.

Autor principal:

Outros colaboradores:

  • John Downs | Principal Engenheiro de Software, Padrões do Azure & Práticas
  • Arsen Vladimirskiy | Engenheiro principal de atendimento ao cliente, FastTrack for Azure
  • Paul Burpo | Engenheiro de cliente principal, ISVs do FastTrack for Azure
  • Assaf Fraenkel | Engenheiro/Arquiteto de Dados Sênior, Azure FastTrack para ISVs e Start-ups

Para ver perfis não públicos no LinkedIn, entre no LinkedIn.