Firebird (servidor de banco de dados) - Firebird (database server)

Firebird
Firebird logo.svg
Turbobird screenshot.png
Autor (es) original (is) Borland
Desenvolvedor (s) Fundação Firebird
lançamento inicial 2000 ( 2000 )
Versão estável
4.0  Edite isso no Wikidata / 1 de junho de 2021 ; 60 dias atrás ( 1 de junho de 2021 )
Versão de visualização
4.0 Beta 2/14  Edite isso no Wikidata de maio de 2020 ; 14 meses atrás ( 14 de maio de 2020 )
Repositório Edite isso no Wikidata
Escrito em C ++
Sistema operacional Plataforma cruzada
Modelo RDBMS
Licença IPL , IDPL
Local na rede Internet www .firebirdsql .org Edite isso no Wikidata

Firebird é um sistema de gerenciamento de banco de dados relacional SQL de código aberto que "roda em Linux , Microsoft Windows , macOS e várias plataformas Unix ". O banco de dados derivou da edição de código aberto da Borland do InterBase em 2000, mas o código foi amplamente reescrito desde o Firebird 1.5.

História

Uma semana após o código fonte do InterBase 6.0 ser lançado pela Borland em 25 de julho de 2000, o projeto Firebird foi criado no SourceForge . O Firebird 1.0 foi lançado para Linux, Microsoft Windows e Mac OS X em 11 de março de 2002, com portas para Solaris , FreeBSD 4 , HP-UX nos próximos dois meses.

O trabalho de portar a base de código de C para C ++ começou em 2000. Em 23 de fevereiro de 2004, o Firebird 1.5 foi lançado, o primeiro lançamento estável da nova base de código. A versão 1.5 apresenta um otimizador de consulta aprimorado , expressões condicionais SQL-92 , pontos de salvamento SQL: 1999 e suporte para bloqueio explícito . O Firebird 2.0 foi lançado em 12 de novembro de 2006, adicionando suporte para arquiteturas de 64 bits , tabelas aninhadas em cláusulas FROM e tempos limite de bloqueio programáveis em transações de bloqueio .

A versão estável anterior era a versão 2.1.6, que adicionou novos recursos, incluindo gatilhos procedurais , consultas recursivas e suporte para instruções SQL: 2003 MERGE .

O Firebird 2.5 introduziu novos recursos como multithreading aprimorado , sintaxe de expressão regular e a capacidade de consultar bancos de dados remotos.

A versão estável mais recente é o Firebird 3.0, lançado em 19 de abril de 2016, com foco em performance e segurança. Uma grande re-arquitetura do código permitiu suporte total às máquinas SMP ao usar a versão SuperServer.

Por meio do Google Summer of Code 2013, o trabalho começou na integração do Firebird como um substituto para o HSQLDB no LibreOffice .

Conflito de nome do Mozilla Firefox

Em abril de 2003, a Mozilla Organization anunciou a renomeação de seu navegador de Phoenix para Firebird após uma disputa de marca com a Phoenix Technologies .

Esta decisão causou preocupação dentro do projeto de banco de dados Firebird devido à suposição de que usuários e motores de busca da Internet seriam confundidos por um banco de dados e um navegador da web, ambos usando o nome Firebird. Os desenvolvedores do Mozilla emitiram um comunicado, deixando claro que seu pacote de software se chama "Mozilla Firebird", e não "Firebird". O comunicado também disse que o nome Mozilla Firebird era um codinome do projeto .

A disputa foi resolvida em 9 de fevereiro de 2004, quando a Mozilla mudou o nome de seu navegador para Mozilla Firefox , encerrando assim o conflito.

Principais características

  • Suporte total para procedimentos armazenados e gatilhos
  • Completa ACID transações compatíveis
  • Integridade referencial
  • Arquitetura multigeracional (às vezes chamada de MVCC)
  • Suporte para funções externas ( UDFs )
  • A atividade SQL pode enviar eventos de notificação assíncronos aos clientes
  • Ferramentas de terceiros, incluindo ferramentas administrativas GUI e ferramentas de replicação
  • Gravações cuidadosas - recuperação rápida, sem necessidade de registros de transações
  • Muitos métodos de acesso: nativo / API, drivers dbExpress / FireDAC, ODBC, OLE DB, provedor .NET, driver JDBC nativo tipo 4, módulo Python, PHP, Perl
  • Backups incrementais
  • Implementação completa do cursor em PSQL

Tecnologia de armazenamento e índice

A Arquitetura Multi-Geracional (MGA)

O Firebird herdou a arquitetura de armazenamento do Interbase. Para garantir as propriedades ACID das transações, o mecanismo de banco de dados mantém diferentes versões de cada registro alterado pelos usuários ativos no banco de dados. Quando as transações são confirmadas, a última versão de cada registro alterado é marcada como definitiva. Se as transações forem revertidas, o mecanismo de banco de dados mantém a marca nas versões de registro originais, deixando-as intocadas. Como resultado, as gravações em disco do Firebird são muito reduzidas em comparação com bancos de dados que usam a arquitetura de log de transações tradicional. Gravar transações não impede a leitura e vice-versa, pois cada um vê sua própria versão do banco de dados. A desvantagem é que alguma manutenção ("varredura") é necessária de tempos em tempos para limpar versões antigas de registros e liberar espaço em disco.

A arquitetura multigeracional garante que as operações OLTP e DSS / OLAP possam ser executadas simultaneamente sem os atrasos causados ​​por mecanismos de bloqueio encontrados em outros produtos.

Índices

O Firebird faz com que todos os índices do banco de dados se comportem como "índices agrupados" bem ajustados usados ​​por outras arquiteturas. Os baldes de índice do Firebird não estão sujeitos ao bloqueio de duas fases, e as operações booleanas "e" e "ou" podem ser executadas em bitmaps intermediários a um custo insignificante, eliminando a necessidade do otimizador de escolher entre índices alternativos.

Variantes

  • Firebird SuperServer tem um único daemon / servidor para todas as conexões de clientes, multithread com cache compartilhado
  • O Firebird SuperClassic também possui um único daemon / servidor para todas as conexões do cliente, multithread com caches separados
  • O Firebird Classic usa o inetd para executar uma cópia do servidor por conexão do cliente, recomendado para sistemas SMP, mas pode ter problemas de notificação de evento se o acesso for através de um firewall
  • Firebird Embedded para a criação de catálogos de CD-ROM, usuário único ou versões de avaliação de aplicativos

Licenciamento

O mecanismo de banco de dados Firebird e seus módulos são lançados sob uma licença de código aberto , a Licença Pública do Desenvolvedor Inicial (IDPL), uma variante da Licença Pública Mozilla (MPL) versão 1.1. Não exige que o desenvolvedor abra os produtos usando Firebird ou mesmo derivados personalizados feitos de seu código-fonte, mas se o desenvolvedor decidir fazer isso, alguns termos e condições devem ser respeitados. O IDPL permite ao desenvolvedor fazer aplicações proprietárias de código fechado que usam Firebird ou são baseadas nele.

APIs de conectividade

Firebird Native API de baixo nível, API de serviços e SQL incorporado

A API nativa do Firebird é usada direta ou indiretamente por aplicativos ou middleware que se conectam a um banco de dados Firebird. Ele é implementado na biblioteca cliente, fbclient.dll, em sistemas Windows e em libfbclient.so em sistemas Unix.

A API de serviços é uma função especial definida para acessar e controlar tarefas de administração de serviço, como gerenciamento de usuário, backup / restauração e coleta de estatísticas.

SQL embutido é uma técnica que simplifica o desenvolvimento de aplicativos C / C ++ e COBOL Firebird, por meio de um pré - processador chamado gpre, que permite embutir instruções SQL diretamente no código-fonte da linguagem hospedeira.

Prêmios

  • 2007. Prêmio SourceForge Community Choice: Melhor projeto para empresa, Melhor suporte ao usuário.
  • 2009. Prêmio SourceForge Community Choice: Melhor projeto para empresa. Finalista em Melhor Projeto e Melhor Projeto para Governo.

Veja também

Referências

links externos