You are on page 1of 22

Um pouco de História

Critérios Abordados
Interface com linguagens
Stored Procedures
Triggers
Suporte XML
Cursores
Velocidade de Recuperação
Domains
Transações
Bloqueios
Ferramentas
Portabilidade
Conclusão

Comparação entre os bancos de dados Mysql 5.0 e


Firebird 2.0

Joao Cosme Júnior


José Wilson Júnior
Rafael Neves

Instituto Fátima

5 de julho de 2007
Joao Cosme Júnior, José Wilson Júnior , Rafael Neves Comparação entre os bancos de dados Mysql 5.0 e Firebird 2.0
Um pouco de História
Critérios Abordados
Interface com linguagens
Stored Procedures
Triggers
Suporte XML
Cursores
Velocidade de Recuperação
Domains
Transações
Bloqueios
Ferramentas
Portabilidade
Conclusão

Sumário
1 Um pouco de História
2 Critérios Abordados
3 Interface com linguagens
4 Stored Procedures
5 Triggers
6 Suporte XML
7 Cursores
8 Velocidade de Recuperação
9 Domains
10 Transações
11 Bloqueios
Joao Cosme Júnior, José Wilson Júnior , Rafael Neves Comparação entre os bancos de dados Mysql 5.0 e Firebird 2.0
Um pouco de História
Critérios Abordados
Interface com linguagens
Stored Procedures
Triggers
Suporte XML
Cursores
Velocidade de Recuperação
Domains
Transações
Bloqueios
Ferramentas
Portabilidade
Conclusão

Um pouco de História

Conhecer a história do banco de dados ajuda a entender um pouco


sobre suas principais caracterı́sticas,objetivos e o foco da solução.
Firebird é derivado da versão 6 do Interbase, um banco comercial
da Borland que surgiu em 1992.
O desenvolvimento do mysql iniciou-se em 1995 com a primeira
versão em 1996. Foi concebido incialmente como produto
proprietário, logo em seguida apenas com restrições na licensa
comercial, mas com o tempo adotou a GPL.
Joao Cosme Júnior, José Wilson Júnior , Rafael Neves Comparação entre os bancos de dados Mysql 5.0 e Firebird 2.0
Um pouco de História
Critérios Abordados
Interface com linguagens
Stored Procedures
Triggers
Suporte XML
Cursores
Velocidade de Recuperação
Domains
Transações
Bloqueios
Ferramentas
Portabilidade
Conclusão

A sua popularidade foi alcançada quando começou a ser distribuido


juntamente com as distribuições linux mais populares. O firebird é
conhecido por suas qualidades notáveis,com caracterı́sticas de um
SGBD estável,seguro e notável. O mysql se notabilizou pela sua
velocidade e especialização em ambiente WEB. Portanto
dependendo das suas necessidades cabe escolher um ou outro.

Joao Cosme Júnior, José Wilson Júnior , Rafael Neves Comparação entre os bancos de dados Mysql 5.0 e Firebird 2.0
Um pouco de História
Critérios Abordados
Interface com linguagens
Stored Procedures
Triggers
Suporte XML
Cursores
Velocidade de Recuperação
Domains
Transações
Bloqueios
Ferramentas
Portabilidade
Conclusão

Critérios Abordados
Vamos eleger as caracterı́sticas mais importantes que devem ser
observardas, considerando as necessidades do dia-dia.
Interfaces com linguagens
Stored Procedures
Armazenamento
Triggers
Cursores
XML
Domains
Transaç~ oes
Velocidade
Joao Cosme Júnior, Joséde recuperaç~
Wilson ao do Comparação
Júnior , Rafael Neves banco entre os bancos de dados Mysql 5.0 e Firebird 2.0
Um pouco de História
Critérios Abordados
Interface com linguagens
Stored Procedures
Triggers
Suporte XML
Cursores
Velocidade de Recuperação
Domains
Transações
Bloqueios
Ferramentas
Portabilidade
Conclusão

Ferramentas disponı́veis
Portabilidade dos bancos

Joao Cosme Júnior, José Wilson Júnior , Rafael Neves Comparação entre os bancos de dados Mysql 5.0 e Firebird 2.0
Um pouco de História
Critérios Abordados
Interface com linguagens
Stored Procedures
Triggers
Suporte XML
Cursores
Velocidade de Recuperação
Domains
Transações
Bloqueios
Ferramentas
Portabilidade
Conclusão

Interface com linguagens

Nesse aspecto fica muito evidenciado a tendencia do Mysql no


suporte a web e do Firebird à aplicações Desktop.O firebird é
contemplado nativamente em diversas linguagens,particularmente a
Borland, embora através do ODBC possa-se ligá-lo virtualmente a
qualquer coisa.
Mysql tem uma simpatia maior pelas linguagens da comunidade
open-source como Perl,Python e PHP.

Joao Cosme Júnior, José Wilson Júnior , Rafael Neves Comparação entre os bancos de dados Mysql 5.0 e Firebird 2.0
Um pouco de História
Critérios Abordados
Interface com linguagens
Stored Procedures
Triggers
Suporte XML
Cursores
Velocidade de Recuperação
Domains
Transações
Bloqueios
Ferramentas
Portabilidade
Conclusão

Stored Procedures

Procedimento armazenado no banco de dados, são funções ou


procedimentos em programação.
Motivos para se utilizar:
Possuem maior eficiencia já que evitam o tráfego na
rede.
São portáveis, pois rodam em todas as plataformas
que o o banco pode ser instalado.

Joao Cosme Júnior, José Wilson Júnior , Rafael Neves Comparação entre os bancos de dados Mysql 5.0 e Firebird 2.0
Um pouco de História
Critérios Abordados
Interface com linguagens
Stored Procedures
Triggers
Suporte XML
Cursores
Velocidade de Recuperação
Domains
Transações
Bloqueios
Ferramentas
Portabilidade
Conclusão

Stored Procedure
SGBD Status Comentário
Mysql OK! Somente para tabelas InnoDB

Firebird OK!

Joao Cosme Júnior, José Wilson Júnior , Rafael Neves Comparação entre os bancos de dados Mysql 5.0 e Firebird 2.0
Um pouco de História
Critérios Abordados
Interface com linguagens
Stored Procedures
Triggers
Suporte XML
Cursores
Velocidade de Recuperação
Domains
Transações
Bloqueios
Ferramentas
Portabilidade
Conclusão

Triggers
Um gatilho é uma ação que o banco de dados deve tomar quando
uma certa ação for executada.
Gatilhos são muito utilizados em banco de dados.

Triggers
SGBD Status Comentário
Mysql OK! Somente para tabelas InnoDB

Firebird OK!

Joao Cosme Júnior, José Wilson Júnior , Rafael Neves Comparação entre os bancos de dados Mysql 5.0 e Firebird 2.0
Um pouco de História
Critérios Abordados
Interface com linguagens
Stored Procedures
Triggers
Suporte XML
Cursores
Velocidade de Recuperação
Domains
Transações
Bloqueios
Ferramentas
Portabilidade
Conclusão

Suporte a XML

Existe a necessidade crescente de se trabalhar com xml, já que é


uma linguagem usada amplamente para troca de dados.

Suporte a XML
SGBD Status Comentário
Mysql NOT!
Firebird NOT!

Joao Cosme Júnior, José Wilson Júnior , Rafael Neves Comparação entre os bancos de dados Mysql 5.0 e Firebird 2.0
Um pouco de História
Critérios Abordados
Interface com linguagens
Stored Procedures
Triggers
Suporte XML
Cursores
Velocidade de Recuperação
Domains
Transações
Bloqueios
Ferramentas
Portabilidade
Conclusão

Cursores
Em vez de executar um consulta inteira de uma só vez, é possivel
utilizar um cursor que encapsula uma consulta e permite então ler
o resultados linha(s)? por linha(s)? e processá-las.

Suporte a Cursores
SGBD Status Comentário
Mysql OK!
Firebird OK!

Joao Cosme Júnior, José Wilson Júnior , Rafael Neves Comparação entre os bancos de dados Mysql 5.0 e Firebird 2.0
Um pouco de História
Critérios Abordados
Interface com linguagens
Stored Procedures
Triggers
Suporte XML
Cursores
Velocidade de Recuperação
Domains
Transações
Bloqueios
Ferramentas
Portabilidade
Conclusão

Velocidade de Recuperação
A velocidade de recuperação é o tempo gasto entre a falha do
banco e a volta do estado normal de operação. Uma funcionalidade
essencial é o Point-in-Time.Nela o administrador tem a capacidade
de apontar no tempo o instante para restaurar o banco.
Vale salientar que o backup clássico e suportado por
todos os bancos.
Point-in-Time
SGBD Status Comentário
Mysql OK! O Login-in binário deve estar habilitado

Firebird NOT!
Joao Cosme Júnior, José Wilson Júnior , Rafael Neves Comparação entre os bancos de dados Mysql 5.0 e Firebird 2.0
Um pouco de História
Critérios Abordados
Interface com linguagens
Stored Procedures
Triggers
Suporte XML
Cursores
Velocidade de Recuperação
Domains
Transações
Bloqueios
Ferramentas
Portabilidade
Conclusão

Joao Cosme Júnior, José Wilson Júnior , Rafael Neves Comparação entre os bancos de dados Mysql 5.0 e Firebird 2.0
Um pouco de História
Critérios Abordados
Interface com linguagens
Stored Procedures
Triggers
Suporte XML
Cursores
Velocidade de Recuperação
Domains
Transações
Bloqueios
Ferramentas
Portabilidade
Conclusão

Domains

Um Domain (domı́nio) é basicamente um tipo de dado com


opcionais contraints.

Suporte a Domains
SGBD Status Comentário
Mysql OK!
Firebird OK!

Joao Cosme Júnior, José Wilson Júnior , Rafael Neves Comparação entre os bancos de dados Mysql 5.0 e Firebird 2.0
Um pouco de História
Critérios Abordados
Interface com linguagens
Stored Procedures
Triggers
Suporte XML
Cursores
Velocidade de Recuperação
Domains
Transações
Bloqueios
Ferramentas
Portabilidade
Conclusão

Transações

Transação é um conceito fundamental em banco de dados e


indispensável para manutenção de integridade dos dados.

Suporte a Transações
SGBD Status Comentário
Mysql OK! Incluindo Save-Points

Firebird OK! Incluindo Save-Points

Joao Cosme Júnior, José Wilson Júnior , Rafael Neves Comparação entre os bancos de dados Mysql 5.0 e Firebird 2.0
Um pouco de História
Critérios Abordados
Interface com linguagens
Stored Procedures
Triggers
Suporte XML
Cursores
Velocidade de Recuperação
Domains
Transações
Bloqueios
Ferramentas
Portabilidade
Conclusão

Bloqueios

Todos os bancos devem ter algum tipo de bloqueio, pois os Bancos


foram feitos para serem utilizados concorrentemente.
Um bloqueio(lock) em banco de dados impedem que duas
transações simultâneas acessem o mesmo recurso ou dado ao
mesmo tempo.
Dependendo do banco de dados esse bloqueio se da a nivel de
linha ou a nivel de tabela.
Ele ainda pode ser de 2 tipos: leitura ou escrita.

Joao Cosme Júnior, José Wilson Júnior , Rafael Neves Comparação entre os bancos de dados Mysql 5.0 e Firebird 2.0
Um pouco de História
Critérios Abordados
Interface com linguagens
Stored Procedures
Triggers
Suporte XML
Cursores
Velocidade de Recuperação
Domains
Transações
Bloqueios
Ferramentas
Portabilidade
Conclusão

Suporte a Bloqueios
SGBD Status Comentário
Mysql OK! Bloqueios diferentes para MyIsam e InnoDB

Firebird OK! Utiliza o Optimistic Lock

Joao Cosme Júnior, José Wilson Júnior , Rafael Neves Comparação entre os bancos de dados Mysql 5.0 e Firebird 2.0
Um pouco de História
Critérios Abordados
Interface com linguagens
Stored Procedures
Triggers
Suporte XML
Cursores
Velocidade de Recuperação
Domains
Transações
Bloqueios
Ferramentas
Portabilidade
Conclusão

Ferramentas
Bancos de dados possuem uma ampla coleção de ferramentas de
suporte que vão desde modelagem até administração.
Existem muitas empresas e projetos na comunidade open-source
que se dedicam exclusivamente a estes tipos de ferramentas.
Veremos a seguir algumas ferramentas:

Ferramentas Firebird
ibwebadmin Ferramenta para administração via Web

Ibutils Permite modelagem de base de dados, ainda em versão beta

Mitec PErformance Monitor Possibilita monitoração dos recursos utilizados pelo banco
Joao Cosme Júnior, José Wilson Júnior , Rafael Neves Comparação entre os bancos de dados Mysql 5.0 e Firebird 2.0
Um pouco de História
Critérios Abordados
Interface com linguagens
Stored Procedures
Triggers
Suporte XML
Cursores
Velocidade de Recuperação
Domains
Transações
Bloqueios
Ferramentas
Portabilidade
Conclusão

Mysql
Mysql Migration Tool kit Permite a migração de diversos bancos.

Mysql WorkBench: Ferramenta de modelagem recentemente adquirida pela Mysql.

Mysql Administrator Ferramenta para Adminstração

Mysql Query Browser: Criar e executar consultas em SQL

phpMyAdmin Ferramenta para administração via Web

Joao Cosme Júnior, José Wilson Júnior , Rafael Neves Comparação entre os bancos de dados Mysql 5.0 e Firebird 2.0
Um pouco de História
Critérios Abordados
Interface com linguagens
Stored Procedures
Triggers
Suporte XML
Cursores
Velocidade de Recuperação
Domains
Transações
Bloqueios
Ferramentas
Portabilidade
Conclusão

Portabilidade

Portabilidade
Firebird Linux,HP-ux,Mac Os, Solaris,Windows

Mysql linux,netWare,Unix(BSD,Mac OS,Solarise outros) Windows

Joao Cosme Júnior, José Wilson Júnior , Rafael Neves Comparação entre os bancos de dados Mysql 5.0 e Firebird 2.0
Um pouco de História
Critérios Abordados
Interface com linguagens
Stored Procedures
Triggers
Suporte XML
Cursores
Velocidade de Recuperação
Domains
Transações
Bloqueios
Ferramentas
Portabilidade
Conclusão

Conclusão

É muito importante conhecer as caracterı́sticas de cada banco


isoladamente!
Cada necessidade, uma solução especı́fica!
Um dos itens muito importante na escolha são as ferramentas!
O Postgresql é que nem o Bradesco mais de 120 motivos pra
você escolher :).

Joao Cosme Júnior, José Wilson Júnior , Rafael Neves Comparação entre os bancos de dados Mysql 5.0 e Firebird 2.0

You might also like