[firebase-br] Update concorrente

Kleber Caneva kdcc em terra.com.br
Seg Nov 3 17:47:58 -03 2008


Sobre as alterações tanto faz. Depende como vc quer trabalhar:
 - Use 2 INSERT´s se vc quiser registros de Estorno e e depois uma nova 
saida
 - Use UPDATE se não precisar de um controle de estorno.

Em ambos os casos a SP irá recalcular o saldo corretamente.

Quanto ao uso intensivo, até o momento não tive qualquer perda de performace 
devido a isso. Só deve ter atenção para otimizar ao máximo sua SP.

Pra updates concorente exist o WITH LOCK, para  onde você bloqueia o 
registro. Por me não gosto de usar esse recusos. Mas é opção minha.

[]´s

Kléber Caneva

----- Original Message ----- 
From: "Daniel Sonda" <daniel em mhnet.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Monday, November 03, 2008 2:26 PM
Subject: Re: [firebase-br] Update concorrente


Kleber Caneva escreveu:
> Eu pessoalemnte crio uma tabela de movimento de estoque, e cada operação
> inclui um novo registro.
>
> Para consultar o Saldo, eu crio um SP onde passo o codigo do produto. Essa
> SP procura por um Inventario o incio do arquivo. Ai venho processando
> (somando ou subtraindo) até chegar no saldo atual. É muito rapido.
>
> Usando o mesmo processo, é possivel pegar o saldo de uma determinada data.
>

Tanto o Zottis quanto o Kleber me indicaram calcular sempre o estoque
usando uma tabela de movimentação. Obrigado pelas sugestões!

Minha dúvida, como respondi pro Zottis, é quanto às alterações... elas
geram inserts ou updates na tabela de movimentos?

Esse tipo de consulta, calculando o saldo do estoque cada vez que eu
precise, num sistema que irá usar intensivamente essa informação, não
vai  deixá-lo lento, forçando muito o servidor?

E sobre o update concorrente? Como posso tratar uma área crítica de
atualização no Firebird?

Att.
Daniel Sonda
www.h2jsolucoes.com.br



Kleber Caneva escreveu:
> Eu pessoalemnte crio uma tabela de movimento de estoque, e cada operação
> inclui um novo registro.
>
> Para consultar o Saldo, eu crio um SP onde passo o codigo do produto. Essa
> SP procura por um Inventario o incio do arquivo. Ai venho processando
> (somando ou subtraindo) até chegar no saldo atual. É muito rapido.
>
> Usando o mesmo processo, é possivel pegar o saldo de uma determinada data.
>
> []´s
>
> Kléber Caneva
>
>
> ----- Original Message ----- 
> From: "Daniel Sonda" <daniel em mhnet.com.br>
> To: "FireBase" <lista em firebase.com.br>
> Sent: Monday, November 03, 2008 1:31 PM
> Subject: [firebase-br] Update concorrente
>
>
> Olá pessoal, considerem o seguinte cenário:
>
>     Sistema ERP com aproximadamente 50 usuários ativos e concorrentes de
> diversos setores (compras, almoxarifado, produção, vendas, etc) fazendo
> inclusões, alterações e exclusões de dados relacionados ao estoque de
> produtos.
>
>     Objetivo: controlar o estoque de produtos.
>     Requisitos: atualização on-line do estoque, com possibilidade de
> consulta retroativa (Ex: qual o estoque há um  mês atrás?).
>
>     Solução: encontrei exemplos de controle de estoque com triggers em
> cada tabela de movimentação (itens de notas de compra, venda,
> apontamentos de produção, etc) que atualizam um campo na tabela de
> produto (saldo).
>
>     Dúvida: o campo de saldo na tabela de produto torna-se uma área
> crítica, com vários acessos simultâneos de consulta e alteração, com
> grande (certa) possibilidade de conflito.
>
>     Alguma sugestão de como resolver esse tipo de concorrência para
> atualização? O Firebird fornece algum suporte para tratar esse tipo de
> situação?
>
>

______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para saber como gerenciar/excluir seu cadastro na lista, use: 
http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://firebase.com.br/pesquisa

E-mail verificado pelo Terra Anti-Spam.
Para classificar esta mensagem como spam ou não spam, visite
http://mail.terra.com.br/cgi-bin/reportspam.cgi?+_d=SCY0NDU0NzM0I3Blcm0hdGVycmEmMSwxMjI1NzMzMjI0Ljg3NDk1Mi4yOTM2NS50cmlidW5lLnRlcnJhLmNvbSw2NDA1
Verifique periodicamente a pasta Spam para garantir que apenas mensagens
indesejadas sejam classificadas como Spam.






Mais detalhes sobre a lista de discussão lista