Obrigado, e vamos a mais detalhes.

O sistema que hoje tem 84 BD
é um sistema que gerencia arquivo morto de outras empresas, 
aqueles documentos que todas as emrpesa precisam guardar 
por 10,15,30 anos ou eternamente .

* Todos utilizam exatamente a mesma estrutura, sem adaptações exclusivas para 
determinados clientes.

A sua estrutura está bem definida, as alterações por solicitações dos clientes
são raras pelo menos nos ultimos 9 anos foram poucas, 
são apenas 10 tabelas a maior com 30 campos.
A menor tabela desses documentos tem 50 registros, o maior passa dos 20.000;

( Fiz um teste recentement e unifiquei tudo em um unico banco Firebird 
fiquei com quase 800 mil registros).

* Você terá de alterar boa parte da estrutura das tabelas para
acomodar o novo campo e isso significa alterar também a aplicação. Se
você já está migrando de um SGDB para outro, talvez você já esteja
prevendo algumas alterações, esta não é tão complexa.

Correto

* Se as bases crescerem muito, você pode querer particionar algumas
tabelas. Se vários clientes utilizam a mesma tabela, isso pode ocorrer
com maior frequência.

Aqui entra o X da questão se unir tudo acho complicado 
sacrificar uma consulta para retonar algo entre 800.000 
ao invés 50 no caso no menor cliente.

* As alterações na estrutura vão ocorrer de uma vez só para todos os
clientes. Isso pode ser bom, pois dá menos trabalho. Também pode ser
ruim, se um dos clientes estiver resistente a adotar uma nova versão.

Os clientes tem acesso através de uma aplicação web apenas,
ou seja, para eles será transparente.

* Você vai ter de tomar alguns cuidados especiais para que os dados de
um cliente não sejam vistos por outro cliente. Implementar acesso por
meio de funções ou visões onde o nome do cliente é um dos parâmetros
pode ser uma forma segura de fazer isso;
* A parte de GRANTs deve ser estudada com mais cuidado. O cliente não
deve em hipótese nenhuma ter acesso direto às tabelas.

Correto por isso pensei nos Schemas.

Obrigado.


--
Wagner Porto
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a