2012/9/20 Rodrigo <[email protected]>

> Assim!
>
> Estou observando que estruturar o banco mult empresa com vários schemas, no
> futuro pode complicar a performance as consultas.....essa forma de schemas
> para mim hoje não precisaria eu mudar praticamente nada no meu código....


Realmente, e dependendo do caso, seria bom criar um usuário para cada
"esquema", com permissões apenas para o mesmo por questão de segurança
(isso se a aplicação for desktop ou o servidor for no cliente), assim você
também pode atrelar o search_path ao usuário (role).

Por outro lado isso inviabiliza o uso de pool de conexões compartilhado
entre os usuários... Por isso vai depender de uma análise do cenário.

mas
> parece que vai agir diretamente no rendimento geral do sistema...


Por que acha isso?
De certa forma pode-se até pensar que melhora, pois as tabelas vão estar
mais "leves", o que também pode-se alcançar facilmente com particionamento
(se usar o modelo de campo com código).

A outra opção que seria mais trabalhosa. Ou seja, ir em cada tabela,
> consulta, relatório, insert, update e tal....e  adicionar o campo codemp.
> Seria trabalho mas não influenciaria na performance e nem em muitas
> alterações nas consultas....
>
> Você tem que analisar melhor o quão dificil vai ser isso.

Outra coisa que tens de analisar, você vai ter muito relatório/consultas
que pegam dados de mais de uma empresa de uma só vez? Se não for o caso,
esse trabalho todo talvez não compense e o uso de esquemas seja mais
simples e efetivo. Além do que, para os casos com consultas em vários você
pode criar views com diversos unions (o que teria a mesma performance que
consultas em uma tabela particionada).

Atenciosamente,
-- 
Matheus de Oliveira
Analista de Banco de Dados PostgreSQL
Dextra Sistemas - MPS.Br nível F!
www.dextra.com.br/postgres
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a