Artigo SQL Magazine 37 - Firebird

Artigo da Revista SQL Magazine - Edição 37.

Clique aqui para ler esse artigo em PDF.

Clique aqui para ler todos os artigos desta edição

Firebird

 

Aversão 1.0 do Firebird, apesar das melhorias introduzidas, é completamente compatível com o InterBase 6. Versões posteriores, como a 1.5 e a 2.0, recentemente lançada como Release Candidate 3, já não guardam plena compatibilidade com aquela versão. Na versão 1.5, o código-fonte foi totalmente revisto e portado de C para C++. Além da mudança de linguagem, o Firebird ganhou novo gerenciamento de memória. Vale ressaltar que a versão 1.5 foi realizada nos bastidores do código, sem alteração na interface de programação (API), o que significa dizer que aplicativos escritos para a versão 1.0 funcionariam na versão 1.5 com pouca ou nenhuma alteração.

Em dezembro de 2003, com base no código alfa do Firebird 2, criou-se o projeto Vulcan com o propósito de redesenhar a arquitetura de threading do engine do banco. Com release previsto para 2007, o Firebird 3 (fusão do Firebird 2 com o Vulcan) promete ser a maior implementação no projeto do banco e está sendo desenvolvido para plataformas de 32 e 64 bits. Assegura-se que os programas escritos para as versões anteriores funcionarão sem mudanças nessa nova versão que, sem sombra de dúvida, apresentará uma estrutura muito mais robusta.

O Firebird (www.firebirdsql.org) é um software completamente aderente ao modelo cliente/servidor, especialmente projetado para uso local e redes WAN. Enquanto o servidor roda no computador hospedeiro da rede, a biblioteca cliente cuida para que a estação remota se comunique com os bancos de dados gerenciados pelo servidor. Por padrão, o servidor Firebird recebe (“escuta”) as solicitações dos clientes na porta 3050, que pode ser redefinida se julgado necessário. É importante detectar, no teste de uma instalação, se existe firewall bloqueando a porta padrão (ou a porta reconfigurada) e impedindo que as conexões se realizem.

Atualmente, o Firebird é distribuído em três formas: Super-Server, Classic e Embedded. A versão SuperServer trabalha com um processo único no servidor, criando linhas de execução (threads) para cada conexão. A versão Classic, indicada para ambientes com suporte SMP (Symmetric Multiprocessing), dispara um processo para cada conexão, necessitando de maior quantidade de memória RAM no servidor. A versão Embedded (embutida), uma variante do SuperServer para plataformas Windows, introduzida a partir do Firebird 1.5, é extremamente adequada para a criação de versões de demonstração de softwares, uma vez que o servidor, completamente funcional, é disponibilizado em uma única biblioteca dinâmica (fbembed.dll). Naturalmente, a versão é limitada ao método de acesso local e permite conexão com um único usuário. Uma aplicação “embutida” pode ser executada concorrentemente na mesma máquina em que se encontra um servidor Firebird normal. Contudo, os dois servidores não podem ter acesso a um banco de dados ao mesmo tempo.

 

Limitações de memória / storage / processador / plataforma

O Firebird, apesar da sua alta capacidade de armazenamento, é um SGBD extremamente leve. O processo do servidor do Firebird utiliza cerca de 2MB de memória. Cada conexão no modelo SuperServer adiciona aproximadamente 115K ao consumo de memória do servidor. No modelo Classic, cada conexão (processo independente), utiliza 2MB de memória.

Com relação à capacidade de armazenamento, assim como outras características de um banco de dados, há que se considerar os limites teóricos e os efetivamente obtidos na prática, principalmente pelas limitações do próprio sistema operacional. O tamanho máximo de um banco de dados Firebird, que pode suportar até 32767 tabelas, é de 7TB (7 terabytes). Na versão 1.5, por exemplo, cada tabela está limitada a 30GB (em torno de 2.000.000.000 de linhas). Esse limite desaparece na versão 2.0. O número teórico máximo de clientes conectados é de 1024 (protocolo TCP/IP), embora se deva trabalhar com um número máximo de 150 clientes concorrentes, no modelo SuperServer, em aplicações interativas consideradas “normais”. Entretanto, existem aplicações que suportam entre 300 e 350 usuários concorrentes, como as existentes na Livraria Municipal de Praga. Teoricamente, esse limite poderia chegar a 400 usuários, visto que as conexões do servidor estão definidas em processos de 32 bits. Um processo de 32 bits, como se sabe, não pode endereçar mais que 2GB de memória." [...] continue lendo...

Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados