[firebase-br] IB 6 super server não usa memória eficientemente?
Paulo
paulo em manfra.com.br
Ter Ago 19 17:49:55 -03 2008
Obrigado pelas dicas à todos.
Resolvi importar o banco do jeito que se encontra mesmo, porque ainda
preciso adequar o sistema ao firebird. E estou tendo bastante trabalho
com as udfs... Tomara que não tenha que reescrever...
De qualquer forma, fica como referência.
Magno System escreveu em 19/08/2008 15:17:
> O IBDATAPUMP realmente é uma boa ferramenta. Recentemente tenho usado o
> próprio IBEXPERT. Na conversão do FIREBIRD 2.0.4 para 2.1.1 eu extrai os
> metadados + dados em um só script e executei com o 2.1.1 instalado. No seu
> caso, se o banco for 90% igual faça uma importação seletiva dos 90% e os
> outros 10% na unha. Bem, isso é só um palpite.
>
>
> ----- Original Message -----
> From: "Valdir Marcos" <valdir.marcos em ig.com.br>
> To: "FireBase" <lista em firebase.com.br>
> Sent: Tuesday, August 19, 2008 1:45 PM
> Subject: Re: [firebase-br]IB 6 super server não usa memória eficientemente?
>
>
> Boa tarde.
>
> Eu trabalho com consultoria em projetos de banco de dados e sistemas,
> e carga de dados em ambiente de Business Inteligence (ETL), e cada
> caso é um caso...
>
> No casos, mais simples (ou onde não haja dinheiro ou haja pouco
> conhecimento), temos IBDataPump, avançando um pouco mais temos as
> ferramentas da EMS (http://www.sqlmanager.net/en/products), depois
> ferramentas específicas de ETL, e por fim programação na unha mesmo...
> este último recurso fica geralmente para os casos mais graves onde o
> banco de dados original tem uma "modelagem" muito ruim (incluindo
> inconsistências e erros nos dados originais) e a nova modelagem será
> muito (muito mesmo!) diferente da modelagem anterior.
>
> Começe verificando ferramentas de PUMP disponíveis nos sites da
> www.firebase.com.br, www.comunidade-firebird.org e
> http://www.baixaja.com.br/downloads/Windows/Business/Databases-Tools/Page-1-0-0-0-0.html.
> Depois, parte para o Google...
>
> Um abraço,
>
> Valdir
>
>
> Em 19/08/08, Paulo<paulo em manfra.com.br> escreveu:
>
>> Obrigado pelas dicas, Valdir.
>>
>> Só uma dúvida: como você faz a importação dos dados para esta no base
>> com a estrutura de certa forma diferente?
>>
>> Valdir Marcos escreveu em 18/08/2008 19:30:
>>
>>> Paulo, apenas uma sugestão...
>>>
>>> Quando eu pego esse tipo de situação, eu extraio o metadado do banco
>>> velho inteiro e reconstruo na nova versão do Firebird mudando pequenos
>>> detalhes, como chaves primárias e estrangeiras, índices e charsets.
>>> Todos esses elementos são transparentes para a aplicação, todavia já
>>> de início dão aquela lentanda na performance da aplicação abrindo
>>> espaço e credibilidade para fazermos o trabalho pesado de construirmos
>>> um banco de dados decente.
>>>
>>> Um abraço,
>>>
>>> Valdir
>>>
>>>
>>> Em 18/08/08, Paulo<paulo em manfra.com.br> escreveu:
>>>
>>>
>>>> Boa tarde, Valdir.
>>>>
>>>> É o que eu pretendo fazer! Mas é um sistema legado e de uma
>>>> codificação
>>>> horrível! Coisas que só o RAD faz pra você! Um dia chego até a versão
>>>> mais atual do Firebird (ou quem sabe mudo de SGBD :), mas tenho que ir
>>>> com calma!
>>>>
>>>>
>>>> Valdir Marcos escreveu em 18/08/2008 14:54:
>>>>
>>>>
>>>>
>>>>> Paulo, porque você não migra seus dados para o Firebird 2.1.1? Você
>>>>>
>>>>>
>>>> > verá uma diferença absurda de performance em relação Interbase 6,
>>>> sem
>>>> > falar na enormidade de melhorias e recursos que foram acrescentados
>>>> de
>>>> > lá para cá.
>>>> >
>>>> > Um abraço,
>>>> >
>>>> > Valdir
>>>> >
>>>> >
>>>> > Em 18/08/08, Valdir Marcos<valdir.marcos em ig.com.br> escreveu:
>>>> >
>>>> >> Boa tarde.
>>>> >>
>>>> >> No Firebird 2.1, você poderia derrubar os comandos de uma conexão,
>>>> mas
>>>> >> não a conexão em si (o que será possível no FB 2.5). Todavia, se
>>>> você
>>>> >> derrubar todos os comandos de uma conexão, essa conexão pára de lhe
>>>> >> dar trabalho... he he he
>>>> >>
>>>> >> -- Descubra qual conexão lhe interessa:
>>>> >> Select * From Mon$Attachments;
>>>> >>
>>>> >> -- Apaga todos os comandos dessa conexão:
>>>> >> Delete From MON$STATEMENTS
>>>> >> Where Mon$Attachment_ID = 9999;
>>>> >> Commit;
>>>> >>
>>>> >> -- Verifica se sobrou algum comando dessa conexão:
>>>> >> Select * From MON$STATEMENTS;
>>>> >>
>>>> >> -- Após você apagar o comando, o usuário dessa conexão receberá uma
>>>> >> mensagem de erro instantaneamente... he he he
>>>> >>
>>>> >> Um abraço,
>>>> >>
>>>> >> Valdir
>>>> >>
>>>> >>
>>>> >> Em 18/08/08, Douglas Tosi<douglasht em gmail.com> escreveu:
>>>> >>
>>>> >>> 2008/8/18 Paulo <paulo em manfra.com.br>:
>>>> >>>
>>>> >>>> Douglas Tosi escreveu em 18/08/2008 11:40:
>>>> >>>> O parâmetro DATABASE_CACHE_PAGES está em 3500. Já experimentei
>>>> aumentar
>>>> >>>> este valor, mas houve um pequeno aumento no uso da memória
>>>> apenas.
>>>> >>>> Os problemas que eu tenho são quando alguma conexão faz um uso
>>>> mais
>>>> >>>> agressivo do banco. Todos os outros clientes sofrem com isso.
>>>> >>>>
>>>> >>> Não acredito que aumentar o cache vai te ajudar nisso. 300MB é um
>>>> banco pequeno.
>>>> >>> Você poderia colocar ele inteiro no cache e ainda assim teria
>>>> >>> problemas de performance.
>>>> >>> Aumentar a memória só te ajudaria se você tiver problemas de
>>>> excesso
>>>> >>> de I/O de leitura.
>>>> >>> E ainda assim, cuidado: O IB6 não é muito esperto gerenciando
>>>> caches
>>>> >>> muito grandes.
>>>> >>>
>>>> >>>
>>>> >>>> Aliás, este é um outro problema que venho enfrentando: não
>>>> consigo cancelar o
>>>> >>>> processamento de algumas queries, nem matar conexões! Às vezes
>>>> preciso
>>>> >>>> rodar alguma query mais pesada no servidor de produção (mesmo não
>>>> sendo
>>>> >>>> o banco de dados de produção) e, se ela demorar demais, todos os
>>>> outros
>>>> >>>> clientes ficam intrabalháveis neste período. Há alguma maneira de
>>>> matar
>>>> >>>> um cliente no super server?
>>>> >>>>
>>>> >>> Não. Só a partir do 2.5.
>>>> >>> No 2.1 tem como cancelar uma query.
>>>> >>> Mas matar uma conexão nas versões anteriores ao 2.0, só no
>>>> Classic.
>>>> >>> E só existe classic para windows a partir do firebird 1.5, eu
>>>> acho.
>>>> >>> (Confirme isso)
>>>> >>>
>>>> >>>
>>>> >>>> Unindo o pouco uso da memória e o problema com o excesso de
>>>> >>>> processamento de alguns clientes, pensei em utilizar o classic
>>>> server,
>>>> >>>> porque poderia matar a conexão mal-criada facilmente.
>>>> >>>>
>>>> >>> As versões mais novas do Firebird se comportam um pouco melhor na
>>>> >>> distribuição de carga entre os clientes. Um cliente mal-criado não
>>>> vai
>>>> >>> causar tanto impacto nos outros.
>>>> >>>
>>>> >>> --
>>>> >>> Douglas Tosi
>>>> >>> www.sinatica.com
>>>> >>>
>>>> >>> ______________________________________________
>>>> >>> 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
>>>> >>>
>>>> >>>
>>>> >
>>>> > ______________________________________________
>>>> > 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
>>>> >
>>>>
>>>>
>>>> ______________________________________________
>>>> 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
>>>>
>>>>
>>>>
>>> ______________________________________________
>>> 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
>>>
>>>
>> ______________________________________________
>> 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
>>
>>
>
> ______________________________________________
> 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
>
>
> ______________________________________________
> 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
>
Mais detalhes sobre a lista de discussão lista