[firebase-br] IB 6 super server não usa memória eficientemente?
Magno System
magno em speet.com.br
Ter Ago 19 15:17:35 -03 2008
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
Mais detalhes sobre a lista de discussão lista