Modelo de pool do PostgreSQL - AWS Orientação prescritiva

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Modelo de pool do PostgreSQL

O modelo de pool é implementado provisionando uma única instância do PostgreSQL (Amazon RDS ou Aurora) e usando segurança em nível de linha (RLS) para manter o isolamento dos dados do locatário. As políticas de RLS restringem quais linhas em uma tabela são retornadas porSELECT consultas ou quais linhas são afetadas porINSERTUPDATE, eDELETE comandos. O modelo de pool centraliza todos os dados do locatário em um único esquema PostgreSQL, portanto, é significativamente mais econômico e exige menos sobrecarga operacional para ser mantido. O monitoramento dessa solução também é significativamente mais simples devido à sua centralização. No entanto, o monitoramento dos impactos específicos do inquilino no modelo da piscina geralmente requer alguma instrumentação adicional na aplicação. Isso ocorre porque o PostgreSQL, por padrão, não sabe qual inquilino está consumindo recursos. A integração de inquilinos é simplificada porque nenhuma nova infraestrutura é necessária. Essa agilidade facilita a realização de fluxos de trabalho rápidos e automatizados de integração de inquilinos.

SaaS PostgreSQL pool model

Embora o modelo de piscina seja geralmente mais econômico e mais simples de administrar, ele tem algumas desvantagens. O fenômeno do vizinho barulhento não pode ser completamente eliminado em um modelo de piscina. No entanto, isso pode ser mitigado garantindo que os recursos apropriados estejam disponíveis na instância do PostgreSQL e usando estratégias para reduzir a carga no PostgreSQL, como descarregar consultas para ler réplicas ou para a Amazon ElastiCache. O monitoramento eficaz também desempenha um papel na resposta às questões de isolamento do desempenho do inquilino, porque a instrumentação do aplicativo pode registrar e monitorar a atividade específica do inquilino. Por fim, alguns clientes de SaaS podem não achar que a separação lógica fornecida pelo RLS é suficiente e podem solicitar medidas adicionais de isolamento.