Firebird 2.5
Enviado por Lucas Fernando Amorim (lf·amorimΘyahoo·com·br):
“Para quem não conhece, Firebird é um famoso SGDB open source multi-plataforma. Originário do antigo e descontinuado Interbase da Borland. Certamente um excelente banco de dados, possui todas as features necessárias para ambientes corporativos de alta disponibilidade.
Surpreende no Firebird também a capacidade de armazenamento de grandes volumes de informação, exigindo pouca ou qualquer configuração especial. O Firebird une as características de um SGDB simples com a de um corporativo.
Por isto convido você a conhecer mais sobre o lançamento da versão 2.5, o que é um marco na história deste software. Obtenha mais informações e ajude a divulgar acessando: http://mindthebird.com.” [referência: lfamorim.com]
• Publicado por Augusto Campos em
2010-02-26
Saudações Lucas, complementando um pouco mais a notícia:
“Originário do antigo e descontinuado Interbase da Borland”
O Interbase continua sendo desenvolvido, mas não mais pela Borland/Inprise/Borland/CodeGear e sim pela Embarcadero (que comprou a CodeGear). A Borland liberou o código fonte do Interbase na versão 6.0 e depois voltou a fechar o código (felizmente já havia um sido criado um fork).
“…exigindo pouca ou qualquer configuração especial…”
O correto seria:
“…exigindo pouca ou nenhuma configuração especial…”
A versão 2.5 incorpora muitos recursos, sendo um dos principais destaques o novo tipo de servidor (SuperClassic). Para saber mais sobre as distintas versões e quando usar cada uma, consulte o link:
http://www.sinatica.com/blog/br/index.php/artigos/firebird-superserver-classicserver-ou-superclassic
Observação: Um erro bastante comum na implantação de um servidor com o Firebird é usarem hardware inadequado (marca chingling e ainda obsoleto), só porque este servidor de banco de dados tem requisitos modestos. O correto é dimensionar o hardware conforme o requisito da missão (número de usuários, tráfego de dados, etc.), colocar um sistema operacional seguro e próprio para banco de dados, no-break, sistema de backup com cópias guardadas fora da empresa (para o caso de sinistros), firewall, servidor dedicado e a salvo de dedos que adoram pressionar o botão reset, políticas de segurança (treinamentos), etc. Quanto maior for o custo de downtime do servidor, maior deverá ser o investimento na estrutura para evitar falhas e maior ainda deverá ser os recursos disponíveis para restabelecer o sistema no caso de sinistros/falha.
Excelente banco. Usamos em todos os projetos da empresa. Conheço MySql e demais, e todos têm seu valor, mas Firebird na minha opinião bate disparado.
Postgre é muito legal, mas parece que herda do Oracle a dificuldade de instalação e manutenção. Instalem e usem Firebird uma vez pra entenderem o que estou dizendo.
Costumo dizer que é como geladeira: espetou na tomada, funciona. Instalou, funciona e não para mais. Quase nenhuma administração.
Triggers, procedures, views, eventos, devired tables, common table expressions, campos calculados (isso facilita muuuito), domain types, sequences, etc, etc.
Multi-plataforma: windows, linux, mac, free-bsd, unix, etc.
Nossos sistemas dependem integralmente do Firebird e estamos muito contentes com ele. A versão 2.5 vai trazer muitas novidades, e a 3.0, que está no forno, mais ainda.
Mais um detalhe: livre de verdade. Sem essa de licença dupla. Futuro garantido. Comunidade atuante.
O site do projeto é horrível (na minha opinião), mas mesmo assim contém material para quem deseja iniciar com o banco. http://www.firebirdsql.org
Recomendo também a versão Personal do IBExpert, para administração e desenvolvimento.
Já colocamos notícia no nosso site apontando para o MindTheBird. Eles têm apresentações legais lá.
Grande abraço a todos.
Muito obrigado Builder pelo seu comentário, no meu blog já efetuei algumas modificações.
“…felizmente já havia um sido criado um fork…”
O correto seria:
“…felizmente já havia sido criado um fork…”
Quanto a sua observação, estou totalmente de acordo. Todo ambiente deve ser corretamente dimensionado para evitar qualquer dor de cabeça. No texto, caso houve alguma confusão, quis deixar claro que é um banco que escala facilmente quando há disponibilidade de recursos.
Comecei com o interbase, já que na época programava usando o Delphi e migrei naturalmente para o firebird. Realmente é um BD sem complicação e que comporta uma base relativamente grande de dados. Quando comecei a trabalhar com Java, conheci o MySQL, era a novidade, mas rejeitei na hora quando vi aquela licença dual, além dele não ter ainda a metade das coisas que o firebird tinha.
Acho que irei testar o Firebird, em breve.
Não foi citado , mas creio que ele também permite ser embarcado em aplicativos, como o sqlite.
É muito bom, mas a documentação é ruim, incompleta e mal escrita. Quem quiser desenvolver pesado nele deve ter uma boa fonte de consulta. Ainda não vi como tá hoje…
Os pontos positivos já foram citados. Outra coisa boa é que pra inserções concorrentes ele é o que tem maior performance, tanto que a Oracle já contribuiu com ele nesse ponto.
De negativo, ele não trabalha com arquivo de log, mas sim com multi-versionamento. Se por um lado isso ajuda em muitas situações de concorrência, por outro é mais fácil corromper e o banco incha muito mais rápido que os demais, forçando a ficar dando backup/restore direto.
E até a versão 2.0 que testei, ele tinha muito poucas opções de administração, como por exemplo desconectar um usuário do banco ou detectar qual query que estivesse sendo executada no momento, junto com seu consumo de CPU. Multi-particionamento era muito limitado e SMP era quase nulo.
Acho que por isso ele tem fama de fácil: quase não é possível configurar.
Marcos, o MVCC é usado também em vários outros bancos de dados: PostgreSQL, MySQL+InnoDB, Oracle, SQL Server (a partir do 2005).
Hummm, mas a versão 2.5 ainda não foi lançada, continua no RC.
Só presta usar o firebird para quem vai usar Delphi, para todos os outros existem opções bem melhores e mais viáveis.
Principalmente para Java que o que não falta é banco de dados.
Hell, o que você está dizendo não é verdade. Tenho vários projetos usando Python e PHP com Firebird, na época a opção foi feita a partir de seus requisitos e performance. Hoje não tenho dores de cabeça.
Realemente muito bom. Pode ser usado em qualquer sistema de padaria, mais que isso vá para um banco robusto. Sei do que estou falando. Sabem do Dimitry? Principal desenvolvedor do Firebird? Não sabiao que era view materializada, quando eu perguntei a ele pessoalmente em uma conferência. Agora vamos falar de replicar… se você quer isso então não é firebird, ou vc vai acreditar na lorota de várias triggers fazendo isso? O correto é recurso nativo sem uso de triggers.
Firebird muito bom para pequenas coisas e para aprender. Se quer ser grande, pensem grande. Os bancos grandes não existem por acaso e acredite, ninguém joga dinheiro fora. Trabalho em um Banco. Tem louco que já falou que daria pra colocar firebird onde trabalho. Acho que a pessoa não gostava de mim, deveria estar querendo a minha demissão. hehe.
Para quem quiser conhecer o Firebird em 2 minutos, ferramentas de replicação, etc. consulte:
http://www.firebirdnews.org/docs/fb2min.html
Empresas que utilizam o Firebird no Brasil:
http://www.firebase.com.br/fb/empresas.php
Outras Empresas:
NASA, Motorola, Nokia, MCI, Northen Telecom, Philadelphia Stock Exchange, Bear Stearns, First National Bank of Chicago, Money Store, US Army, NASA, Boeing, IBM (Brasil).
http://www.comunidade-firebird.org/cflp/downloads/CFLP_O019.PDF
Exemplos de escalabilidade:
http://www.firebase.com.br/fb/artigo.php?id=2100
Há documentação disponível no site do Firebird (http://www.firebirdsql.org/index.php?op=doc)
Comprei estes livros e recomendo todos. O Livro da Helen Borrie é o mais abrangente (além de alertar para alguns tipos de cuidados) e os demais são os caminhos das pedras (vão direto as questões práticas do dia a dia).
- Dominando Firebird – HELEN BORRIE
- Programaçao Cliente/servidor com Firebird – CARLOS A. PEDROSO
- Firebird 2.0 – CARLOS H. CANTU
- Firebird Essencial – CARLOS H. CANTU
- Firebird – Dicas de Segurança – LUIZ PAULO SANTOS
Abraços,
Anderson:.
@Lucas Fernando Amorim
Firebird com PHP é novidade, Python até pode ser, agora posso dizer que já vi de tudo.
Então é bem provável que seja usando Windows, pois usar o Firebird com alguma distribuição não era algo simpático de ser trabalhado (apanhei muito nisso, a não ser que tenha sido recente).
Tudo bem que Python já fizeram integrações com tantos bancos de dados que nenhum poderia sobrepor o outro, mas PHP, cara imagino como deve ter conseguido essa façanha, se fosse mysql ou mesmo postgres até entenderia, mas Firebird?
Olá Hell, eu utilizo a solução Firebird+Linux deste os tempos do Conectiva, alias, o meu primeiro teste inserindo um pouco mais de 52 milhões de registros para avaliar o Firebird, foi usando o finado Kylix+Conectiva (ou seja, já foi a muitos anos).
Nunca foi um “problema” instalar o Firebird, desde que você escolhe-se o arquivo correto (rpm, tar.gz, …) – Usar um conversor de pacotes tipo o alien nem sempre funciona e neste caso, se não há pacote nativo, tem que usar o .tar.gz (pode ser um pouco mais chato para configurar a carga e/ou checar eventuais dependências com o utilitário ldd).
Agora ficou ainda mais fácil instalar para quem utiliza Ubuntu/Debian, pois o Firebird e o Flamerobin já fazem parte dos repositórios, embora eu prefira instalar manualmente (sempre optei pela versão do site).