[firebase-br] RES: Carregar Base para Memória
Valdir Marcos
valdir.marcos em ig.com.br
Sex Fev 15 16:08:20 -03 2013
Sua aquitetura tem alguma ponta solta.
Em condições análogas, excluindo-se cluster obviamente, o Firebird tem
performace igual ao Oracle.
Você pode fornecer alguma infomação extra como hardware e sistema
operacional do servidor, se ele roda algum outro serviço além do
próprio Firebird, tamanho da RAM, do FDB, hd SAS ou SCSI ou SATA ou
ATA, etc?
Quantos milhões de linhas você precisa ler parar gerar quantas linhas
de relatório ou gráfico?
Um abraço,
Valdir
Em 15 de fevereiro de 2013 15:33, Frederico Godoi
<frederico.godoi em gmail.com> escreveu:
> Quanto a isso beleza Leonardo.
> Criamos um pequeno robô, programado para executar a noite, fora do horário
> de trabalho da empresa, pra evitar sobrecarregar o servidor e etc.
> Mas queria diminuir esse tempo de alguma forma.
> Fico ouvindo um DBA Oracle me enchendo dizendo que "se fosse em Oracle" ele
> faria isso, jogaria tais tabelas para a memória e teria o resultado muito
> mais rápido.
> Pensei que havia algo similar no Firebird para tentar fazer o mesmo.
>
> Obrigado
>
>
> 2013/2/15 Leonardo Carneiro <chesterman86 em gmail.com>
>
>> Oi Frederico. Até onde eu sei, não tem como uma coisa ir para a memória
>> sozinha, ou fazer o próprio FB mandar ela para a memória, sem que ela seja
>> acessada em algum momento.
>>
>> É importante entender que operações de carga (exportação, extração,
>> transformação, etc) e relatórios complexos (consultas de BI, por exemplo),
>> irão ser demoradas e geralmente não executam em tempo real quando se tem
>> uma grande quantidade de dados.
>>
>> Se sua aplicação executa operações desse tipo, é interessante que ela tenha
>> algum mecanismo para executar em background, com o uso de threads, para não
>> travar a interface, ou outra solução similar.
>>
>>
>> 2013/2/15 Frederico Godoi <frederico.godoi em gmail.com>
>>
>> > Respondendo a todos :
>> >
>> > 1. Estou usando Delphi com FIBPlus como conexão.
>> > Tentei fazer usando uma stored procedure, mas a exportação não fica
>> > legal.
>> >
>> > 2. A memória do servidor é suficientemente grande sim Leonardo porém ATÉ
>> > fazer esse fecth a primeira vez, depois não uso mais. Essa primeira que
>> eu
>> > queria acelerar, mandando o Firebird carregar isso na memória antes de
>> > fazer minha exportação.
>> >
>> > Obrigado,
>> >
>> > Frederico
>> >
>> > 2013/2/15 Leonardo Carneiro <chesterman86 em gmail.com>
>> >
>> > > Frederico, se sua base for suficientemente pequena (ou se sua memória
>> for
>> > > suficientemente grande), o fb VAI colocar sua base inteira em memória,
>> > uma
>> > > vez que os dados são acessados pelo menos uma vez.
>> > >
>> > > Só configurar os parâmetros de memória para que comporte o banco.
>> > >
>> > >
>> > > 2013/2/15 Felix - SOL Informática <felix em solsistemas.com>
>> > >
>> > > > Qual "linguagem" você esta usando para acesso ao Firebird? A
>> > exportação é
>> > > > direto por Store Procedure ?
>> > > >
>> > > > Francisco Felix
>> > > > www.solsistemas.com
>> > > >
>> > > >
>> > > > -----Mensagem original-----
>> > > > De: lista [mailto:lista-bounces em firebase.com.br] Em nome de Sandro
>> > Souza
>> > > > Enviada em: sexta-feira, 15 de fevereiro de 2013 13:26
>> > > > Para: FireBase; Frederico Godoi
>> > > > Assunto: Re: [firebase-br] Carregar Base para Memória
>> > > >
>> > > > Bom dia/tarde Frederico.
>> > > >
>> > > > Meu nobre amigo, acredito que isso seja mais questão de criatividade
>> e
>> > > > conhecimento da linguagem de programação a ser utilizada.
>> > > >
>> > > > Por exemplo, posso criar classes para representar as tabelas, e
>> outras
>> > > > classes para representar os registros, e lendo essas tabelas posso
>> > copiar
>> > > > esses dados para memória usando essas classes.
>> > > >
>> > > > Daí em diante, a brincadeira acontece dentro da aplicação.
>> > > >
>> > > > Pergunta boba: Você já revisou o plano das suas consultas para ver
>> se a
>> > > > criação de um ou mais índices poderia agilizá-las?
>> > > >
>> > > > On 15-02-2013 12:54, Frederico Godoi wrote:
>> > > > > Boa tarde,
>> > > > >
>> > > > > Alguém sabe um meio, via Firebird direto ou via aplicação para
>> > > > > buscar várias tabelas para a memória ram ?
>> > > > >
>> > > > > Preciso fazer uma grande pesquisa para exportar dados. Essa
>> > > > > exportação hoje demora aprox 2 horas, justamente fazendo o fatch
>> nas
>> > > > tabelas.
>> > > > >
>> > > > >
>> > > > > Alguma sugestã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
>> >
>> ______________________________________________
>> 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
>>
>
>
>
> --
> Frederico Godoi
> ______________________________________________
> 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