FireBird Final
-
Upload
priscilla-rocha -
Category
Documents
-
view
940 -
download
2
Transcript of FireBird Final
UNIVERSIDADE POTIGUAR
ESCOLA DE ENGENHARIAS E CIÊNCIAS EXATAS
CURSO DE SISTEMAS DE INFORMAÇÃO
ANDERSON IGOR CÂMARA DE ARAÚJO
LUÃ PAULO SILVA DE LIMA
PRISCILLA DE ARAÚJO ROCHA
FIREBIRD
NATAL-RN
1
2011
2
SUMÁRIO
1. INTRODUÇÃO 42. CONCEITOS E DEFINIÇÕES 5
a. SISTEMA DE GERENCIAMENTO DE BANCO DE DADOS - SGBD.........................................5
b. STORED PROCEDURE........................................................................................................5
c. TRIGGERS..........................................................................................................................5
d. VIEW.................................................................................................................................6
e. GENERATIONS..................................................................................................................6
f. EXTERNAL FUNCTIONS.....................................................................................................7
g. DOMAINS.........................................................................................................................7
3. HISTÓRIA 9a. VERSÃO 1.0.......................................................................................................................9
b. VERSÃO 1.5.......................................................................................................................9
c. VERSÃO 2.0.....................................................................................................................10
d. LINGUAGEM PSQL..........................................................................................................10
e. FUTURO DO FIREBIRD.....................................................................................................10
f. TIPOS DE DADOS............................................................................................................11
g. EMPRESAS QUE UTILIZAM O FIREBIRD...........................................................................11
h. VERSÕES DE SERVIDOR...................................................................................................11
i. Classic.........................................................................................................................12
ii. Supersever..................................................................................................................12
iii. Embedded..................................................................................................................12
4. PRINCIPAIS CARACTERÍSTICAS 13a. FERRAMENTAS...............................................................................................................13
b. COMPONENTES..............................................................................................................14
5. PRINCIPAIS RECURSOS 16a. SISTEMA MULTI-GERENCIONAL......................................................................................16
b. REPLICAÇÕES..................................................................................................................16
c. SOMBREAMENTO...........................................................................................................16
d. SUPORTE A DIVERSOS PROTOCOLOS DE CONEXÃO.......................................................16
e. INSTALAÇÃO REDUZIDA..................................................................................................17
3
f. UDF.................................................................................................................................17
g. TAMANHO DO BANCO....................................................................................................17
h. BACKUPS ONLINE...........................................................................................................18
6. VANTAGENS 19a. SUPORTE........................................................................................................................19
b. PORTABILIDADE..............................................................................................................19
c. OPEN SOURCE................................................................................................................19
7. LIMITAÇÕES 21a. SEGURANÇA...................................................................................................................21
b. USUÁRIO SYSDBA...........................................................................................................21
c. CRIPTOGRAFIA................................................................................................................21
d. ATAQUE DE FORÇA BRUTA.............................................................................................22
e. NÚMERO MAXIMO DE CLIENTES OU CONEXÃO SIMULTÂNEAS.....................................22
f. INTERFACE PARA ADMINISTRADOR DO BANCO.............................................................22
8. CONCLUSÃO 23REFERENCIAS 24
4
1. INTRODUÇÃO
O banco de dados veio para otimizar, armazenar e recuperar os dados, foi
quando surgiu o Firebird para ser não só um banco de dados, e sim um gerenciador de
banco gratuito e open source. O Firebird é um dos maiores banco de dados gratuito e
mais seguros, tem sido um banco relacional e multigenreciavel, podendo ter várias
conexões em execução.
O trabalho foi proposto para obter um entendimento das funcionalidades do
Firebird e entender melhor sua historia de surgimentos, características, recursos e
limitações.
5
2. CONCEITOS E DEFINIÇÕES
a. SISTEMA DE GERENCIAMENTO DE BANCO DE DADOS - SGBD
Os SGBD’s são utilizados para como uma ponte entre os usuários e o banco de
dados físico de um computador. Ele proporciona segurança, pois todas as solicitações
de acesso ao banco de dados passam pelo SGBD. Sua função principal é aperfeiçoar a
utilização e a construção do banco de dados, sem deixar os detalhes de o hardware
aparecer para os usuários, ou seja, permitindo a eles apenas a visão de cliente.
O SGBD além de manter os dados, ele determina as formas como serão
armazenados os dados e como eles devem aparecer para os clientes. Eles podem ser
divididos em comerciais, como: Oracle, DB2, Interbase e SQL e os open sources, como:
MySQL, PostgreSQL, além do firebird que é o tema deste trabalho.
b. STORED PROCEDURE
São procedimentos selecionáveis que possuem uma ou mais SQL statements
para realizar cálculos e fazer transformações em determinadas linhas no lado servidor,
um tanto úteis quando se quer obter um determinado valor de uma tabela que seria
impossível obter numa instrução SELECT convencional. (MECENAS, 2006).
Exemplo:
CREATE PROCEDURE FU_ABS(WVAR DOUBLE PRECISION)RETURNS(R_ABS DOUBLE PRECISION)AS BEGINIF (:WVAR IS NOT NULL) THEN BEGINIF (:WVAR < 0.0000) THENR_ABS = :WVAR * -1;ELSER_ABS = WVAR;ENDSUSPENDEND
c. TRIGGERSQuando ocorre algum evento que esteja associado a uma tabela condicionado
a um INSERT, DELETE ou UPDATE um conjunto de comandos são executados
automaticamente, estes são chamados triggers. Veja abaixo um exemplo de uma
TRIGGER:
6
Exemplo:
CREATE TRIGGER TableView_Delete FOR TableView BEFORE DELETE AS BEGINDELETE FROM Table1WHERE ColA = OLD.ColA;DELETE FROM Table2WHERE ColA = OLD.ColA;END
d. VIEWSão tabelas virtuais, ou seja, não existem fisicamente por isso o nome de
visões. No intuito de facilitar a consulta é criada uma tabela que contém todos os
dados das outras três. Elas são criadas através de outras tabelas para se poder
consultar dados ilimitadamente. Assim é dado um Select na view e é consultado todos
dados das três tabelas que formam a view de acordo com a necessidade do usuário.
Exemplo de View:
Exemplo:
CREATE VIEW TableView ASSELECT Table1.ColA, Table1. ColB, Table2. ColCFROM Table1, Table2WHERE Table1.ColA = Table2.ColA
e. GENERATIONSJuntamente com triggers e stored procedures o generator é usado como um
contador de inteiros onde se pode incrementar ou decrementar este contador, serve
também para evitar chaves duplicadas em campos que correspondem a números
inteiros. O valor de um generator pode ser obtido usando a função GEN_ID. Exemplo
de um generator sendo incrementado:
Exemplo:
GEN_ID(Gen_Cliente_Codigo, 1)
Pode-se também atribuir o valor de um generator a um campo de uma tabela,
como esta no exemplo abaixo:
Exemplo:
CREATE TRIGGER TRIG_Cliente_Inclusao FOR Cliente BEFORE INSERT ASBEGINNEW.Codigo = GEN_ID(Gen_Cliente_Codigo,1)
7
END
Um generator também pode ter sua contagem reiniciada, veja o exemplo
abaixo:
Exemplo:
SET Gen_Cliente_Codigo TO 0.
Para se excluir um generator deve-se usar o seguinte comando:
Exemplo:
DROP GENERATOR NOME_DO_SEU_GENERATOR;
f. EXTERNAL FUNCTIONS
Uma função externa ou UDF como é mais conhecida consiste em construir a
função em DLL “Delphi, C, C++, VB”, e após isto, declarar a função no Firebird. Exemplo
abaixo:
Exemplo:
DECLARE EXTERNAL FUNCTION ABREVIAR_NOME CHAR(60) RETURNS CHAR(60) BYVALUE ENTRY_POINT “MINHAUDF” MODULE_NAME “MINHADLL.DLL”
Algumas funções externas são:
addDay - Retorna o primeiro argumento com o number dias
adicionados. Usar números negativos para subtrair.
addHour - Retorna o primeiro argumento com o number horas
adicionadas. Usar números negativos para subtrair.
addMillisecond - Retorna o primeiro argumento com
o number milissegundos acrescentou. Usar números negativos para subtrair.
g. DOMAINS
Como na linguagem da matemática o domínio no firebird também define um
bloco de valores para uma determinada situação. A utilização do domínio é essencial
para a organização do seu banco de dados, por exemplo: se um usuário tiver que
alterar a estrutura ou as características de um campo que está contido em várias
tabelas, ele terá que alterar tabela por tabela essas informações, mas se tiver sendo
usado um domínio ele irá alterar apenas o domínio e conseqüentemente todas as
8
tabelas terão suas informações atualizadas conforme o domínio. Criação de um
domínio:
Exemplos:
CREATE DOMAIN DATAHORA AS TIMESTAMP
Sem Domains:
CREATE TABLE Cliente( Codigo INTEGER NOT NULL, Nome VARCHAR(40) NOT NULL, Fone VARCHAR(20), Fax VARCHAR(20), Celular VARCHAR(20), Renda NUMERIC(9,2) DEFAULT 0 NOT NULL, CONSTRAINT PK_Cliente PRIMARY KEY(Codigo), CONSTRAINT CHK_Cliente_Codigo CHECK(Codigo > 0), CONSTRAINT CHK_Cliente_Renda CHECK(Renda >= 0));
Com Domains:
CREATE DOMAIN DM_ChavePrimaria INTEGER NOT NULL CHECK(VALUE > 0);CREATE DOMAIN DM_NomePessoa VARCHAR(40) NOT NULL;CREATE DOMAIN DM_Fone VARCHAR(20);CREATE DOMAIN DM_Renda NUMERIC(9,2) DEFAULT 0 NOT NULL CHECK(VALUE >= 0);
CREATE TABLE Cliente( Codigo DM_ChavePrimaria, Nome DM_NomePessoa, Fone DM_Fone, Fax DM_Fone, Celular DM_Fone, Renda DM_Renda, CONSTRAINT PK_Cliente PRIMARY KEY(Codigo));
9
3. HISTÓRIA
Inicialmente 1984, o Firebird se chamava InterBase, este foi desenvolvido por
Jim Starkey e Ann Harrison. Em 1991 a companhia na qual o InterBase nasceu foi
comprada pela Ashton Tate, sendo comprada posteriormente pela Borland. Esta
empresa se responsabilizou pelo desenvolvimento do InterBase até 1999. Foi quando
resolveu abrir o código, a abertura do código tinha como objetivo o interesse de
programadores em estudar e melhorar o código do produto da Borland que já se
encontrava na versão 6.0. Assim programadores do mundo inteiro se associaram,
identificando e corrigindo os erros da versão original, estes códigos melhorados
resultariam no Firebird. Em 2001 Borland criou uma nova versão do InterBase,
trazendo melhorias ao Firebird com recursos adicionais desenvolvidos por ela e
acrescentando as melhorias que tinham resultado no Firebird. Este SGBD possui
o código aberto e não possui licença dupla, fazendo com que o usuário possa utilizá-lo
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 e sempre em evolução.
a. VERSÃO 1.0
A primeira versão do Firebird foi a open source na época do Interbase, onde foi
desenvolvido em C. Sendo totalmente livre para distribuição e sem limitações, os
custos eram mínimos. Onde garantia a transparência do projeto e a colaboração em
equipes de desenvolvimento.
b. VERSÃO 1.5
Essa versão foi quando começou a distanciar do Interbase, e foi desenvolvido
em C++ consolidando um único SGBD de conversão de linguagem, só que chegou um
ponto que essa versão foi se tornando maior, pois foram muitas implementações, e
sendo assim foi preciso um SGBD maior.
De uma versão para outra algumas mudanças ocorreram, onde as principais
foram nos nomes de arquivos de extensão de .gdb para .fbd. E nesse momento foi
desvinculando completamente o Firebird do Interbase.
10
Foram criadas duas versões nesse modulo, onde a Classic era utilizada em
servidores Windows e a Embedded em servidores completo Firebird e fosse composto
somente de arquivos. Assim era possível executar varias servidores simultaneamente
na mesma maquina.
c. VERSÃO 2.0
Em 2006 numa conferencia foi o lançamento desse modulo, onde tinha a
principal característica de ter o código mais robusto. Levando aos desenvolvedores e
gerenciadores de SGDB a tranqüilidade e a facilidade de utilização pois continuava
código aberto, mostrando que a equipe da Firebird não ficou parada no tempo, mais
sim com movimentação intensa para evoluir e melhorar o banco de dados e tornando
o mais confiável e um excelente performance.
d. LINGUAGEM PSQL
Linguagem nativa para stored procedures e trigger com grande procedimento
em sistemas de importante gerenciamento de banco de dados. Onde suas principais
características estão no suporte de variáveis, com exceção do Array e Blob, os blocos
de códigos terão que ser finalizados por END, onde poderá possibilitar exceções
dinâmicas podendo criar e mostrar mensagens no momento que o mesmo foi gerado.
Foi criado um comando chamado EXECUTE PROCEDURE, onde terá possibilidade de
chamar a stored procedures em triggers de SP. Onde as store procedures terá o mesmo
valor que uma view sendo utilizada em tabelas originadas de outras tabelas do banco
de dados.
e. FUTURO DO FIREBIRD
“O projeto Vulcan atingiu a meta de usabilidade geral, com algumas poucas pontas soltas, e desejamos 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.” (IBPHOENIX, 2007)
11
f. TIPOS DE DADOS
No Firebird existem 3 tipos de dialetos que foram disponibilizados desde da
versão inicial do Interbase. A primeira é compatível com a Versão 1.0, o segundo
dialeto foi utilizado somente para testes de incompatibilidade entre os dialetos e por
fim o terceiro foi indicado somente ao desenvolvimento, sendo até hoje o mais atual
com novas características e suporte aos dados. E na definição de dialeto foi utilizado
outro tipo de dialeto que suportava caráter como:
Char e Varchar;
Date/ Time/ Timestamp;
Integer , Smallint e Bigint;
Float;
Double precision;
Numeric e Decimal;
Array;
Blob;
g. EMPRESAS QUE UTILIZAM O FIREBIRD
Com a tecnologia a mais de 20 anos no mercado, com segurança e performance
trabalhando juntos muitas empresas nacionais e internacionais utilizaram o Firebird.
Empresas essas que são bem conceituadas no mercado, onde temos o exemplos de
bancos como Caixa Econômica Federal e Banco do Brasil, faculdades, industrias,
comercio, folha, estoque e outros.
h. VERSÕES DE SERVIDORAo começar a desenvolver com Firebird, surge a necessidade de escolher qual
versão do servidor optar. O Firebird possui três versões distintas, Classic, SuperServer e Embedded. A versão Embedded é uma inovação e é utilizada em distribuições de programas em CD-ROM. No site Firebase foi divulgada uma pesquisa de utilização de versões, finalizada em setembro de 2005, em vários países (FIREBASE, 2007).
SuperServer 69%
Embedded 24%
Classic 5%
Indefinido 2%.
12
i. Classic
Versão com mais compatibilidade com a versão Interbase, onde cada conexão com cliente será disparado um processo, e assim cada processo será independente e não utilizará mais de 2MB da memória.
ii. Supersever
Trazendo um conceito novo, pois um processo irá gerenciará varias conexões
simultâneas, mais utilizado 115K consumo de memória.
iii. Embedded
A partir da versão 1.5, com acessos limitados permitindo conexão com um
único usuário, só poderá ser executada em uma máquina se a mesma estiver com a
versão completa do Firebird e com os dois servidores sem acesso ao mesmo tempo no
banco de dados. E terá controle de store procedure, trigger, e outros. Sendo possível a
criação de versões demonstração, sem qualquer mudança no código da aplicação.
13
4. PRINCIPAIS CARACTERÍSTICAS
a. 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 Ferramenta 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, 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)
IBOConsole (gratuita)
MDOConsole (gratuita)
EMS SQL Database Management Solutions (gratuita)
Uma lista completa de ferramentas gráficas disponíveis no mercado pode ser
obtida no site da IBPhoenix. A concorrência entre os fornecedores de ferramentas tem
sido outro fator interessante no trajeto de desenvolvimento do servidor Firebird.
14
b. COMPONENTES
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,
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.
IB Objects (IBO)
dbExpress
Interbase Express (IBX)
JDBC
Zeos
Mercury DataBase Objects (MDO)
SIBProvider (OLEDB)
Uma pesquisa realizada pela FireBase, maior comunidade brasileira sobre
Firebird, aponta os componentes de acesso mais utilizados pelos desenvolvedores
brasileiros:
15
5. PRINCIPAIS RECURSOS
a. SISTEMA MULTI-GERENCIONAL
Um dos recursos mais vantajosos e comentados do Firebird é o uso de um
sistema otimista de concorrência no acesso ao banco de dados. Na maioria dos SGBDs,
se tem um bloqueio de páginas inteiras, já no Firebird, se guarda várias versões dos
registros durante uma transação, mantendo dessa forma uma visão segura dos dados,
mesmo que alguma informação já tenha sido alterada após o início da transação.
b. REPLICAÇÕES
O Firebird não possui uma ferramenta nativa para replicação do banco de
dados, porém existem vários componentes de terceiros:
IBReplicator
ReplicadorBR
FBReplicator
c. SOMBREAMENTO
Para se precaver contra a perda de dados, ou corrupção do banco de dados em
caso de falha no disco rígido, na rede ou de um usuário que pode excluir
acidentalmente o banco de dados, o Firebird tem o recurso de sombreamento, que
pode recuperar o banco de dados nesses e em outros casos. Vantagens do
sombreamento:
Recuperação rápida
Necessita de pouca ou nenhuma manutenção
Não utiliza um processo separado
Alocação de disco rígido pode ser controlada
d. SUPORTE A DIVERSOS PROTOCOLOS DE CONEXÃO
Impossível imaginar, atualmente, empresas que não utilizam redes em seus
ambientes de trabalho, pois as redes de computadores estão no centro da competição
empresarial moderna. Partindo dessa ótica, um banco de dados que promete ser uma
ótima opção para o desenvolvimento de softwares cliente/servidor deve dar suporte
16
aos principais protocolos de conexão. O Firebird está neste contexto, dando suporte
aos seguintes protocolos:
Local
TCP / IP (Transmission Control Protocol / Internet Protocol)
NetBEUI (Net Bios Extended User Interface)
e. INSTALAÇÃO REDUZIDA
Outro recurso muito atraente no Firebird, principalmente do ponto de vista do
desenvolvedor de software, é o tamanho do instalador (menos de 5mb na versão
2.0.1.12855), que torna o seu envio em conjunto com a instalação do sistema
extremamente simples, mesmo que o sistema tenha que ser baixado de algum
servidor na internet. A instalação do cliente necessita de apenas 3 arquivos e fica com
menos de 1Mb, já a instalação completa do server fica em 13Mb.
f. UDF
O Firebird possui suporte a UDF’s, que podem ser criadas em qualquer
linguagem de programação que gere bibliotecas compartilhadas, conhecidas como
“dll” no Windows e “so” no Linux. Podem ser utilizadas em comandos SQL (com
select), ou em Stored Procedures e Triggers, aumentando o poder do banco de dados,
pois uma única biblioteca pode conter inúmeras funções (UDF s).
g. TAMANHO DO BANCO
O tamanho máximo de um arquivo de banco de dados Firebird, teoricamente é
de 32Tb. O número máximo de tabelas por banco de dados Firebird é 65.536, sendo
este o limite do Firebird, podendo ainda ser limitado pelo sistema operacional.
O Firebird é limitado a capacidade de processamento do sistema operacional,
podendo atingir a ordem de Terabytes e manusear essa quantidade de informação
com tranquilidade.
Um bom exemplo foi mostrado na Softool, onde o Avarda (ERP russo) estava rodando
com um servidor Firebird 2.0 Classic e um número médio de 100 conexões
simultâneas, acessando um banco de dados de 120GB com 700 milhões de registros.
17
Os arquivos de banco de dados crescem dinamicamente, conforme a
necessidade, não sendo necessário um planejamento minucioso do tamanho que o
banco de dados pode alcançar para pré-alocar esse espaço. Havendo espaço no HD, o
Firebird o utilizará automaticamente sempre que se fizer necessário. Índices,
procedures, triggers, enfim, todos os objetos do banco de dados ficam armazenados
em um único arquivo, com a extensão .fdb. Podemos ter, em teoria, bases com alguns
Terabytes de informação.
h. BACKUPS ONLINE
Para realizar backup no Firebird, não há necessidade de se parar o servidor,
pois um processo captura a imagem da base de dados no momento em que ele inicia.
Desta forma os usuários podem continuar realizando conexões normalmente com o
servidor, num processo ininterrupto, enquanto o backup é executado, com isso
podemos efetuar manutenções no banco de dados sem a necessidade de acesso
exclusivo.
18
6. VANTAGENS
a. SUPORTE
Um diferencial no uso do Firebird é a comunidade crescente que participa do
desenvolvimento do projeto, seja trabalhando no código fonte, ou sugerindo novas
implementações e relatando falhas e bugs. O Brasil possui uma das maiores
comunidades de Firebird no mundo, e tem vários especialistas no país.
b. PORTABILIDADE
Ao escolher um banco de dados, em muitos casos o sistema operacional em
que está baseado o servidor, já está definido. Por outro lado, o banco de dados deve
propiciar ao DBA uma transição para o maior número possível de sistemas
operacionais. Nesse contexto o Firebird dá garantias necessárias ao DBA, estando
disponível em diversos sistemas operacionais ao qual podemos destacar:
Windows
Linux
Solaris
Mac OS
Windows CE (Smartphones)
A portabilidade do banco de dados entre múltiplas plataformas o torna
também indicado para aplicações que operam com atualizações de bases off-line e que
tenham necessidade de integração centralizada.
c. OPEN SOURCE
O Firebird é baseado no conceito open source, visto que os sistemas que são
desenvolvidos com ele não precisam pagar qualquer quantia a Fundação que o
desenvolve, nem mesmo permitir que os usuários que adquirem a licença do sistema
possam vendê-lo, sem o seu consentimento.
Existem diversas soluções de armazenamento de dados disponíveis no
mercado, e as de código livre vêm ganhando destaque devido ao número cada vez
maior de recursos oferecidos.
19
7. LIMITAÇÕES
a. SEGURANÇA
A maior preocupação dos administradores de banco de dados, desde o
surgimento do ambiente de rede corporativa, é a segurança dos dados.
A questão da segurança em nível de banco de dados no Firebird, apesar das
mudanças realizadas na versão 2.0, ainda merece atenção redobrada por parte dos
desenvolvedores, para contornar certas limitações, visto que na época do surgimento
do Interbase muito pouco se falava em questões de segurança da informação.
O Firebird arquiva tudo que está relacionado à segurança, em um banco de
dados central, independente de quantos outros bancos de dados existam no
computador. Na versão 2.0 o arquivo se chama Security2.fdb.
b. USUÁRIO SYSDBA
Todos os servidores Firebird possuem um administrador de banco de dados
denominado SYSDBA, este usuário é imune às regras de segurança dos bancos de
dados. Sua senha, por default, é masterkey, ele é o único usuário, que pode alterar o
banco de dados de segurança. Uma medida de segurança indicada é mudar a senha,
pois a mesma é de conhecimento público. Apesar de vários avanços no Firebird 2.0,
principalmente na área de segurança, o projeto manteve o usuário SYSDBA com todos
os seus privilégios.
c. CRIPTOGRAFIA
A criptografia tem a finalidade de proteger a “mensagem” de pessoas não
autorizadas, pois mesmo que elas obtenham meios de acessá-la, não terão como
decodificá-la, pois não possuem a chave que a abre.
Em um banco de dados, é de suma importância que somente pessoas
autorizadas possam ter acesso ao arquivo de banco de dados físico, e nesse ponto o
Firebird, até a versão 2.0, disponibiliza essa segurança apenas nas senhas de usuários.
Sendo assim um dos pontos fracos do Firebird é não possuir dispositivo para
criptografar dados.
20
d. ATAQUE DE FORÇA BRUTA
No inicio do projeto Interbase, ataques de força bruta não eram considerados
um motivo de alerta, visto que o poder de processamento das máquinas era baixo,
mas atualmente com desktops de alguns Gigahertz, o risco é real.
O Firebird 2.0 inovou das demais versões, devido a preocupação com o
monitoramento do número de tentativas de conexão que um usuário ou IP tenta
estabelecer em um determinado espaço de tempo. Caso detecte que está em
andamento um ataque de força bruta, o Firebird passa a recusar os pedidos de
conexão desse usuário ou IP por alguns segundos.
e. NÚMERO MAXIMO DE CLIENTES OU CONEXÃO SIMULTÂNEAS
O Firebird, como outros SGBD’s, depende muito do sistema operacional
escolhido, e a limitação do número de conexões simultâneas está totalmente ligada ao
sistema operacional escolhido.
Na versão Classic é necessário para cada conexão iniciada, uma reserva de 2MB
de memória RAM, e se tivermos 250 conexões simultâneas, teremos um consumo de
500MB de memória, estando claramente limitado o número de conexões a
disponibilidade do hardware.
f. INTERFACE PARA ADMINISTRADOR DO BANCO
O Firebird ainda não possui ferramentas nativas para gerenciamento via
interfaces gráficas, possuindo apenas componentes de linha de comando, mas existe
um projeto bem difundido de interface gráfica, de código aberto, em andamento,
denominado FlameRobin, com versões para Windows, Mac OS, FreeBSD, Solaris e
Linux nas distribuições (Debian, Ubuntu, Mandriva) e que deverá fazer parte do pacote
de instalação do Firebird, suprindo essa necessidade.
Esta limitação é sanada naturalmente pelo desenvolvedor, pois existem
inúmeras ferramentas de terceiros, implementadas exclusivamente para o Firebird,
uma das ferramentas mais completas é o IBExpert, ao qual possui uma versão Free
(com algumas limitações) e uma versão shareware completa.
21
8. CONCLUSÃO
Talvez o maior fator limitante na adoção do Firebird [..] frente aos bancos
comerciais não seja a falta de um ou outro recurso, mas sim o medo que algumas
empresas ainda tem na adoção de um software livre. Felizmente, com a popularização
do Linux e de outros softwares abertos em grandes empresas e corporações, assim
como o investimento de gigantes como a IBM em alguns desses softwares, esse medo
tende a deixar de existir em um futuro próximo. (CANTU, 2004, p.22). Assim surgiu o
banco de dados open source, sendo utilizados por diversas empresas nacionais e até
internacionais.
Pela facilidade de configurar o Firebird está sendo o banco de grande
autonomia e com funcionalidades muito interessantes, não só para pequenas
empresas, mais sim para médias e grandes porte. E a cada dia buscando a melhoria das
suas ferramentas.
22
REFERENCIAS
ARAÚJO, Carlos Alberto Pedroso. Programação Cliente/Servidor com Firebird.Florianópolis: Visual Books, 2006.
CANTU, Carlos Henrique. Firebird Essencial. Rio de Janeiro: Editora CiênciaModerna Ltda, 2005.
CANTU, Carlos Henrique. Firebird 2.0 o banco de dados do novo milênio. Riode Janeiro: Editora Ciência Moderna Ltda, 2006.
MECENAS, Ivan. Firebird. SQL magazine, Rio de Janeiro, ano 3, n. 37, 2006
<http://www.devmedia.com.br/post-4838-3--Usando-Stored-Procedures-com-Firebird-e-InterBase.html> Acessado em 21.05.2011
<http://www.firebirdsql.org/refdocs/langrefupd15-udf.html> Acessado em 21.05.2011
<http://www.firebase.com.br/fb/polls.php?resultado=14> Acessado em: 25.05. 2011.
<http://www.ibphoenix.com/downloads/VulcanOverview.pdf>. Acessado em: 23i.05.2011.
23