Beruflich Dokumente
Kultur Dokumente
MONTES CLAROS - MG
2007
I
MONTES CLAROS - MG
2007
II
_________________________________
Prof. Ms. JOÃO BATISTA MENDES
Orientador
_________________________________
Profª. CHRISTINE MARTINS DE MATOS
Avaliadora
_________________________________
Profª. SÔNIA BEATRIZ DE OLIVEIRA E
SILVA MAIA
Avaliadora
MONTES CLAROS – MG
2007
III
AGRADECIMENTOS
RESUMO
SUMÁRIO
1 INTRODUÇÃO ............................................................................................9
2 SISTEMAS GERENCIADORES DE BANCOS DE DADOS (SGBDS) .....11
2.1 SISTEMAS DE BANCO DE DADOS ............................................................................. 11
2.2 POSTGRESQL ......................................................................................................................... 12
2.2.1 Descrição ........................................................................................................12
2.2.2 Histórico..........................................................................................................13
2.2.3 Características................................................................................................14
2.2.4 Arquitetura ......................................................................................................15
2.2.5 Exemplos ........................................................................................................16
2.3 FIREBIRD ................................................................................................................................... 16
2.3.1 Descrição ........................................................................................................16
2.3.2 Histórico..........................................................................................................17
2.3.3 Características................................................................................................17
2.3.4 Arquitetura ......................................................................................................18
2.3.5 Exemplos ........................................................................................................19
3 BENCHMARK...........................................................................................21
3.1 DESCRIÇÃO ............................................................................................................................. 21
3.2 ORIGEM ...................................................................................................................................... 22
3.3 EXEMPLOS ............................................................................................................................... 23
3.3.1 Benchmarks TPC............................................................................................23
3.3.2 Benchmark AS3AP e OSDB ...........................................................................25
4 PHP...........................................................................................................26
4.1 DEFINIÇÃO................................................................................................................................ 26
4.2 HISTÓRICO ............................................................................................................................... 27
4.3 SERVIDOR WEB APACHE................................................................................................ 28
5 TRABALHO DESENVOLVIDO.................................................................30
5.1 DETALHES DO CENÁRIO E CONFIGURAÇÕES ................................................. 30
5.2 BENCHMARK ........................................................................................................................... 31
5.3 STORED PROCEDURE ...................................................................................................... 35
5.3.1 Descrição ........................................................................................................35
6 RESULTADOS..........................................................................................37
VI
LISTA DE FIGURAS
LISTA DE TABELAS
1 INTRODUÇÃO
Um SGBD fornece aos usuários operações para inserir, alterar, excluir, obter
e atualizar dados em um sistema, assegurando a integridade dos dados. Sua
utilização traz inúmeras vantagens como: eficiência no acesso aos dados, redução
do tempo de desenvolvimento de uma aplicação, acesso concorrente e rápido
retorno, além da integridade e segurança dos dados.
2.2 POSTGRESQL
2.2.1 Descrição
2.2.2 Histórico
2.2.3 Características
2.2.4 Arquitetura
2.2.5 Exemplos
2.3 FIREBIRD
2.3.1 Descrição
2.3.2 Histórico
2.3.3 Características
2.3.4 Arquitetura
dados, sendo cada conexão recebida por uma thread e utilizado uma thread
especializada para gerenciar o acesso concorrente aos dados.
Com menos sobrecarga e utilizando menos recursos por conexão de clientes
que a arquitetura Classic, a SuperServer possibilitou ao Firebird servir de modo mais
eficiente um grande número de clientes concorrentes. A configuração Classic é
utilizada em sistemas operacionais que não executam aplicações multi-thread e em
algumas situações específicas indicada para máquinas com mais de um
processador.
Já o modelo Embedded, ou embarcado, é um servidor Firebird completo que
não necessita de instalação. Possibilita criar aplicativos com o Firebird adicionado de
forma transparente, eliminando a alternativa de ter que instalar o Firebird para
acessar a sua base de dados. Essa versão veio facilitar o processo de distribuição
de programas, pois a execução já é suficiente para o acesso ao banco.
No quesito segurança, a arquitetura Embedded não implementa nenhum
mecanismo de autenticação, a senha é ignorada. Ideal para distribuição de
catálogos eletrônicos, programas com acesso a dados não compartilhado e versões
de demonstração.
Portanto, encontramos o servidor Firebird em três versões: Classic Server,
SuperServer (que veio substituir o modelo Classic) e o Embedded, que é uma
solução para os problemas de distribuição do sistema e não uma evolução da
arquitetura visando descartar a anterior, como no caso da Classic e SuperServer.
2.3.5 Exemplos
3 BENCHMARK
3.1 DESCRIÇÃO
3.2 ORIGEM
3.3 EXEMPLOS
4 PHP
4.1 DEFINIÇÃO
4.2 HISTÓRICO
1
http://www.php.net/
28
O ambiente utilizado neste estudo para análise dos SGBDs é composto pelo
servidor Apache interagindo com a linguagem PHP, a qual irá acessar os bancos de
dados, como ilustra a figura 4.1.
5 TRABALHO DESENVOLVIDO
Neste capítulo são descritos o ambiente construído para aplicação dos testes,
a implementação do benchmark e as métricas avaliadas.
5.2 BENCHMARK
1 <?php
2
3 function tempo()
4 {
5 list($usec,$sec)=explode(" ",microtime());
6 return((float)$usec + (float)$sec);
7 }
8
9 $inicio=tempo();
10
11 echo "Aqui são incluídos os pedidos de acesso ao SGBD <br>";
12
13 $fim=tempo();
14
15 $tempoexec=($fim-$inicio);
16
17 echo "<p>Operação realizada em $tempoexec segundos </p>";
18 ?>
Figura 5.2 – Função que Calcula o Tempo de Execução.
$conexao = ibase_connect('localhost:c:/Arquivos de
programas/Firebird/Firebird_1_5/bin/Unimontes.gdb', 'SYSDBA','masterkey');
if($conexao){
echo '<p>Conexão realizada com sucesso!!!</p>';
ibase_close($conexao);
} else {
echo '<p>Falha na conexão.</p>';
}
if($conexao){
echo '<p>Conexão realizada com sucesso!!!</p>';
pg_close($conexao);
} else {
echo '<p>Falha na conexão.</p>';
}
1 $quant=10000;
2 echo "<b>Matrícula - Nome - Controle</b><br>"
3 for($i=0; $i<$quant; $i++){
4 $mat=rand(1,100000);
5 $busca = "SELECT Matricula,Nome,Controle FROM Alunos WHERE
Matricula=$mat";
6 $retorno = ibase_query($conexao,$busca);
7
8 while ($linha = ibase_fetch_row($retorno)){
9 echo "$linha[0] - $linha[1] - $linha[2]<br>";}
10 }
}
Figura 5.5 – Código da Consulta ao Banco de Dados.
5.3.1 Descrição
Uma Stored Procedure (SP) é formada por uma ou mais instruções SQL
agrupadas e armazenadas no SGBD. Para criar uma Stored Procedure são escritos
dois códigos diferentes, um código é a stored procedure que será armazenada no
SGBD e o outro é o aplicativo que fará a chamada da stored procedure definida.
36
6 RESULTADOS
A Tabela 6.1 apresenta o tempo médio que a aplicação leva para realizar a
conexão com cada banco.
O tempo que cada SGBD levou para realizar a seleção de 1.000 registros em
uma base de 10.000 cadastrados e a seleção de 10.000 registros em uma base de
100.000 é mostrado na Tabela 6.3.
REFERÊNCIAS BIBLIOGRÁFICAS
TURBYFILL, C.; ORJI, C.; BITTON, D. “AS3AP: An ANSI SQL Standard Scalable
and Portable Benchmark for Relational Database Systems”. The Benchmark
Handbook for Database and Transaction Processing, Chapter 4. Morgan Kaufman,
1992.