banco de dados - oracle e firebird.doc

31
SUMÁRIO 1 INTRODUÇÃO................................................. 1 2 BANCO DE DADOS COMERCIAL – ORACLE..........................2 2.1 ARQUITETURA.............................................2 2.2 PLATAFORMA..............................................2 2.3 CARACTERÍSTICAS.........................................3 2.4 FERRAMENTAS.............................................3 2.4.1 Oracle Active Data Guard............................3 2.4.2 Oracle Advanced Compression........................4 2.4.3 Oracle Partitioning................................5 2.4.4 Oracle Database Security...........................6 2.4.5 Oracle Enterprise Manager..........................6 2.4.6 Oracle Real Application Testing.....................6 2.4.7 As ferramentas disponíveis para o Oracle Express Edition................................................... 7 2.5 FACILIDADES.............................................9 2.6 LIMITAÇÕES..............................................9 3 BANCO DE DADOS OPENSOURCE – FIREBIRD......................10 3.1 LINGUAGEM PSQL.........................................13 3.2 APPLICATION PROGRAMMING INTERFACE......................13 3.3 O FUTURO DO FIREBIRD...................................14 3.4 ARQUITETURA............................................14 3.5 PLATAFORMA.............................................15 3.6 FERRAMENTAS............................................16 3.7 FACILIDADES............................................17

Upload: arnaldotiopet

Post on 23-Jul-2015

181 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Banco de Dados - Oracle e Firebird.doc

SUMÁRIO

1 INTRODUÇÃO..........................................................................................................1

2 BANCO DE DADOS COMERCIAL – ORACLE.......................................................2

2.1 ARQUITETURA..................................................................................................2

2.2 PLATAFORMA...................................................................................................2

2.3 CARACTERÍSTICAS..........................................................................................3

2.4 FERRAMENTAS................................................................................................3

2.4.1 Oracle Active Data Guard............................................................................3

2.4.2 Oracle Advanced Compression...................................................................4

2.4.3 Oracle Partitioning.......................................................................................5

2.4.4 Oracle Database Security...........................................................................6

2.4.5 Oracle Enterprise Manager.........................................................................6

2.4.6 Oracle Real Application Testing...................................................................6

2.4.7 As ferramentas disponíveis para o Oracle Express Edition........................7

2.5 FACILIDADES....................................................................................................9

2.6 LIMITAÇÕES......................................................................................................9

3 BANCO DE DADOS OPENSOURCE – FIREBIRD...............................................10

3.1 LINGUAGEM PSQL.........................................................................................13

3.2 APPLICATION PROGRAMMING INTERFACE................................................13

3.3 O FUTURO DO FIREBIRD...............................................................................14

3.4 ARQUITETURA................................................................................................14

3.5 PLATAFORMA.................................................................................................15

3.6 FERRAMENTAS..............................................................................................16

3.7 FACILIDADES..................................................................................................17

3.8 LIMITAÇÕES....................................................................................................19

3.9 CAPACIDADE..................................................................................................19

4 CONCLUSÃO.........................................................................................................20

5 REFERÊNCIAS BIBLIOGRÁFICAS.......................................................................21

Page 2: Banco de Dados - Oracle e Firebird.doc
Page 3: Banco de Dados - Oracle e Firebird.doc

1

1 INTRODUÇÃO

Na era da informação, seja nas organizações, na medicina ou na educação a

informação é o bem mais valioso. Os bancos de dados vieram suprir a necessidade

de otimização, armazenamento e recuperação dos dados. Na busca por maior

segurança dos dados, surgem os sistemas gerenciadores de bancos de dados

(SGBDs).

Com o dinamismo da evolução tecnológica, os computadores possuem um

custo mais acessível, o que acarreta um grande aumento de pessoas e empresas

que adotam o computador para a resolução de problemas do seu dia-a-dia. Visto

que uma das principais, senão a maior, finalidade do computador é o

armazenamento de dados, há uma preocupação para que a utilização desses dados

armazenados seja feita da forma mais eficaz possível, considerando que pode haver

um grande número de usuários interagindo com esses dados ao mesmo tempo.

Diante da necessidade de melhorias no armazenamento e organização dos

dados no computador, surgiram os bancos de dados, que são softwares que se

aplicam à otimização dessa tarefa, sendo utilizados especificamente na área de

banco de dados.

A utilidade dos bancos de dados é a de proporcionar uma melhor organização

e armazenamento dos dados, além de oferecer ao usuário uma melhor facilidade na

obtenção das informações ali contidas, visto que estarão num mesmo lugar de

armazenamento, possibilitando um melhor aproveitamento do computador no que

diz respeito à otimização do espaço de armazenamento, com maior agilidade na

busca e atualização dos dados.

Neste documento pretende-se explanar dois SGBD com características

distintas, um comercial e outro open-source. Optou-se para apresentar os SGBD da

Oracle e da Firebird.

Page 4: Banco de Dados - Oracle e Firebird.doc

2

2 BANCO DE DADOS COMERCIAL – ORACLE

2.1 ARQUITETURA

Quando executado no Windows, o Banco de Dados Oracle 11g contém os

mesmos recursos e funcionalidades das várias plataformas Linux e UNIX para as

quais a Oracle oferece suporte. No entanto, a interface entre o banco de dados e o

sistema operacional foi bastante alterada para aproveitar os serviços exclusivos

disponibilizados pelo Windows. Como resultado, o Banco de Dados Oracle 11g para

Windows não é uma transferência direta da base de código do UNIX. Foi feito um

trabalho de engenharia considerável para garantir que o banco de dados explore os

recursos do Windows em sua plenitude e para assegurar que o banco de dados

Oracle seja um sistema estável, confiável e de alto desempenho no qual

desenvolver aplicativos.

Comparado ao banco de dados Oracle no UNIX, a alteração arquitetural mais

significativa do Banco de Dados Oracle 11g no Windows é a conversão de servidor

com base em processos em servidor com base em threads. No UNIX, o Oracle

utiliza processos para implementar tarefas em segundo plano, como gerador do

banco de dados (DBW0), gerador de log (LGWR), distribuidores (dispatchers),

servidores compartilhados e afins. Além disso, cada conexão dedicada ao banco de

dados faz com que outro processo do sistema operacional seja gerado em favor

dessa sessão. No Windows, porém, todos esses processos são implementados

como threads em um grande e único processo. Isso significa que, para cada

instância do banco de dados Oracle, haverá apenas um processo em execução no

Windows para o próprio servidor de banco de dados Oracle.

2.2 PLATAFORMA

Atualmente o Oracle está na versão 10g Release 2, com versões para os

sistemas operacionais Windows, Linux, Solaris, AIX e outros. O “g” (de 10g) é uma

abreviação de grid, vários servidores de pequeno porte compartilhando

processamento, atuando como se fosse um grande servidor.

Page 5: Banco de Dados - Oracle e Firebird.doc

3

2.3 CARACTERÍSTICAS

A base de dados Oracle é tipicamente usada para armazenar e recuperar

dados através de aplicativos.

Todas as implementações da base de dados Oracle incluem linguagens e

interfaces que permitem que programadores acessem e manipulem os dados.

Características de programação para bases de dados geralmente interessam aos

desenvolvedores que estão criando aplicativos baseados em Oracle para serem

comercializados ou aqueles de departamentos de TI programando aplicativos para

atender necessidades exclusivas de suas empresas. Os dados em Oracle podem

ser acessados usando SQL, ODBC, JDBC, SQLJ, OLE DB, ODP NET, SQL/XML,

Xquery e WebDav. Programas instalados dentro da base de dados podem ser

escritos em PL/SQL e Java.

2.4 FERRAMENTAS

2.4.1 Oracle Active Data Guard

O Oracle Active Data Guard, com Oracle Database 11g Enterprise Edition,

aprimora a qualidade do serviço descarregando atividades com muitos recursos de

um banco de dados de produção para um ou mais bancos de dados stand-by

sincronizados. O Oracle Active Data Guard permite acesso apenas para leitura a um

banco de dados stand-by físico para consultas, classificação, relatório, acesso com

base na Web, entre outros, enquanto aplica continuamente as alterações recebidas

do banco de dados de produção. O Oracle Active Data Guard também permite o uso

de backups incrementais rápidos no descarregamento de backups para um banco

de dados stand-by e pode fornecer os benefícios adicionais de alta disponibilidade e

proteção de desastres contra interrupções no site de produção planejadas ou não.

Vantagens

Aumenta o desempenho — Descarrega cargas de trabalho não previstas

para uma réplica atualizada do banco de dados de produção

Page 6: Banco de Dados - Oracle e Firebird.doc

4

Simplifica operações — Eliminação da complexidade de gerenciamento das

soluções de replicação tradicionais

Elimina o comprometimento — A réplica do relatório está sempre atualizada

e on-line, o que não seria possível com tecnologias de replicação de

armazenamento tradicionais

Redução dos custos — Um banco de dados stand-by físico do Oracle Active

Data Guard pode fornecer também recuperação de desastres e/ou servir

como um banco de dados de teste — sem necessidade de armazenamento

ou de servidores adicionais

2.4.2 Oracle Advanced Compression

O Oracle Advanced Compression e o Oracle Database 11g Versão 2 ajudam a

gerenciar mais dados de uma maneira econômica. Com o volumes de dados

triplicando a cada dois anos, em média, o Oracle Advanced Compression fornece

taxas de compressão de 2 a 4 vezes em todos os tipos de dados e aplicações. A

economia em armazenamento proporcionada pela compressão será propagada por

todo o data center, reduzindo também o tráfego de rede e o backup de dados. E, por

ler menos blocos de disco, o Oracle Advanced Compression também melhora o

desempenho de consulta.

Tenha uma Atitude Ecologicamente Correta com Menos Unidades de Disco e

Menos Energia.

Além da compressão de dados estruturados e não estruturados, como

documentos, imagens e multimídia, o Oracle Advanced Compression ajuda o Oracle

Database 11g a atualizar fontes de armazenamento de maneira mais eficiente e a

reduzir a demanda por energia. Com o Oracle Advanced Compression, os clientes

da Oracle podem armazenar mais dados, realizar consultas com maior rapidez e

ajudar a deixar o planeta um pouco mais verde.

Vantagens

Page 7: Banco de Dados - Oracle e Firebird.doc

5

Menor custo de armazenamento

Reduz a necessidade de espaço em disco para todos os tipos de dados

Melhora o desempenho da aplicação

Pode ser usado com qualquer tipo de aplicação sem alterações

2.4.3 Oracle Partitioning

Particionamento para desempenho aprimorado.Um requisito importante de

ambientes de banco de dados de alta disponibilidade e alto desempenho, o

particionamento divide tabelas e índices em componentes menores e mais

gerenciáveis. O Oracle Database 11g oferece as mais amplas opções de métodos

de particionamento disponíveis, incluindo intervalo, referência, lista e faixa. Além

disso, fornece partições compostos de dois métodos, como data da ordem (faixa) e

região (lista) ou região (lista) e tipo de cliente (lista). Oracle Partitioning. Como uma

opção do Oracle Database 11g Enterprise Edition, o Oracle Partitioning também é a

base da estratégia de Gerenciamento de Ciclo de Vida de Informações da Oracle,

que alinha o valor comercial das informações a camadas de armazenamento de

custo acessível para aplicações de grandes volumes de data warehousing e de

processamento de transações.

Vantagens

Desempenho Mais Rápido — Diminui o tempo de consulta de minutos para

segundos

Aumenta a Disponibilidade — Acesso 24 horas a informações críticas

Melhora a capacidade de gerenciamento—Gerencie "porções" menores de

dados

Possibilita o gerenciamento do ciclo de vida das informações—Uso do

armazenamento com eficiência de custos.

Page 8: Banco de Dados - Oracle e Firebird.doc

6

2.4.4 Oracle Database Security

Desde o início, a Oracle oferece a mais avançada tecnologia do setor para

proteger os dados onde eles se encontram — no banco de dados.

A Oracle fornece um portfólio abrangente de soluções de segurança para

garantir a privacidade dos dados, protegê-los contra ameaças internas e permitir a

conformidade com regulamentações.

Com o poderoso controle de acesso de diversos fatores e de usuário privilegiado

(inglês), classificação de dados (inglês), criptografia transparente de dados (inglês),

auditoria (inglês), monitoramento (inglês) e data masking (inglês) da Oracle, os

clientes podem implantar soluções de segurança de dados confiáveis que não

requerem qualquer alteração em aplicações existentes, economizando tempo e

dinheiro.

2.4.5 Oracle Enterprise Manager

Melhore os resultados com gerenciamento de aplicativos descendente.

O Oracle Enterprise Manager é o único software de gerenciamento que ajuda

as empresas a alcançar a mais alta qualidade de serviço e os mais baixos custos

operacionais de TI, com uma exclusiva abordagem descendente. Essa abordagem

emprega uma combinação imbatível de soluções para gerenciamento de aplicativos

e garantia de qualidade com soluções de gerenciamento para tecnologias Oracle,

incluindo pacotes de aplicativos Oracle, Oracle Fusion Middleware e Banco de

Dados Oracle.

2.4.6 Oracle Real Application Testing

Reduza os Esforços com Testes em até 80%.

Page 9: Banco de Dados - Oracle e Firebird.doc

7

Empresas ágeis querem ser capazes de adotar novas tecnologias, sejam

sistemas operacionais, servidores ou softwares, para ajudá-las a estar à frente da

concorrência. No entanto, mudanças geralmente trazem um período de instabilidade

para sistemas de TI essenciais. O Oracle Real Application Testing —com o Oracle

Database 11g Enterprise Edition— permite que as empresas adotem novas

tecnologias com rapidez ao mesmo tempo que elimina os riscos associados às

mudanças. O Oracle Real Application Testing combina um recurso de captura e

reprodução da carda de trabalho com um analisador de desempenho SQL para

ajudar a testar as mudanças em comparação com cargas de trabalho reais e a

ajustar as alterações antes de aplicá-las à produção. O Oracle Real Application

Testing dá suporte às versões antigas do Oracle Database, para que os clientes que

executam o Oracle Database 9i e o Oracle Database 10g possam usá-los para

acelerar suas atualizações de banco de dados.

Vantagens

Usa cargas de trabalho reais—Reproduz cargas de trabalho reais e não

cargas artificiais ou sintéticas

Abrangente —Cobertura total do ciclo de vida da mudança

Escalável — Requer o mesmo esforço para pequenas ou grandes

mudanças

Previsível—Transfere resoluções exatas de mudanças do teste para a

produção

Acessível—Reduz os esforços com teste em até 80%

2.4.7 As ferramentas disponíveis para o Oracle Express Edition:

Generate DML – Ferramenta gráfica com Wizard para criar arquivos de

script referente as tabelas existentes em um schema, ou seja, faz a

reengenharia dos objetos.

Page 10: Banco de Dados - Oracle e Firebird.doc

8

Object Reports – Ferramenta gráfica para gerar relatórios de todo o banco

de dados, objetos, espaço em disco ocupado, parâmetros do banco, entre

outros.

Data Load/Unload – Ferramenta gráfica com Wizard para efetuar

importações de arquivos do tipo TXT, XML e XLS para tabelas contendo o

mesmo layout e ordenação das colunas.

Query Builder – dCom esta ferramenta é possível criar comandos SQL,

selecionando as tabelas, especificando as condições, selecionando qual

coluna devera ordenar o resultado, entre outros.

Obs: Wizard é um padrão de projeto de software amplamente utilizado em

interfaces gráficas do usuário para prover um meio simples de realizar tarefas

complexas em sistemas computacionais, através de um esquema passo-a-

passo.

É possível também monitorar todo o ambiente através de uma tela totalmente

web com várias informações sobre o ambiente. Existem 4 tipos de visualizações

para monitoração:

Monitorar as sessões correntes (SESSIONS);

Monitorar as estatísticas do sistema;

Monitorar os comandos SQL com maior utilização de recurso (TOPSQL);

Monitorar os comandos SQL com maior tempo de execução (LONG

OPERATIONS);

O Servidor de Aplicativos e de Base de Dados Oracle inclui uma ferramenta de

pesquisa chamada Ultra Search. A Ultra Search é tipicamente usada para pesquisar

e recolher informações de localização para dados de texto armazenados dentro da

rede de uma empresa. Recuperação de documentos é baseada em direitos de

acesso de usuários. Adicionalmente, o Oracle oferece a Pesquisa Empresarial

Segura como alternativa, e esta é mais flexível em ambientes externos ao Oracle.

Page 11: Banco de Dados - Oracle e Firebird.doc

9

2.5 FACILIDADES

Clusterização e consolidação de aplicações empresariais em nuvens

privadas rápidas, confiáveis e escaláveis.

Aceleração do desempenho com a compressão de dados em partições de

armazenamento de baixo custo.

Maximização da disponibilidade e eliminação da redundância ociosa do

data center.

Proteção de informações e habilitação da conformidade de forma segura.

Duplicação da produtividade de DBA e redução do risco de mudanças.

2.6 LIMITAÇÕES

Para o Oracle Express Edition, as limitações são:

Suporta até 4GB de dados, ou seja, é possível ter somente 4 GB de data

files.

Caso este número tente ser ultrapassado, o Oracle irá apresentar uma

mensagem de erro.

Pode ser instalado em um servidor contendo vários processadores, porém

irá utilizar somente um processador.

Pode ser instalado em um servidor contendo n GB de memória, porém irá

utilizar somente 1 GB de memória RAM.

Recomendado pela Oracle para aplicações de até 20 usuários.

Pode ser utilizado como cliente em um ambiente de replicação.

Page 12: Banco de Dados - Oracle e Firebird.doc

10

3 BANCO DE DADOS OPENSOURCE – FIREBIRD

O Firebird (SGBD), é um sistema gerenciador de banco de dados gratuito e

open source desenvolvido pela FirebirdSQL Foundation, uma organização sem fins

lucrativos que visa o aperfeiçoamento e continuação do seu desenvolvimento.

O Firebird surgiu a partir do Interbase 6. A proposta da Borland iniciou-se em

2000 quando foi aberto o código do Interbase, porém para que somente fossem

feitas sugestões, sem que nenhuma alteração do código pudesse ser feita por

alguém que não fosse interno à companhia. Isso trouxe bastante descontentamento

aos desenvolvedores que em julho de 2000 criaram a Firebird Tree no Source

Forge1, para que houvesse um espaço aberto a todos.

A primeira versão do Firebird foi lançada em março de 2002 e é licenciado sob

a IPL (InterBase Public License ), a qual tem os mesmos termos da Mozilla Public

License 1.1, e é totalmente compatível com o padrão ANSI SQL-92.

A VERSÃO 1.0 é praticamente igual a versão open source do Interbase 6, com

linguagem de código em C, usando, por exemplo, os mesmos nomes dos arquivos

de extensão, chaves de registro no Windows, entre outros, porém com muita

correção de bugs e documentação daqueles que ainda não foram corrigidos.

A partir da versão 1.5 o Firebird distanciou-se ainda mais do Interbase. Quando

começou a ser desenvolvido era apenas para consolidar o SGBD com a conversão

da linguagem de código, que era em C, e a partir desta versão passou a ser C++,

porém foram tantas as implementações que ela acabou se tornando uma versão

maior do SGBD.

Algumas das inovações foram:

Mudanças nos nomes dos arquivos de extensão, de .gdb para .fdb,

desvinculando ainda mais o Firebird do Interbase.

Comandos CASE, COALESCE e NULLIF. O CASE permite retornar um valor

de acordo com as condições definidas e, a partir dele, foi possível

implementar a COALESCE, comando que retorna o primeiro valor não nulo

de uma seqüência de valores passados como parâmetros, e o NULLIF que é

Page 13: Banco de Dados - Oracle e Firebird.doc

11

um comando que recebe dois valores de entrada, se os dois valores forem

iguais ele retorna NULL, se forem diferentes ele retorna o valor do primeiro

parâmetro.

SQLs dinâmicos, um recurso que permite inserir e executar dinamicamente

comandos SQL através dos comandos Execute Statement e For Execute

Statement, dentro de Stored Procedures e Triggers.

Versão Classic do servidor para Windows.

Versão Embedded, ou embarcada, que é uma variação do servidor onde se

tem um servidor completo Firebird composto por apenas alguns arquivos.

Disponibilidade de rodar muitos servidores simultaneamente na mesma

máquina.

Triggers Universais, possibilidade de associar um único trigger a vários

eventos.

Travamento pessimista, a arquitetura versioning do Firebird permite que seja

praticamente desnecessária a utilização de travamentos pessimistas nas

aplicações. A versão 1.5 tem a implementação no select de duas novas

cláusulas, a WHITH LOCK e FOR UPDATE, que têm a função de evitar que

outras transações possam alterar os registros selecionados enquanto

permanecem bloqueados.

Apelidos (alias) de banco de dados, que permite a utilização de apelidos

atribuídos ao BD nos strings de conexão, proporcionado pela implementação

de um arquivo, aliases.conf, que se encontra no diretório de instalação do

Firebird.

Com uma plataforma de código mais robusta, a versão 2.0 do Firebird foi

lançada durante a quarta conferência do Firebird em Praga, na República Tcheca,

em 12 de novembro de 2006, trazendo tranqüilidade à comunidade de

desenvolvedores que o utilizam, demonstrando que veio para ficar, gratuito e com

código aberto.

Page 14: Banco de Dados - Oracle e Firebird.doc

12

A versão 2.0[..] é o que podemos chamar de fase madura do produto.

Melhorias em performance, novas funcionalidades e novos recursos, com certeza já

entrou para a história da informática e o seu futuro é muito promissor. (BUBLITZ,

2007, p. 50).

Algumas de suas características são:

Índices com expressões, onde o valor a ser definido é o resultado de

expressões arbitrárias, onde pode haver, inclusive, chamadas a UDFs.

Minimização de limitações das versões anteriores no que se refere ao

tamanho dos índices, que era de 252 bytes e tamanho das tabelas, que era

de 30 Gb.

O comando EXECUTE BLOCK, que permite que sejam criadas rotinas fora

de triggers e stored procedures, sem a necessidade de criar uma procedure.

Suporte a plataforma 64 bit com o uso dos releases para AMD64 e

IntelEM64T no Linux e versões para Windows 64 bits disponíveis em um

novo release.

Intensa revisão da segurança do servidor, incluindo criptografia forte das

senhas e dispositivo de proteção contra ataques baseados em brute force

embutido no próprio banco.

Capacidade de backup incremental.

Completa re-arquitetura de serverless do protocolo de conexão local no

Windows para eliminar a instabilidade herdada do protocolo IPServer.

Implantação completa do serviço de API2 em todas as plataformas.

Page 15: Banco de Dados - Oracle e Firebird.doc

13

3.1 LINGUAGEM PSQL

A linguagem PSQL (Procedural SQL) é uma linguagem nativa do Firebird para

stored procedures e triggers, procedimentos de grande importância em um sistema

gerenciador de banco de dados.

Temos como algumas de suas características:

Suporte das variáveis a qualquer tipo de dado suportado pelo Firebird, com

exceção somente de Array e Blob.

Os comentários devem ser feitos entre asteriscos, como por exemplo:

variável = valor; /* atribuição de uma variável*/. Os blocos terminam com um

END seguidos por um terminador, este que é definido com o comando SET

TERM.

Possibilidade de gerar exceções dinâmicas podendo criar e exibir uma

mensagem no momento em que a exceção é gerada.

Possibilidade de chamar stored procedures em triggers e SPs internamente

através do comando EXECUTE PROCEDURE.

3.2 APPLICATION PROGRAMMING INTERFACE

Stored procedures selecionáveis que tem o mesmo efeito de uma view, sendo

possível utilizá-la como se fosse uma tabela contendo informações originadas de

outras tabelas do banco de dados, servindo também como fonte de dados para os

SELECTs, além dos comandos:

IF...THEN...ELSE;

POST_EVENT;

SELECT_INTO;

EXIT e SUSPEND;

Page 16: Banco de Dados - Oracle e Firebird.doc

14

WHEND...DO;

CASE, COALESCE e NULLIF;

[FOR] EXECUTE STATEMENT;

LEAVE/BREAK.

3.3 O FUTURO DO FIREBIRD

Alguns projetos estão sendo desenvolvidos, como o Yaffil e o Vulcan,visando

desenvolver e aperfeiçoar ferramentas para o Firebird.

O projeto Vulcan atingiu a meta de usabilidade geral, com algumas poucas

pontas soltas, e deseja-se juntar ambas as bases de código o mais cedo possível.

Dessa junção resultará no Firebird 3.0 com total suporte a multiprocessamento

simétrico (SMP), arquitetura unificada (sem mais nenhuma necessidade de

compilações classic / superserver / embedded) e outros melhoramentos.

O projeto Vulcan surgiu do Firebird HEAD, mais tarde denominado Firebird 1.5,

para que fossem realizados testes no desenvolvimento de mult threading (suporte a

SMP) e plataformas de 64 bits, e está sendo implementado para, na junção com o

Firebird 2.0, resultar na versão 3.0 do Firebird.

3.4 ARQUITETURA

Ao começar a desenvolver com Firebird, surge a necessidade de escolher qual

versão do servidor optar. O Firebird possui rês versões distintas, Classic,

SuperServer e Embedded.

A versão Classic é remanescente da versão 4 do Interbase, e é baseada em

processos, ou seja, para cada nova conexão cliente, é disparado um novo processo

servidor para atendê-la. A principal característica é que cada processo é totalmente

Page 17: Banco de Dados - Oracle e Firebird.doc

15

independente, possuindo um cache de memória dedicado. Cada processo utiliza

cerca de 2MB de memória.

A versão SuperServer traz um conceito novo, em que um único processo

gerencia várias conexões clientes simultâneas. Cada conexão é enominada thread ,

ou uma pequena parcela do processo. Esse processo utiliza cerca de 2MB de

memória, cada conexão adiciona cerca de 115K ao consumo de memória.

Utiliza um único processo do servidor, que criará uma thread para cada nova

conexão feita com um banco de dados, compartilhando o cache entre as conexões.

Uma das novidades, a partir do Firebird 1.5, foi o surgimento da versão

Embedded, que é uma variante da versão Super Server para plataformas Windows.

Ela é simplesmente um servidor Firebird completo em uma única DLL chamada

fbembed.dll.

A grande vantagem desse tipo de servidor é facilitar a vida dos

desenvolvedores que desejam criar versões de demonstração dos seus softwares,

catálogos em cd-rom ou distribuir seus softwares para utilização em ambiente

monousuário, sem que haja necessidade do usuário final instalar um servidor

Firebird em sua máquina.

Essa versão é limitada ao método de acesso local e permite conexão com um

único usuário. Uma aplicação embutida , como é conhecida a aplicação que usa a

versão Embedded, pode ser executada na mesma máquina que estiver rodando um

servidor Firebird normal, contudo os dois servidores não podem ter acesso a um

banco de dados ao mesmo tempo. Todos os recursos e potencial do Firebird estão

presentes na versão Embedded, como controle transacional, stored procedures,

triggers, entre outros. É possível criar versões de demonstração de programas com

alto grau de complexidade, sem praticamente qualquer mudança do código da

aplicação. Esse é um recurso exclusivo do Firebird.

3.5 PLATAFORMA

Page 18: Banco de Dados - Oracle e Firebird.doc

16

Opera em Linux, Windows e uma variedade de plataformas Unix nas

hospedagens de sites.

As últimas versões do Firebird possuem muitas características interessantes

como Tabelas Derivadas, suporte para Execução em Bloco, Maiores tamanhos de

tabelas, novo código de índice, índices em expressões, melhorias na otimização das

tabelas, melhorias na segurança do banco de dados e suporte para backups

incrementais on-line.

3.6 FERRAMENTAS

Para administrar o banco de dados, o Firebird não possui ainda uma

ferramenta gráfica nativa. Juntamente com o servidor Firebird, é disponibilizado um

conjunto de ferramentas de linha de comando, como:

fbmgr interface Shell com o serviço do Super Server no ambiente Linux.

instsvc interface com o serviço Super Server em plataformas Windows para

instalação, iniciação e desligamento do servidor.

gbak utilizado para gerar cópias de segurança e restaurar bancos de dados.

gsec ferramenta de manutenção de senhas e usuários.

gfix ferramenta para reconfigurar propriedades, fazer pequenos reparos e

executar tarefas de limpeza no banco de dados.

gstat ferramenta para extração de relatórios estatísticos sobre índices e

dados.

fb_lock_print para recuperação de estatísticas de bloqueio que o servidor

Firebird mantém para controle das alterações feitas por múltiplas transações.

isql interactive SQL, incorpora ferramentas e técnicas para uso de SQL na

manutenção de objetos dos bancos de dados, gerenciamento de transações,

Page 19: Banco de Dados - Oracle e Firebird.doc

17

exibição de metadados e gerenciamento de scripts de definição de bancos

de dados.

Além das ferramentas de linha de comando que acompanham o servidor, a

comunidade Firebird tem a sua disposição inúmeras interfaces gráficas, muitas delas

com acesso gratuito. Entre as mais conhecidas estão:

Database Workbench (comercial)

IBExpert (comercial), que oferece uma versão gratuita limitada (Lite)

IBOConsole (gratuita)

MDOConsole (gratuita), desenvolvida no Brasil, sob o comando do

brasileiro Henrique Meira.

EMS SQL Database Management Solutions (possui uma versão gratuita

totalmente funcional).

FlameRobin (Open Source, runs on Windows, Linux, MacOSX and

FreeBSD)

DB Workbench

Firebird Development Studio

Uma lista completa de ferramentas gráficas disponíveis no mercado pode ser

obtida no site da IBPhoenix3. A concorrência entre os fornecedores de ferramentas

tem sido outro fator interessante no trajeto de desenvolvimento do servidor Firebird.

3.7 FACILIDADES

O usuário do Firebird tem a seu dispor uma quantidade enorme de

componentes de acesso ao banco de dados, tanto na tecnologia de acesso direto

através da API do banco, como na de acesso através de uma camada intermediária,

Page 20: Banco de Dados - Oracle e Firebird.doc

18

entre a aplicação e a API do banco, tendo compatibilidade com diversas linguagens

de programação, como Java, Delphi, C, C++, Visual Basic, C#, entre outras.

Alguns componentes de acesso ao Firebird:

IB Objects (IBO) Considerado o pacote mais completo. É o que oferece o

maior número de componentes.

dbExpress É uma camada muito fina entre a aplicação e a API do banco de

dados. Possui poucos componentes, em comparação com outros pacotes

oferecidos.

Interbase Express (IBX) Devido ao fato de ser desenvolvido pela Borland,

sua compatibilidade com as futuras versões do Firebird não pode se

garantida.

JDBC Conexão com aplicações Java utilizando o drive JDBC 4.0 disponível

para download gratuito no site da Sun.

Zeos - É um projeto open source que existe há bastante tempo, suportando

apenas o MySQL e o PostegreSQL, sendo posteriormente adicionado acesso a

outros bancos, entre eles o Firebird, possuindo arquitetura baseada no JDBC

do Java.

Mercury DataBase Objects (MDO) É um projeto open source, desenvolvido por

brasileiros.

SIBProvider (OLEDB) É um driver OLEDB nacional (comercial) para o

Firebird.

Pode ser utilizado por qualquer linguagem que suporte ADO ou OLEDB,

incluindo Delphi, Visual Basic, Crystal Reports, ColdFusion e ASP.

Abaixo segue uma lista dos principais recursos do Firebird:

Suporte total a Stored Procedures e Triggers

Transações compatíveis com ACID

Page 21: Banco de Dados - Oracle e Firebird.doc

19

Integridade Referencial

Multi Generational Architecture

Consome poucos recursos de processamento

Linguagem nativa para Stored Procedures e Triggers (PSQL)

Suporte para Funções Externas (UDFs)

Praticamente não necessita de DBAs especializados

Quase nenhuma configuração - instale e comece a usar!

Grande comunidade de usuários e vários lugares para se obter suporte

gratuito

Versão embedded do SGBD - perfeita para criação de catálogos em

CDROM, aplicações "demo" ou standalone

Dezenas de ferramentas de terceiros, incluindo aplicações gráficas de

administração, replicação, etc.

Careful writes - recuperação rápida, dispensa o uso de log de transações!

Diversas formas de acesso ao banco de dados: nativo/API, dbExpress,

ODBC, OLEDB, .Net provider, JDBC nativo tipo 4, Python module, PHP,

Perl, etc.

Suporte nativo para os maiores sistemas operacionais, incluindo o Windows,

Linux, Solaris, MacOS.

Backups incrementais

Builds de 64bits disponíveis

Total controle de cursores em PSQL

Tabelas de Monitoramento

Triggers de conexão e transação

Tabelas temporárias

Page 22: Banco de Dados - Oracle e Firebird.doc

20

TraceAPI - saiba o que está acontecendo no servidor

3.8 LIMITAÇÕES

O Firebird tem o código aberto e não possui licença dupla, portanto pode ser

utilizado em qualquer tipo de aplicação, seja ela comercial ou não, sem pagar nada

por isso.

A tecnologia usada no Firebird tem mais de 20 anos, fazendo com que ele seja

um produto muito maduro e estável.

3.9 CAPACIDADE

Pode gerenciar bancos de dados de alguns Kbytes até dezenas de Gigabytes

com boa performance e praticamente sem necessidade de manutenção.

4 CONCLUSÃO

Concluímos que o Oracle é o principal banco de dados atualmente, sendo

responsável pelo armazenamento de boa parte das informações das principais

organizações ao redor do mundo. Sua participação no mercado de banco de dados

é bastante acentuada, principalmente em grandes empresas e em conjunto com

sistemas de médio e grande porte. O Oracle é muito robusto e exige bastante

hardware para um boa performance. Outro fator importante é o gerenciamento, onde

são exigidos profissionais bastante capacitados para este fim. Aliado a essas

características outro ponto forte do Oracle é a segurança.

Já o Firebird, diferente do Oracle, é open source. Com isso, vários

desenvolvedores podem contribuir com correções de bugs, desenvolvimento de

novas ferramentas e melhorias no desempenho. Mesmo tendo o código aberto, o

Page 23: Banco de Dados - Oracle e Firebird.doc

21

Firebird demonstra ser um poderoso banco com diversas funções tanto para

aplicações de pequeno e médio porte, quanto para desenvolvedores.

5 REFERÊNCIAS BIBLIOGRÁFICAS

Conheça o Firebird em 2 minutos, acesso em 12/10/11, no site:

http://www.firebirdnews.org/docs/fb2min_ptbr.html

Banco de dados Firebird, acesso em 09/10/11, no site:

http://www.goncalves.pro.br/artigos/apostilaFirebird.pdf

Site oficial Oracle Data Base Brazil, acesso em 09/10/11, no site:

http://www.oracle.com/br/index.html

Wikipédia, a enciclopédia livre – Oracle, acesso em 09/10/11, no site:

http://pt.wikipedia.org/wiki/Oracle

Page 24: Banco de Dados - Oracle e Firebird.doc

22

Oracle Database 10G - O Manual do DBA, Kevin Loney – Ed.1 Ano 2005