2014-12-10 16:13 GMT-02:00 Márcio A. Sepp <[email protected]>:

>
>
> Bom dia,
>
>
>
>
>
> O que você considera um ambiente complexo? Poderia nos dar mais detalhes?
>
>
>
> Na verdade eu sou apenas um entusiasta.
>
> Mas minha visão de ambiente complexo seria um ambiente com muitas conexões
> de acesso no banco. Tanto para alteração quanto para somente leitura e
> também tabelas com bastante registros.
>
>
>
> Como poderia ser proposto uma solução, por exemplo, para um banco como o
> banco do Brasil? (hipoteticamente é claro) com muitos acessos de leitura e
> também muitos acessos de escrita e, com um cadastro centralizado (os saldos
> das contas e os nomes dos correntistas teoricamente deveriam ser
> centralizados não é mesmo?).
>

Não necessariamente, principalmente se for uma abordagem síncrona.


>
>
> Seguindo no exemplo hipotético do banco, de tempos em tempos teria de se
> fazer uma fragmentação das tabelas de movimento, pois senão teríamos um
> inchaço muito grande com o passar do tempo. Li sobre a herança no
> postgresql, alguém pode citar de repente alguma experiência com esse
> recurso? Como ficam as chaves estrangeiras na herança?
>
>
>

Existem problemas com FK's na herança. Essa funcionalidade do PostgreSQL
acabou sendo deixada de lado pois consideraram outras características mais
importantes (e eu concordo). Eu tentei usar uma vez em um projeto de médio
porte e desisti.
Exemplo ( http://www.postgresql.org/docs/9.3/static/ddl-inherit.html ):
A serious limitation of the inheritance feature is that indexes (including
unique constraints) and foreign key constraints only apply to single
tables, not to their inheritance children.



> ---
>
>
>
> Achei interessante os links abaixo e a replicação por streaming é muito
> legal. Tenho uma dúvida em relação a ela que seria mais ou menos assim:
> Cliente faz uma operação de pagamento de um título e em seguida consulta o
> título novamente. No momento do pgto (operação de escrita), minha aplicação
> executa no servidor máster e na consulta (apenas leitura), minha aplicação
> consulta em um servidor slave. Pode ocorrer de fazer o pagamento do título
> e consultar em seguida e ainda não aparecer o pagamento? (pelo que vi pode
> sim, mas quanto tempo e onde pode ser configurado este tempo? Malefícios de
> deixar um time baixo?)
>
>
>

Pode, se tiver em replicação assíncrona. Nesse teu cenário, eu não vejo
malefícios em deixar um time baixo. Entretanto, nada garante que será
sincronizado antes do usuário invocar na tela de consulta no standby.
Você pode monitorar o lag através desta query e ter uma ideia do tempo
médio da replicação no seu ambiente.

SELECT CASE WHEN pg_last_xlog_receive_location() =
pg_last_xlog_replay_location()  THEN 0
  ELSE EXTRACT (EPOCH FROM now() - pg_last_xact_replay_timestamp())
  END AS log_delay;




>

>
> Att.
>
> Márcio A. Sepp
>
>
>
>
>
> [1] - http://eulerto.blogspot.com.br/2010/11/replicacao-no-postgresql.html
>
> [2] -
> http://eulerto.blogspot.com.br/2010/11/hot-standby-e-streaming-replication.html
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a