Salve salve,

Preciso agilizar minha maquina de busca e para isso resolvi particionar meu
conteúdo em diversas outras maquinas.
Minha intensão é deixar toda essa estrutura transparente para a aplicação
porem me deparei com alguns problemas.

Projeto simplificado:
Tenho uma função plpgsql que funciona como um hash de datas. De acordo com a
data pesquisada essa função direciona a busca
para a maquina que responde por aquela informação. Supondo que tenho 4
maquinas para responder pelo dia corrente, 2 para responder
pela pelo intervalo de uma semana e 1 para responder para todo o mês, como
fazer o balanceamento de carga sem alterar a aplicação??

Solução:
Ao fazer um pesquisa a aplicação usa uma função de busca(plpgsql) já
implementada. A ideia é alterar essa função para que ela faça o
direcionamento de acordo com quantas pesquisas estão em cada maquina do grid
que responde pelo intervalo de datas pesquisado.

Inicialmente pensei em  fazer que a própria função de busca atualizasse
minha tabela de balanceamento. Funcionaria assim:

Usuário faz a busca dos dados no intervalo x  -> função de busca escolhe o
grid que responde pelo intervalo e de acordo com a carga de cada maquina do
grid faz o direcionamento -> função de busca atualiza a tabela de
balanceamento incrementando a coluna que representa a carga da maquina ->
busca é feita -> ao retornar decrementa a variável de carga da maquina.

Problema:
Funções no postgres são executadas como transação simples logo incrementar e
decrementar a carga da maquina não tem efeito algum já que a transação só
tem efeito no final da execução.

Então , o que fazer?
Soluções pensadas:
-  Controlar essa carga através de sequência (sequência é atualizada antes
do fim da execução de uma função)
-  Criar função em C para controlar esses valores por arquivo.

informações adicionais:
- O conteúdo é um jornal
- As conexôes entre os bancos são feitas através do dblink



To abrindo aqui a discussão , idéias???




On 9/11/07, Leandro Diniz Soares <[EMAIL PROTECTED]> wrote:
>
> Amigos,
>
> Como faço para receber os emails desta lista um por um?
> Por que chega para mim é um resumo muito confuso... heheh...
>
>
>
>
> --
> [],
> Leandro Diniz Soares
> Desenvolvedor / Analista (Web)
> [EMAIL PROTECTED]
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>


-- 
Att,
Leonardo Chaves de Freitas

QualiConsult
Analista de Bando de Dados  - DBA
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a