Firebird (servidor de banco de dados) - Firebird (database server)
Autor (es) original (is) | Borland |
---|---|
Desenvolvedor (s) | Fundação Firebird |
lançamento inicial | 2000 |
Versão estável | |
Versão de visualização | |
Repositório | |
Escrito em | C ++ |
Sistema operacional | Plataforma cruzada |
Modelo | RDBMS |
Licença | IPL , IDPL |
Local na rede Internet |
www |
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
- Comparação de sistemas de gerenciamento de banco de dados relacional
- Lista de sistemas de gerenciamento de banco de dados relacional
- Controle de simultaneidade multiversão
- Conformidade SQL
Referências
links externos
- Website oficial
- Firebird - Portal do desenvolvedor
- Comparações do Firebird , gráficos.
- Documentação do Firebird por IBProvider
- FirebirdFAQ
- FirebirdNews - Notícias sobre Firebird e projetos relacionados
- Guia de migração para Firebird 3 - eBook
- Driver Firebird Ole Db (alternativa para ODBC)
- JayBird - driver JDBC para Firebird