[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