Firebird 1.5 é um SGBD SQL completo. É poderoso e leve ao mesmo tempo, com mínima necessidade de configuração e administração. Atende igualmente bem a aplicações de um único usuário e a aplicações corporativas. Um simples servidor Firebird pode manipular múltiplas bases de dados independentes, cada uma com múltiplas conexões clientes. E o melhor de tudo: é verdadeiramente Open Source, assim, livre de qualquer exigência de licenças, mesmo para uso comercial.

Características Principais

  • Em conformidade com o conceito A.C.I.D.: O Firebird foi desenvolvido de acordo com o conceito de "Atomicidade, Consistência, Isolamento e Durabilidade".

  • MGA: Uma característica especial do Firebird é a "Arquitetura de Múltiplas Gerações" (Multi-Generational Architecture), que permite ao banco  manipular várias versões do mesmo registro físico em qualquer momento, assim qualquer transação pode ter sua própria versão sem se importar com outras transações concorrentes ("leitura não bloqueia escrita e escrita não bloqueia leitura"). Isto assegura OLTP tão bem quanto operações OLAP.

  • Procedimentos Armazenados (Stored Procedures): Usando a PSQL (Procedural SQL) do Firebird, pode-se facilmente criar poderosos procedimentos armazenados (Stored Procedures) para processar dados internamente no lado do Servidor. Um detalhe especial são os "Procedimentos Selecionáveis" (selectable Stored Procedures) que podem calcular dados linha por linha no servidor e podem ser usados como uma View ou uma "Tabela Virtual" do lado cliente, a qual é especialmente útil para criação de relatórios.

  • Eventos: Procedimentos Armazenados (Stored Procedures) e Gatilhos (Triggers) podem disparar Eventos que podem ser monitorados de um cliente numa porta TCP/IP para "bases de dados ativas".

  • Geradores (Generators): O conceito de Generators (Seqüências) permite a fácil implementação de colunas do tipo auto-incrementos, mas vai além disso. Generators são contadores não voláteis do tipo Int64 que são independentes de transações e podem ser usados de muitas maneiras.

  • Bases de dados "somente leitura": Para distribuição de Bases de dados em CD-ROM, por exemplo. Especialmente quando usado em conjunto com a versão embutida (embedded), isto dá uma facilidade imbatível de distribuição. 
  • Controle total de transações: Uma simples aplicação cliente pode ter multiplas transações concorrentes. Os diversos níveis de isolamento podem ser completamente controlados pelo cliente. O protocolo de commit em duas fases permite consistência garantida entre as bases de dados. Travamento otimista é também suportado, bem como multiplos Savepoints em Transações.

  • Backups Online: Não há necessidade de parar a base de dados para efetuar o backup. Um processo de backup captura a imagem  da base de dados no momento em que ele inicia, assim os usuários podem continuar trabalhando enquanto um backup roda, permitindo a operação 24x7.

  • Gatilhos (Triggers): Cada tabela pode ter múltiplos gatilhos (Triggers) que são disparados para cada linha da tabela antes ou depois de Inserts, Updates ou Deletes. Dentro de um gatilho, a riqueza da PSQL pode ser usada para aplicar valores padrões, assegurar a integridade dos dados, gerar exceções, etc. A novidade no Firebird 1.5 são os "Gatilhos universais": Aqui você pode ter um único gatilho para manipular Inserts, Updates e/ou Deletes na tabela de uma só vez.

  • Funções Externas (External Functions): Bibliotecas com funções definidas pelo usuário (User Defined Functions ou UDFs) podem ser escritas em linguagens como C, C++ ou Delphi e podem ser facilmente ligadas ao núcleo do Firebird via DLLs/SOs, habilitando você a estender a funcionalidade dentro do Servidor.

  • Integridade Referencial em Cascata (Declarative Cascading Referential Integrity): Assegura consistência e validade de um relacionamento 1-N (Pai e Filho) entre tabelas.
  • Character Sets: O Firebird implementa muitos Character Sets Internacionais, incluindo Unicode com uma variedade de Collates.

Em conformidade com o Padrão SQL

O Firebird tem suporte completo ao (SQL 92 Entry Level 1) e implementa a maioria do padrão SQL-99, além de alguns adicionais úteis. Isto inclui declarações DML/DDL, sintaxes FULL/LEFT/RIGHT [OUTER] JOIN, cláusulas UNION e DISTINCT, subconsultas (IN, EXISTS), funções internas (AVG, SUM, MIN, MAX, COALESCE, CASE, ..), constraints (PRIMARY KEY, UNIQUE, FOREIGN KEY), assim como todos os tipos de dados da SQL.

O Firebird também implementa Domínios (Domains) e campos com Check Constraints, Views, Exceptions, Roles e uma refinada gerência de permissões (Grant). Veja as Notas de Lançamento e o Guia de referência do Firebird para maiores detalhes.

Exigência de Hardware

O Firebird roda em quase todo hardware. Mesmo hardwares "fracos" podem fazer o trabalho, especialmente quando usados com Linux. Como qualquer SGBDR, há os aspectos comuns que influenciam a performance: a quantidade física de RAM (16MB já irá rodar); a velocidade do subsistema de armazenamento (como sistemas RAID), etc. É claro, o hardware recomendado depende do que você quer fazer com sua base de dados, como o tamanho que ela atingirá, quantos usuários concorrentes você espera e assim por diante. Você pode iniciar com a configuração mínima e então ampliar o servidor mais tarde conforme surgir a necessidade.

Disponível para diversas plataformas de SOs

As plataformas mais usadas com o Firebird são  Linux e Windows (Incluindo MS Terminal Servers e Citrix MainFrames). Outras plataformas são Mac OS X, Solaris e HP-UX.

Migrar de uma plataforma para outra é indolor e possível a qualquer momento: simplesmente faça um backup da base de dados de um SO usando o formato transportável (Transportable) e então restaure-o em outro SO qualquer

Conectividade

O Firebird suporta um grande número de métodos de conectividade, incluindo: Pacotes de componentes nativos para C/C++ e Delphi, ODBC, JDBC (JayBird), Driver PHP, driver OLEDB, dbExpress, .Net data provider e finalmente através de chamadas diretas à API usando a biblioteca fbclient.dll/.so.

Limites Físicos

O Firebird permite bases de dados realmente enormes. Bases de Dados podem se estender a múltiplos arquivos,  o tamanho de cada arquivo depende do SO. O limite teórico é atualmente 64TB para um único arquivo da base de dados, então o limite prático é normalmente o sistema de arquivos / operacional ou o espaço disponível no HD.

    Versões do Servidor

    Há três versões diferentes do Firebird, todas permutáveis e cada uma com seus pontos fortes:
    • Classic Server (Uma instância por conexão cliente; suporte a SMP/HT)

    • SuperServer (Todas as conexões são manipuladas por um único módulo; atualmente não suporta SMP/HT)

    • Embedded Version ou Versão Embutida, Embarcada (o sistema inteiro é uma única DLL/SO (!) para uso por um único usuário e uma única base de dados). Todas as versões usam o mesmo formato de arquivo, então você pode alternar entre elas a qualquer momento que desejar.

    Licença

    O Firebird é licenciado sob a IPL (InterBase Public License), a qual tem os mesmo termos da Mozilla Public License 1.1. O Firebird é completamente gratuito para usar e distribuir a seus clientes. Você não precisa entregar o código fonte do seu sistema, indepente do seu modelo de licenciamento. Se você modificar o núcleo do Firebird, entretanto, você deve liberar o acesso público ao código fonte de suas modificações.

    Ferramentas

    Uma gama enorme de ferramentas está disponível para o Firebird, algumas Free, outras comerciais. Há ferramentas para administradores, ferramentas para desenvolvedores, Bibliotecas UDF, ferramentas de conectividade e muito mais (Veja links mais abaixo).

    Suporte e Recursos

    Em www.firebirdsql.org, o lar do Firebird, há muitos links úteis sobre o projeto.

    A empresa IBPhoenix oferece vários contratos para suporte profissional por pessoas com um longo período de experiência. Em seu website, há também uma variedade de informações técnicas, tutoriais e documentações bem detalhadas disponíveis.

    Comunidade

    Há uma comunidade sempre crescente de usuários do Firebird e vários (grupos de discussão) newsgroups para fornecer suporte on-line instantâneo. Na homepage do projeto há uma lista de todos os newsgroups sobre Firebird (veja adiante).

    História

    O Firebird é baseado no código fonte do InterBase 6.0 que foi liberado como Open Source pela Borland em Agosto de 2000. A história do Interbase remonta aos idos de 1984, portanto, são cerca de 20 anos de experiencia com base de dados relacional no produto.


    Links Firebird

    Download: Clique aqui para encontrar um pacote de instalação do Firebird e fazer o DOWNLOAD.

    Documentação: Links para  documentação detalhada.

    Licença: A IPL completa.

    Ferramentas e programas de administração: Veja os links na the community contributions pages

    Comunidade: Uma coleção de newsgroups e forums de emails.


    Uma força motriz por trás do projeto Firebird é a fundação FirebirdSQL. É um grupo aberto de indivíduos e empresas que patrocinam o desenvolvimento do Firebird por meio de coleta de fundos e garantias para que os desenvolvedores ajudem a evoluir e continuar o projeto.
    A Fundação aceita com entusiasmo novos membros, sejam corporativos ou privados, assim como patrocinadores para os fundos do projeto. Ingresse na fundação em http://www.firebirdsql.org/index.php?op=ffoundation
    Este documento foi traduzido para português por Hugo Bereta, e revisto por Eugênio Reis.

    Um trabalho da CFLP - Comunidade Firebird de Língua Portuguesa.

    Saiba mais em http://www.comunidade-firebird.org


    © 2003 by The Firebird Project. All names of products and companies mentioned herein are trademarks of their respective owners.