[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