Oi pessoal,

 

To vendo essa conversa se estender, e quero dar minha opinião, pois tenho
sistema multiempresa rodando.

Quando vejo a discussão sobre as permissões no banco de dados, me pergunto
por que o usuário terá a liberdade de operar em cima dele fora do sistema.
Creio que somente o DBA devesse ter esse direito. Sendo assim, no sistema,
ao iniciar, seta-se uma variável global com o código da empresa atual, e
somente esses dados serão carregados/listados/alterados. E ninguém tem a
senha de login no banco, exceto o DBA. Criar esquemas vai gerar um custo
muito alto de manutenção desse banco, pra sincronizar metadados, mesmo que
seja para CX2, como disseram. E separar em tabelas distintas também.
Concordo plenamente com o Mozart.

 

De: Adriano Espinoza de Oliveira [mailto:adrianoespin...@gmail.com] 
Enviada em: quinta-feira, 11 de dezembro de 2008 13:52
Para: Comunidade PostgreSQL Brasileira
Assunto: Re: [pgbr-geral] Banco Multiempresa

 

Mozart, concordo com você!!!

Mas, como você mesmo, pode servir para alguem...

No caso do Saulo, está na cara que trata-se de um caixa 2, e bla bla bla... 

 

APARENTEMENTE!!!! digo APARENTEMENTE uma esquartejada de leve não vai trazer
problemas....

Adriano

 

2008/12/11 Mozart Hasse <mozart.ha...@usa.net>

Bases separadas?!

Para brincar até dá, mas... e se o teu banco tiver mais 800 tabelas?? O que
é que se faz com as 2000 chaves estrangeiras e os 4000 índices?! Cria em
todas as bases de filiais ?! Lindo, e aí "é só" configurar alguns
arquivinhos super triviais do SLONY para sincronizar as míseras 200 tabelas
de uso comum a todas as filiais.

Vamos pensar *médio*. E se você quiser tirar um relatório gerencial das 30
filiais do mesmo *estado* ? (Brasil inteiro não, que eu propus pensar
*médio*!) Quantos UNIONs você vai ter de fazer se a consulta de uma empresa
só você já precisa de umas 8? Quanto tempo você acha que o planejador vai
gastar só descobrindo se ele dá conta de rodar um comando desse tamanho?

Agora o divertido mesmo vai ser atualizar a estrutura desse negócio. Que tal
rodar o mesmo script ALTER TABLE nas 30 filiais? Acha que um scriptzinho
criado via cut-paste ou macros mirabolantes para usar na linha de comando
quebram teu galho?

Bom, o interessante vai ser explicar para o cliente que ele vai precisar de
um
DBA toda a vez que quiser cadastrar uma filial nova. Fico imaginando quanto
tempo o cliente vai gastar com DBAs só monitorando o SLONY para garantir que
ele atualizou as tabelas comuns em todas essas bases e que todas as tabelas
estão com a mesma estrutura. O legal mesmo vai ser alguém precisar rodar (ou
precisar de algo equivalente) um UPDATE em todas as filiais de uma vez,
dentro
de uma só transação...

Sinto muito, essa idéia de esquartejar bases até pode servir para alguém,
mas no meu caso, na-na-ni-na-não.

Mozart Hasse




> Sobre o assunto, eu *não* misturaria dados de empresas distintas em uma
mesma
> tabela sem utilizar um controle de permissões a nível de registros (como
os
> descritos acima) porque seria fácil, senão trivial, conseguir dados
indevidos.
> Como alguns colegas sugeriram, eu optaria por utilizar esquemas para
separar
> empresas e utilizaria a nomenclatura nomedomodulo_nomedoobjeto para
designar
> os objetos (tabelas, funções, visões, etc).
>

_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

 

_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a