Você está na página 1de 64

RICARDO CZELUSNIAK DA SILVA

BENCHMARK EM BANCO DE DADOS MULTIMDIA:


ANLISE DE DESEMPENHO EM RECUPERAO DE
OBJETOS MULTIMDIA

CURITIBA 2006

RICARDO CZELUSNIAK DA SILVA

BENCHMARK EM BANCO DE DADOS MULTIMDIA:


ANLISE DE DESEMPENHO EM RECUPERAO DE
OBJETOS MULTIMDIA

Dissertao apresentada como requisito


parcial obteno do grau de mestre.
Programa

de

Ps-Graduao

em

Informtica, Setor de Cincias Exatas,


Universidade Federal do Paran.
Orientadora: Dr Maria Salete M. G. Vaz

CURITIBA 2006

AGRADECIMENTOS
Agradeo a Deus, por sempre me dar foras para o alcance de
todos os meus objetivos, inclusive a realizao deste trabalho.
Agradeo tambm minha orientadora e amiga Professora Dra.
Maria Salete Marcon Gomes Vaz, a qual sempre esteve disponvel para
a orientao de toda a minha formao e em especial neste trabalho.
Agradecimento especial minha noiva Yamara Gardingo pela
compreenso da minha ausncia e falta de dedicao durante o
desenvolvimento desse trabalho.
Agradeo tambm a todas as pessoas que contriburam direta e
indiretamente para a realizao deste trabalho.
Meus amigos do mestrado um abrao especial a todos vocs que
sempre estiveram juntos nessa grande etapa de nossa vida.

ii

SUMRIO
LISTA DE FIGURAS.................................................................................................................... iii
LISTA DE QUADROS.................................................................................................................. iv
LISTA DE SIGLAS........................................................................................................................ v
RESUMO...................................................................................................................................... vi
ABSTRACT................................................................................................................................. vii
1. INTRODUO .......................................................................................................................... 1
2. SISTEMAS DE BANCO DE DADOS PARA APLICAES MULTIMDIA ............................. 4
2.1. MULTIMDIA E OS TIPOS DE OBJETOS ......................................................................... 4
2.2. GERENCIAMENTO DE OBJETOS MULTIMDIA ............................................................. 8
2.3. INDEXAO DE OBJETOS MULTIMDIA ATRAVS DE METADADOS ...................... 10
2.4. PESQUISA E RECUPERAO DE OBJETOS MULTIMDIA......................................... 14
2.5. ARMAZENAMENTO DE OBJETOS MULTIMDIA .......................................................... 18
3. BENCHMARK - AVALIAO DE DESEMPENHO EM BANCO DE DADOS ...................... 22
3.1. DEFINIO...................................................................................................................... 22
3.2. METODOLOGIA .............................................................................................................. 24
4. ANLISE DE DESEMPENHO EM RECUPERAO DE OBJETOS MULTIMDIA NO
POSTGRESQL............................................................................................................................ 30
4.1. AMBIENTE EXPERIMENTAL.......................................................................................... 30
4.2. ANLISE DE DESEMPENHO EM RECUPERAO DE IMAGENS .............................. 36
4.2.1. ARMAZENAMENTO POR REFERNCIA EXTERNA ............................................. 36
4.2.2. ARMAZENAMENTO DE DADOS MULTIMDIA NO INTERPRETADOS - CAMPO
BLOB .................................................................................................................................. 39
4.2.3. ARMAZENAMENTO ATRAVS DE OBJETOS....................................................... 43
4.3. ANLISE COMPARATIVA............................................................................................... 45
5. CONCLUSES E TRABALHOS FUTUROS ......................................................................... 50
REFERNCIAS........................................................................................................................... 53

ii

LISTA DE FIGURAS
Figura 1: Distino entre contedo dos objetos...................................................................... 9
Figura 2: Metadados de Objeto Multimdia............................................................................. 11
Figura 3: Recuperao atravs de um identificador. ............................................................ 15
Figura 4: Recuperao atravs de sentenas condicionais................................................. 16
Figura 5: Recuperao por similaridade................................................................................. 16
Figura 6: Arquitetura de recuperao semntica (LOH, WIVES e FRAINER, 1999). ......... 17
Figura 7: Utilizao de check-point. (DEMURJIAN et. al, 1985)............................................ 25
Figura 8: Esquema de dados do TPC-App. ............................................................................ 28
Figura 9: Ambiente da anlise. ................................................................................................ 31
Figura 10: Estrutura check-point em php. .............................................................................. 32
Figura 11: Conexo entre PHP e PostgreSQL........................................................................ 32
Figura 12: Resultados das consultas do Conjunto A com armazenamento de referncia
externa em ambiente mono-usurio ....................................................................................... 37
Figura 13: Resultados das consultas do Conjunto B com armazenamento de referncia
externa em ambiente mono-usurio ....................................................................................... 38
Figura 14: Resultados da consulta 4A e 4B com armazenamento atravs de referncia
externa em ambiente multi-usurio......................................................................................... 38
Figura 15: Insero de imagem no campo bytea escrito em PHP. ...................................... 40
Figura 16: Resultados das consultas do Conjunto A com armazenamento atravs do
campo bytea em ambiente mono-usurio .............................................................................. 40
Figura 17: Resultados das consultas do Conjunto B com armazenamento atravs do
campo bytea em ambiente mono-usurio .............................................................................. 41
Figura 18: Resultados da consulta 4A com armazenamento atravs do campo bytea em
ambiente multi-usurio............................................................................................................. 42
Figura 19: Resultados da consulta 4B com armazenamento atravs do campo bytea em
ambiente multi-usurio............................................................................................................. 42
Figura 20: Armazenamento e recuperao de objeto utilizando o campo oid. .................. 43
Figura 21: Resultados das consultas do Conjunto A com armazenamento atravs do
campo oid em ambiente mono-usurio .................................................................................. 44
Figura 22: Resultados das consultas do Conjunto B com armazenamento atravs do
campo oid em ambiente mono-usurio .................................................................................. 45

iii

LISTA DE QUADROS
Quadro 1: Comparativo entre as formas de armazenamento............................................... 20
Quadro 2: Grupos de consultas definidos por BORAL e DEWITT, (1984). ......................... 26
Quadro 3: Consultas representativas de cada grupo ........................................................... 26
Quadro 4: Grau de povoamento das tabelas.......................................................................... 33
Quadro 5: Consultas para anlise ........................................................................................... 35
Quadro 6: Comparao entre os mtodos de armazenamento no Conjunto A de
consultas em ambiente mono-usurio ................................................................................... 46
Quadro 7: Comparao entre os mtodos de armazenamento no Conjunto B de
consultas em ambiente mono-usurio ................................................................................... 47
Quadro 8: Comparao entre os mtodos de armazenamento com a Consulta 4A em
ambiente multi-usurio............................................................................................................. 48
Quadro 9: Comparao entre os mtodos de armazenamento com a Consulta 4B em
ambiente multi-usurio............................................................................................................. 48
Quadro 10: Proposta de uso dos mtodos de armazenamento em PostgreSQL............... 51

iv

LISTA DE SIGLAS
BLOB

Binary Large OBject

BMP

Bitmap

CDROM

Compact Disc Read Only Memory

DDL

Data Definition Language

FGDC

Federal Geographic Data Committee

GIF

Graphics Interchange Format

JPG

Joint Photographic Experts Group

MPEG

Motion Picture Expert Group

OLTP

On-Line Transaction Processing

RAM

Random Access Memory

SGBDM

Sistema Gerenciador de Banco de Dados Multimidia

SGBD

Sistema Gerenciador de Banco de Dados

SOAP

Simple Object Access Protocol

SQL

Structured Query Language

SUB

System Under Benchmark

TPC

Transaction Processing Performance Council

XML

Extensible Markup Language

RESUMO
As aplicaes multimdia, que necessitam de gerenciamento de objetos,
fizeram com que o desempenho, nos Sistemas Gerenciadores de Banco de
Dados - SGBDs, assumisse um papel importante para o funcionamento correto
dessas aplicaes. Assim esse trabalho apresenta uma avaliao no
desempenho dos mtodos de recuperao dos objetos multimdia, em uma
base de dados com dez mil objetos cadastrados, onde cada um dos objetos
possui 600 kilobytes de tamanho. Para essa avaliao foram utilizados trs
mtodos possveis no SGBD PostgreSQL, o mtodo de referncia externa,
armazenamento por dados no interpretados (bytea) e por objetos (oid). A
avaliao foi realizada com quatro consultas distintas e em dois ambientes
diferentes, mono-usurio e multi-usurio. Os resultados dessa avaliao
mostraram que o desempenho nos mtodos de armazenamento, os quais
guardam os objetos dentro da base de dados, no foram satisfatrios. O tempo
de resposta de um dos mtodos foi de 3,5 minutos, em um ambiente monousurio. Alm desse resultado, concluiu-se tambm que o armazenamento
atravs de objeto, com campo de identificao de objeto, possui o pior tempo
de recuperao para vrios objetos, entre os mtodos comparados.

vi

ABSTRACT
The multimedia applications, which require object management, made the
performance in the Databases Management Systems (DMS) take a relevant
role for the correct functioning of such applications. Thus, this work presents an
evaluation of the retrieval methods for multimedia objects performance, in a
databases comprising 10,000 objects, in which each object is 600kb. Three
possible methods were used in SGBD PostgreSQL for this evaluation, the
external reference method, non-interpreted data storage (bytea) and objects
(oid). Four distinct queries were carried out in two different environments, mono
and multi-user. The results of this evaluation showed that the performance of
storage methods that keep objects within the databases was not satisfactory.
One of these methods response time was 3,5 minutes, in a mono-user
environment. Besides this result, it was also concluded that the storage through
object, with object identification field, presents the worst retrieval time for
several objects, considered the methods compared.

vii

1. INTRODUO

Com a quantidade de objetos multimdia crescendo na maioria das


aplicaes, uma das questes importantes a ser tratada o mtodo de
gerenciamento desses objetos. Para isso, a utilizao dos Sistemas
Gerenciadores de Banco de Dados (SGBDs) para armazenar e gerenciar tais
objetos crucial. Para possibilitar o armazenamento e gerenciamento dos
objetos multimdia em SGBDs, so utilizadas quatro formas distintas, cada qual
com caractersticas e utilizaes distintas.
Essas

formas

de

armazenamento

so

classificadas

como,

armazenamento por referncia, armazenamento por dados no interpretados,


armazenamento atravs de funes externas e armazenamento atravs de
orientao a objetos. (VAZ, 2000; FRANA, 2005)
A primeira forma armazena apenas a localizao do objeto multimdia
no sistema operacional dentro do campo destinado a imagem, a segunda forma
armazena os objetos em forma de uma cadeia binria, a terceira forma utiliza
funes externas aos SGBDs para prover o armazenamento, e a quarta forma
permite a criao de tipos de objetos e utilizao de herana entre os mesmos.
Com a utilizao dos SGBDs em aplicaes multimdia, eles passaram a
ser os principais fatores para o desempenho das mesmas. Um bom
desempenho na recuperao dos objetos multimdia influi diretamente no
desempenho da aplicao, pois os Sistemas Gerenciadores de Banco de
Dados podem retardar o retorno dos objetos multimdia para a aplicao,
proporcionando assim uma demora geral no sistema.
Devido ao desempenho proporcionado pelos SGBDs, nas buscas de
objetos multimdia, influenciar diretamente nas aplicaes que o utilizam, faz-se
necessrio conhecer o impacto de cada um dos tipos de armazenamento
durante a consulta dos objetos. Para isso se faz necessria a realizao de
avaliaes de desempenho sobre os mesmos.
Para avaliar o desempenho dos sistemas informatizados pode-se utilizar
estruturas de Benchmark, as quais so utilizadas para fornecer padres e

metodologias de avaliao, mantendo toda a anlise dentro das mesmas


caractersticas. (VIEIRA, DURES e MADEIRA, 2005)
Tendo em vista o exposto, essa dissertao possui como objetivo geral a
avaliao do desempenho dos principais mtodos de armazenamento de
objetos multimdia, com base em Benchmarks descritos na literatura. Essa
avaliao teve como estudo de caso no SGBD PostgreSQL (POSTGRESQL,
2005), o qual receber uma base de dados com oito tabelas sendo que uma
delas possui dez mil imagens cadastradas com 600 kilobytes cada uma.
A avaliao ser composta por quatro consultas, onde na primeira foi
recuperado um dentre os dez mil objetos, na segunda foram recuperados cem
objetos dentre dez mil, na terceira um objeto foi recuperado atravs de junes
entre tabelas e a quarta consulta foi recuperado vinte dentre dez mil objetos
cadastrados. A quarta consulta foi criada para simular os sistemas de vendas
eletrnicas que exibem seus produtos de vinte em vinte.
Essas consultas foram aplicadas em dois ambientes distintos, o primeiro
ambiente foi o mono-usurio onde apenas um usurio consulta o SGBD, o
segundo ambiente foi o multi-usurio onde trinta usurios realizaram ao mesmo
tempo as consultas no SGBD.
Com a realizao dessa anlise pretendeu-se conhecer a influncia no
desempenho das consultas de cada uma das formas de armazenamento de
objetos multimdia disponibilizadas pelo PostgreSQL. Atravs desses dados
pode-se indicar quando cada uma das formas de armazenamento deve ser
utilizada, alm de apontar possveis problemas de desempenho com a
utilizao de alguma delas. Assim, pode-se tambm, abrir precedente, para
uma reestruturao da implementao das formas de armazenamento pelo
SGBD PostgreSQL.
Para apresentar esta anlise, esta dissertao foi estruturada como
segue. Alm deste captulo inicial tm-se mais quatro captulos. No Captulo 2
conceituado o termo mdia, apresentando seus principais componentes, alm
de abordar os principais conceitos utilizados em banco de dados multimdia e
as formas de armazenamento dos mesmos. No Captulo 3 definido o conceito
de benchmark, alm de ser exposto as metodologias, encontradas na literatura,

utilizadas pelos benchmarks inerentes a avaliao de SGBD. No Captulo 4


apresentada a avaliao de recuperao de objetos multimdia realizada no
PostgreSQL. No Captulo 5 so apresentadas as concluses e perspectivas de
trabalhos futuros.

2. SISTEMAS DE BANCO DE DADOS PARA APLICAES MULTIMDIA


A

crescente

informatizados,

fez

utilizao
com

que

de

objetos

surgisse

multimdia,

em

sistemas

necessidade

dos

Sistemas

Gerenciadores de Banco de Dados (SGBDs) em tratar tais objetos. Sendo


assim, tcnicas de indexao e armazenamento so utilizadas para possibilitar
um melhor aproveitamento dos SGBDs, no tratamento de objetos multimdia.
A indexao dos objetos multimdia resume-se em descrev-los antes do
armazenamento, onde as caractersticas necessrias para se obter sua
descrio, em um determinado contexto, so atribudas ao mesmo. Atravs
dessa descrio, indexao, atribuda ao objeto que so baseadas as
consultas dos mesmos.
As formas de armazenamento dos objetos multimdia nos SGBDs
influenciam diretamente nas condies de pesquisas permitidas e no
desempenho das mesmas. Assim, faz-se necessrio esclarecer suas
caractersticas e possibilidades de pesquisa.
Para descrever as tcnicas e mtodos usados nos SGBDs para
aplicaes multimdia, esse captulo est dividido como segue. Na Seo 2.1
so expostos os conceitos e caractersticas de objetos multimdia. Na Seo
2.2 so abordadas as formas de gerenciamento desses objetos. Na Seo 2.3
so apresentados o conceito de metadados e a indexao dos objetos atravs
dos mesmos. Na Seo 2.4 so expostos os tipos de pesquisa e recuperao
dos objetos multimdia, com suas respectivas caractersticas. Na Seo 2.5 so
apresentadas as formas de armazenamento dos objetos nos SGBDs.

2.1. MULTIMDIA E OS TIPOS DE OBJETOS


O termo multimdia est amplamente difundido e empregado em
diversas tecnologias, como sistemas, jogos eletrnicos, hardwares de
computadores, entre outros que processam, armazenam e ou exibem mdias
eletrnicas.
De acordo com CHRISTEL, M. citado por JAIMES et al (2005),
multimdia pode ser definida como sendo a combinao de diferentes tipos de

mdia, tais como texto, imagens, vdeo, animao e som, dentro de uma
aplicao que resultar em uma forma de comunicao. Como, por exemplo,
um comercial de televiso, onde esto presentes os mais diversos tipos de
mdias.
MA, W. citado por JAIMES et al (2005) define texto, imagem e udio
como sendo tipos de mdia e as animaes e vdeos como sendo objetos
multimdia, pois esses renem mais de um tipo de mdia. Com isso, considera
pginas na internet como sendo objetos multimdia, j que apresentam textos,
imagens, sons e animaes.
O termo mdia possui alguns significados, os quais so descritos a
seguir:

(VAZ

apud,

STEINMETZ,

2000)

(ZDEN,

RASTOGI

SILBERSCHATZ, 1997)


Mdia de Percepo: Esse tipo de mdia refere-se ao formato na


qual a informao apresentada para seus observadores. A
imagem, o som e o texto so exemplos desse tipo de mdia.
Essas mdias podem ser divididas em contnuas e no contnuas.
As contnuas so dependentes do tempo. O som e o vdeo so
classificados

como

contnuas.

As

mdias

no

contnuas

independem do tempo. A imagem classificada como uma mdia


de percepo no contnua. No decorrer dessa dissertao as
mdias de percepo tambm sero tratadas como objetos
multimdia.


Mdia de Representao: Esse tipo de mdia refere-se ao formato


em que elas so representadas computacionalmente. A mdia de
percepo imagem pode ser representada nos formatos GIF,
JPEG, BMP, entre outros.

Mdia de Apresentao: Esse tipo de mdia abrange os


dispositivos que promovem a entrada e sadas de dados. Os
monitores, caixas de som e impressoras, os quais promovem a
sada de dados e informao, e os teclados, mouse e scanners,
que promovem a entrada de dados, so mdias de apresentao.

Mdia de Armazenamento: Esse tipo de mdia abrange os


dispositivos que promovem o armazenamento de dados. As fitas,
discos

rgidos

CDROM

so

algumas

das

mdias

de

armazenamento.


Mdia de Transmisso: Esse tipo de mdia refere-se aos meios


fsicos de transmisso de dados. As redes de computadores so
consideradas mdias de transmisso.

Em relao s mdias de percepo, essas possuem diversos formatos


de dados. Na seqncia, sero abordados os principais formatos (CERVI,
SILVA e PAVAN, 2005):


Texto: Caracteriza-se por ser a mdia mais utilizada para


interao entre sistemas informatizados e os usurios. Essa mdia
representada por uma cadeia de caracteres. Quando utilizada
com outros tipos de mdia podem tornar-se descritores das
mesmas.

Grfico: Caracteriza-se por representar desenhos, a partir de


outros dados e/ou informaes. O grfico formado por linhas,
curvas, crculos, retngulos, entre outros. Tambm possui
atributos que definem cor, textura, entre outras caractersticas.

Imagem: Corresponde a desenho ou fotografia que est


codificada em forma de bitmap (mapa de bits). O mapa de bits
uma matriz de n x m, onde cada clula (pixel) possui um valor
para descrever seu contedo. As imagens so qualificadas de
acordo com sua resoluo, que a quantidade de pixel em uma
polegada quadrada (dpi). Quando uma imagem possui resoluo
de 300 dpi, significa que essa imagem possui 300 pixel em uma
polegada quadrada. Com o intuito de diminuir o tamanho fsico
ocupado pelas imagens gravadas em disco, foram criados
mtodos

de

matemticos

compactao.
que

procuram

Esses
reduzir

mtodos
o

so

nmero

armazenados, sem alterar suas caractersticas.

clculos

de

pixels

udio: um dado registrado a partir de vibraes do ar em uma


cadeia de bits de maneira digitalizada. Os microfones so os
responsveis por captar essas vibraes e transform-las em
sinais eltricos. Esses sinais podem sem enviados, por exemplo,
para os computadores, onde so convertidos em uma cadeia de
bits, formando assim o udio digital. O udio pode ser classificado
em estruturado, onde caracterizado por uma seqncia de
dados de udio juntamente com seus atributos de notas, tom,
durao, entre outras caractersticas.

Animao:

So

seqncias

de

imagens

e/ou

desenhos

disponibilizados em um espao temporal, as quais podem ou no


utilizar udio.


Vdeo: Um conjunto de dados fotogrficos disponibilizados em um


espao temporal. Os dados fotogrficos so chamados de frames,
que so imagens estticas. No movimento de vdeo, frames so
exibidos em um espao de tempo. Dependendo do tipo de vdeo,
em um segundo podem ser exibidos 33 frames.

A multimdia alterou a maneira como os problemas e questes so


expostos e interpretados. Isso ocorreu, devido riqueza de informao quando
utilizados textos, imagens e animaes nas aplicaes, tornando-as mais
atrativas quando comparada com as que apresentam apenas um tipo de mdia.
A expanso da multimdia deve-se ao avano tecnolgico que
proporcionou um ambiente favorvel para sua utilizao. A criao de redes de
alta velocidade, mdias de armazenamento de alta capacidade, compresses
nas mdias de percepo, computadores pessoais com boa capacidade de
processamento e armazenamento, alm de ferramentas para manipulao dos
mais diversos tipos de mdia so alguns dos avanos. Assim, diversas reas
utilizam a multimdia como forma de melhorar a apresentao da informao ao
seu usurio final.
Na educao, freqente a utilizao da multimdia na criao de
materiais didticos. Esses materiais vo desde fitas de vdeos e udios at
sistemas de educao distncia. Esses sistemas tm com uma das

funcionalidades repassar as informaes de forma clara e objetiva aos


usurios, tornando o ambiente interessante e atrativo. Assim, destaca-se o uso
diversos objetos multimdia na construo de aulas, materiais didticos,
exerccios e provas. (SILVA, 2004).
Na medicina, existem sistemas que cadastram simultaneamente dados
convencionais, como nome e endereo (entre outros) dos pacientes e dados
no convencionais, como imagens de raios-X, vdeos de cirurgias, resultados
de exames. Com isso aumenta-se o detalhamento da informao sobre os
pacientes, facilitando diagnsticos e futuras intervenes mdicas.
Outra rea que merece destaque na utilizao da multimdia o
comrcio eletrnico, o qual realizado atravs da internet. Cada produto
possui vrias imagens, dos mais diversos ngulos, com o objetivo de atrair o
comprador para suas principais caractersticas fsicas. O tamanho, a cor e o
formato so algumas dessas caractersticas.
Com a crescente utilizao dessas aplicaes que fazem uso de objetos
multimdia, um dos fatores importantes o uso de banco de dados multimdia.
O uso desses bancos de dados to inerente em algumas aplicaes
multimdia, como por exemplo, em sistemas imobilirios, quanto os bancos de
dados convencionais em aplicaes de cadastros de funcionrios. Isso se deve
necessidade de se manter a consistncia e a integridade dos objetos
multimdia durante toda a existncia das aplicaes. Necessidade essa que
aumenta com a utilizao de sistemas que realizam com freqncia as
operaes de excluso, insero e edio de objetos multimdia.

2.2. GERENCIAMENTO DE OBJETOS MULTIMDIA


Os sistemas de bancos de dados para aplicaes multimdia possuem
as mesmas caractersticas dos Sistemas Gerenciadores de Banco de Dados
(SGBD) no convencionais. Devido s diferenas encontradas entre os objetos
multimdia, os sistemas gerenciadores devem possuir mais capacidade do que
quando gerenciam dados convencionais. (GHAFOOR, 1995)
Duas principais caractersticas dos Sistemas de Banco de Dados para
aplicaes Multimdia (SGBDM) so expostas a seguir: (FRANA, 2005)

1. Prover consultas baseadas em contedo dos objetos.


2. Gerenciar dados contnuos, como udio e vdeo, que possuem o
fator tempo, o qual resulta na necessidade de gerenciar o
sincronismo.
Nas consultas baseadas no contedo dos objetos, o sistema dever ser
capaz de fazer a distino entre as caractersticas dos objetos. Ao solicitar ao
sistema de banco de dados, a(s) imagem(s) de pessoa(s) em Paris, o mesmo
deve ser capaz de distinguir o contedo das imagens como observado na
Figura 1.

Figura 1: Distino entre contedo dos objetos.

Na Figura 1 (a) observada a Torre Eiffel, a qual significa que uma


imagem de Paris e tambm h uma pessoa, satisfazendo aos dois critrios da
consulta. Ou seja, o fato de ser imagem de Paris e existir uma pessoa na
mesma.
Na Figura 1 (b) so encontradas pessoas, mas ao invs de se encontrar
alguma referncia sobre Paris encontrado o Po de Acar, na Cidade do Rio
de Janeiro. Essa imagem descartada, pois no satisfaz os critrios da
consulta.
No gerenciamento de dados contnuos deve-se levar em considerao
que os objetos sero, alm de encontrados, disponibilizados medida que

10

forem recuperados. Com isso, o sincronismo de recuperao e de exibio dos


mesmos deve ser feito, tornando a visualizao dos dados em tempo real.
O sincronismo da mdia de dados contnuos torna-se relevante devido a
sua exibio ser baseada na quantidade de quadros (frames) por segundo. O
sistema deve recuperar os quadros armazenados com a mesma velocidade
necessria para exibio. (ZDEN, RASTOGI e SILBERSCHATZ, 1997)
ZDEN, RASTOGI e SILBERSCHATZ (1997) apontam ainda, a
necessidade de os SGBDM possurem capacidade para armazenar grandes
quantidades de dados complexos. Um objeto de vdeo, por exemplo, com uma
hora e quarenta minutos de durao e com compresso em MPEG-I, pode
requerer 1.25 gigabytes de espao.

2.3. INDEXAO DE OBJETOS MULTIMDIA ATRAVS DE METADADOS


Segundo VAZ (2000), A indexao permite identificar e representar o
contedo ou o assunto de um documento de forma a caracteriz-lo. Um
documento deve ser indexado tendo-se em mente no apenas o seu
armazenamento, mas principalmente sua futura busca e recuperao.
Sendo assim, a indexao tende a ser um dos requisitos para a
pesquisa e recuperao da informao multimdia. Visando a estruturao
durante a indexao de objetos multimdia pode ser utilizado o conceito de
metadados (MILSTEAD,1999; VAZ,2000), como sendo dados que descrevem
outros dados, os quais podem ser utilizados como atributos para descrever
diversos tipos de dados.
Os metadados, quando associados aos objetos so considerados
descritores dos mesmos, pois aumentam o conhecimento sobre seu contedo
e suas caractersticas. (MILSTEAD,1999).

11

Figura 2: Metadados de Objeto Multimdia

A Figura 2 exemplifica a utilizao de metadados para a indexao de


objetos multimdia. Para cada tipo de metadados, valores condizentes com a
imagem so atribudos. Os metadados podem descrever caractersticas
semnticas dos objetos como, por exemplo, o tipo de metadados pas, que
descreve o pas que a foto est representando.
Os

metadados

tambm

podem

descrever

caractersticas

no

semnticas, que so as caractersticas que no podem ser extradas ao


observar o objeto, como por exemplo, a data de criao.
Os metadados podem ser classificados em vrios tipos, de acordo com
sua finalidade de descrio. A seguir so descritos alguns tipos (NISO, 2004;
VAZ, apud BHMS, 2000):
Tipos gerais de metadados:


Metadados descritivos: so os metadados que vo descrever o


prprio objeto, procurando identific-lo da melhor maneira
possvel.

Os

metadados

observados

na

Figura

so

considerados descritivos.


Metadados estruturais: esses metadados definem a relao entre


os objetos e/ou a relao entre os metadados. Os metadados que
determinam quais objetos fazem parte de um objeto composto, e
os metadados que determinam quais metadados podem ser
usados a um determinado objeto, so exemplos de metadados
estruturais.

Metadados administrativos: so os metadados que auxiliam na


administrao do sistema como um todo, pois so eles que
determinam quando e como os metadados e objetos estaro

12

disponveis. Os metadados que determinam quais so os tipos


de usurios que possuem permisso a um determinado objeto
multimdia, so exemplos de metadados administrativos.
Tipos de metadados voltados para objetos multimdia:


Metadados

para

representao

de

tipos

de

mdia:

So

responsveis por descrever as necessidades tcnicas para a


representao dos objetos multimdia. As mdias de um mesmo
grupo, em geral, possuem vrias maneiras de serem digitalizadas
e posteriormente armazenadas. As mdias do tipo imagem podem
necessitar de diferentes algoritmos para sua representao,
dependendo do formato de compresso que foi utilizado no
momento

da

digitalizao.

Esses

metadados

fornecem

informaes suficientes para que o objeto armazenado seja


tratado de forma correta no momento de sua exibio. Os
metadados que armazenam os plugins necessrios para a
exibio

das

mdias,

so

exemplos

de

metadados

para

representao de tipos de mdia.




Metadados para classificao de contedo: So responsveis


pelo fornecimento de uma classificao do objeto de acordo com
seu contedo. Essa classificao vai depender dos objetivos e
regras implementados pelo sistema. Como por exemplo, em
imagens de estrelas obtidas atravs de telescpios, onde os
metadados de classificao poderiam ser o tipo de telescpio
utilizado, o tipo da lente utilizada, entre outros atributos que
classificam as imagens de acordo com as ferramentas utilizadas.

Metadados para composio de documentos: So utilizados para


prover um relacionamento entre os objetos multimdia utilizados
na composio de um documento. Alguns documentos multimdia
como pginas de internet so compostos por diversas mdias, as
quais podem estar presentes em mais de uma pgina. Esses
metadados promovem um conhecimento da interligao das
mdias e dos documentos.

13

O uso de metadados na indexao de objetos multimdia facilita a


organizao dos objetos, a pesquisa de informaes relevantes e a
interoperabilidade entre sistemas. Alm disso, eles podem promover uma
identificao digital no objeto, pois muitos padres de metadados possuem
identificadores nicos para cada um dos seus objetos. (NISO, 2004)
Apesar das facilidades, existem cuidados que devem ser empregados
quando se gerencia o uso de metadados. O vocabulrio utilizado na atribuio
de valores aos metadados um dos pontos que se deve observar, pois os
usurios no momento da atribuio desses valores podem utilizar grias
regionais, bem como cometer erros de grafia, o que compromete a pesquisa e
recuperao dos objetos. Sendo assim, quando necessrio deve-se usar
vocabulrio controlado para garantir a padronizao dos valores.
Nem todos os metadados necessitam usar vocabulrio controlado, pois
a abrangncia de valores pode ser indefinida, sendo invivel a construo do
vocabulrio. O tipo de metadados ttulo, que pode descrever o ttulo de livros
digitalizados, um tipo que no necessita de vocabulrio controlado.
Para organizar e gerenciar o uso dos metadados e homogeneizar as
descries de objetos em sistemas de banco de dados para as aplicaes, que
possuem o mesmo propsito ao armazenar as mdias, utilizam-se os padres
de metadados.
Esses padres so conjuntos de metadados organizados com o intuito
de descrever um escopo especfico de dados. De acordo com NISO (2004),
padres de metadados identificam um conjunto de descries dos objetos
atravs de uma estrutura bem definida, a qual composta por regras e
vocabulrios controlados.
Atualmente, existem diversos padres de metadados utilizados em
diferentes recursos, como por exemplo, o Padro FGDC (Federal Geographic
Data Committee) (FGDC, 2005) que utilizado para descrever objetos geoespaciais e o Padro Dublin Core (DCMI, 2005) que considerado um padro
abrangente, pois possui metadados que podem descrever as caractersticas
bsicas de vrios tipos de objetos.

14

O processo de indexao dos objetos multimdia, atravs de metadados,


seja organizado conforme padres ou no, pode ser realizado de duas formas:
manual ou automtica.
Na forma manual, a indexao se limita aos conhecimentos do usurio,
ou seja, os valores dos metadados so atribudos de acordo com o conceito
que o usurio tem sobre o objeto. Essa forma de indexao pode gerar
metadados com valores inconsistentes, pois a escolha do valor que
representar o tipo de metadados depende dos critrios de interpretao que
os usurios desenvolvem sobre os objetos, que nem sempre sero os mesmos
entre os usurios.
A forma automtica consiste em algoritmos que extraem dos objetos
informaes como resoluo de imagem, freqncia do som, entre outras. Na
utilizao da forma automtica necessria grande capacidade de
processamento, devido complexidade imposta pelos algoritmos de extrao
de caractersticas, ou seja, os valores dos metadados.
Outro ponto de relevante valor a necessidade de padronizao de
extrao de caractersticas entre os diversos tipos de mdias, a qual permite
que todas as mdias tenham o mesmo critrio de indexao.

2.4. PESQUISA E RECUPERAO DE OBJETOS MULTIMDIA


Em sistemas de banco de dados multimdia, a pesquisa e a recuperao
de objetos so discutidas na literatura, posto que os objetos possuem mais
caractersticas do que pode se representar atravs de atributos. De acordo com
ZDEN, RASTOGI e SILBERSCHATZ (1997), muitos sistemas necessitam que
a pesquisa e a recuperao sejam realizadas baseando-se no contedo das
mdias, devido riqueza de caractersticas que ele possui quando comparado
com seus atributos.
Entretanto,

diversos

sistemas

comerciais

promovem

de

forma

satisfatria a pesquisa e recuperao das mdias atravs de seus metadados.


O sistema WEB da Corbis (CORBIS, 2005), que disponibiliza uma base de
dados de imagens, um exemplo desse tipo de pesquisa.

15

Dentre os diversos tipos de pesquisas de objetos multimdias destacamse quatro mtodos: (VAZ, 2000)
1. Recuperao atravs de um identificador
2. Recuperao por sentenas condicionais
3. Recuperao por similaridade
4. Recuperao semntica
No primeiro tipo o objeto recuperado atravs de um identificador que
geralmente o ndice da tabela a qual o objeto pertence. Nessa recuperao, o
usurio ou o sistema j conhece o valor do identificador do objeto, como mostra
a Figura 3.

Figura 3: Recuperao atravs de um identificador.

Na Figura 3, o usurio ou o sistema solicita ao banco de dados o objeto


cuja referncia 2346 e o obtm em uma localizao direta por ndices. Esse
mtodo de recuperao favorecido pela utilizao dos ndices, os quais
permitem localizar o objeto desejado examinando apenas um pequeno
conjunto dos registros. (GARCIA-MOLINA, ULLMAN e WIDOM, 2001)
No segundo tipo os objetos a serem recuperados precisam obedecer s
regras condicionais impostas na consulta. Essas regras podem variar desde
pequenas operaes lgicas como igualdade, at condies de joins entre
tabelas.

16

Figura 4: Recuperao atravs de sentenas condicionais.

A Figura 4 esboa um usurio ou sistema solicitando um objeto atravs


de uma consulta que ser recuperada de acordo com a sentena condicional
tipo = imagem e autor = Pedro. Com isso, o nico objeto que satisfaz essa
condio de pesquisa o objeto com referncia 1235, sendo o objeto retorno
da consulta.
No terceiro tipo a pesquisa tambm pode ser realizada atravs de
comparaes com sentenas condicionais, entretanto nem todas as sentenas
devem ser satisfeitas. O que define quais objetos sero recuperados na
pesquisa o grau de similaridade imposto para a consulta. Os objetos que
apresentarem similaridade igual ou superior ao objeto especificado so
retornados.

Figura 5: Recuperao por similaridade.

A Figura 5 representa uma pesquisa por similaridade levando em


considerao um objeto como entrada.
Nesse caso, o usurio fornece uma imagem como critrio de pesquisa e,
baseado em um grau de similaridade, os objetos da base de dados sero
escolhidos ou no, para fazer parte do resultado.

17

Na recuperao semntica os objetos so recuperados atravs de


conceitos e no por dados colocados em expresses condicionais. Essa forma
de recuperao tende a possuir um melhor nvel de abstrao uma vez que os
objetos sero recuperados pela sua representao semntica.

Figura 6: Arquitetura de recuperao semntica (LOH, WIVES e FRAINER, 1999).

A Figura 6 demonstra uma arquitetura de recuperao semntica para


objetos da internet (LOH, WIVES e FRAINER, 1999), onde o usurio faz a
requisio dos objetos, atravs de frases ou diretamente pelos conceitos.
O funcionamento dessa arquitetura inicia-se com a ferramenta de
recuperao procurando, na base de contextos, as peculiaridades de cada
palavra fornecida pelo usurio.
Em seguida realizada uma pesquisa na internet com base em todos os
conceitos identificados, os objetos encontrados nas pesquisas so comparados
com os conceitos identificados atravs de operadores de conjunes e
disjunes dos elementos. Aps a comparao, os documentos so ordenados
de acordo com seu grau de relevncia e entregues ao usurio.
Os dois primeiros tipos, ou seja, recuperao atravs de um identificador
e recuperao por sentenas condicionais, so tipos de recuperao capazes
de serem implementados com o auxilio de metadados.
No primeiro tipo o objeto pode possuir um tipo de metadados que seu
identificador nico, nesse caso o usurio entrar com o valor desse tipo e ser
recuperado o objeto que possuir exatamente esse valor.

18

No segundo mtodo, o usurio escolhe os valores para os diversos


metadados que descrevem os objetos e especifica a condio existente entre
eles. A recuperao se d pela satisfao da condio imposta aos valores de
cada tipo de metadados escolhido.
Os outros dois tipos de pesquisas so realizados atravs de algoritmos
mais complexos, no dependendo apenas de comparaes de valores de
metadados.

2.5. ARMAZENAMENTO DE OBJETOS MULTIMDIA


Manter a consistncia e integridade dos dados em um SGBD um dos
princpios fundamentais para um resultado satisfatrio durante a pesquisa e/ou
recuperao. A maneira e a estrutura como os dados so armazenados no
banco de dados influencia na consistncia e integridade dos dados.
Em relao aos objetos multimdia isso se torna ainda mais relevante,
tendo em vista que esses dados possuem grandes quantidades de bytes,
podendo chegar a ter vrios gigabytes de tamanho.
Devido a essas caractersticas, os SGBDs possuem diferentes formas
de armazenar dados multimdia, assim como todos os tipos de dados no
convencionais. A seguir so abordados esses mecanismos de armazenamento
(VAZ, 2000;FRANA, 2005):


Referncias externas: Nessa forma de armazenamento o banco


de dados possui uma referncia para o arquivo que fica
armazenado externamente a ele. Geralmente metadados fazem a
descrio do objeto e um campo possui o endereo no qual est
armazenado o objeto. Devido ao armazenamento externo, o
banco de dados no possui controle sobre o objeto, com isso ele
no consegue prover consistncia e integridade dos dados.

Armazenamento de dados multimdia no interpretados (campo


BLOB): Essa forma de armazenamento utiliza o campo do banco
de dados com o tipo BLOB para o armazenamento dos objetos
multimdia. Nesse campo os dados so armazenados como uma
seqncia de bytes no interpretados, sendo impossvel extrair as

19

caractersticas semnticas dos objetos, diretamente do campo.


Nesse caso o SGBD se torna apenas um sistema de
armazenamento dos dados, no sendo possvel interpretar a
mdia diretamente no banco de dados. Devido a isso as
aplicaes precisam implementar formas de abstrao dos dados
e tcnicas de exibio. Para as mdias contnuas, o uso desse
campo no permite a capacidade de exibir a mdia, medida que
ela recuperada, sendo necessrio extra-la totalmente para em
seguida iniciar sua exibio. De acordo com GARCIA-MOLINA,
ULLMAN e WIDOM (2001), uma das maneiras de proporcionar a
recuperao,

em

tempo

real

nesse

tipo

de

campo,

implementando uma estrutura de ndice, fazendo com que cada


segundo possua um ndice dentro do BLOB, visto que, nesse tipo
de armazenamento, o SGBD possui controle sobre os objetos
armazenados, o que permite a gesto da consistncia e
integridade dos dados.


Funes externas: As funes externas so usadas para suprir a


falta de recursos para manipular dados multimdia nos SGBDs.
Alguns bancos de dados implementam ou utilizam funes
externas para permitir extenses em linguagens de consulta e
representao de objetos multimdia.

Sistemas orientados a objetos ou relacionais estendidos: Nos


sistemas orientados a objetos o programador pode definir tipos de
dados e referenci-los para as aplicaes, alm da construo
hierrquica de tipos de dados e os relacionamentos entre as
classes. Pela possibilidade de criao de tipos, essa alternativa
de armazenamento mostra-se uma das mais adequadas.
Contanto as mdias contnuas ainda permanecem com o
problema da falta de gerenciamento de acesso em tempo real.

Cada uma das formas de armazenamento expostas anteriormente


possui caractersticas prprias, sendo possvel destacar seus pontos positivos
e negativos.

20

A seguir apresentado o Quadro 1 que mostra um comparativo entre as


formas de armazenamento:
Referncia
Externa

Campos BLOB

Funes Externas

Orientao a
Objetos

Consistncia e
integridade

no

sim

sim

sim

Armazenamento
interno

no

sim

sim

sim

Acesso em
tempo real

sim

no

no

no

Pesquisa
atravs da
semntica

sim

no

no

sim

Quadro 1: Comparativo entre as formas de armazenamento.

A Quadro 1 mostra de forma comparativa as principais caractersticas de


cada uma das formas de armazenamento expostas. A referncia externa a
nica forma que possibilita acesso em tempo real ao objeto multimdia, isso se
deve ao fato do objeto ficar fora do SGBD. Essa caracterstica faz com que
esse tipo de armazenamento seja apropriado para aplicaes que necessitam
disponibilizar os dados dos objetos em partes, de acordo com a necessidade
do usurio. Um exemplo desse tipo de aplicao so as aplicaes baseadas
em stream, as quais vo produzindo os objetos para os usurios a medida que
esse objeto vai sendo lido. A desvantagem de se utilizar esse mtodo que ao
armazenar o objeto multimdia dentro de pastas no sistema operacional e fora
do SGBD, acarreta em alguns problemas como:


Ao realizar backup da base de dados necessrio procurar as


pastas onde esto armazenados os objetos multimdia, e copialas de forma manual, ou implementar uma rotina para realizar
essa cpia.

Ao excluir o registro da base de dados que contenha a referncia


para o objeto multimdia, no exclui automaticamente o objeto.

Quando vrias pessoas acessam o servidor onde se encontra o


SGBD,

aumenta

grau

armazenados nas pastas.

de

vulnerabilidade

dos

objetos

21

Com base nesses problemas, a referncia externa considerada uma


forma de armazenamento inconsistente, onde registros podem referenciar
objetos inexistentes e objetos podem estar sem registros que os referencie.
Os

armazenamentos

por

BLOB

funes

externas

possuem

aparentemente as mesmas caractersticas como mostra a Quadro 1. Esses


dois mtodos armazenam os objetos internamente ao SGBD, o que garante a
integridade dos dados e neutraliza os problemas apresentados no mtodo da
referncia externa. Entretanto, devido ao tipo do campo utilizado para realizar o
armazenamento, s possvel ler o objeto e suas caractersticas semnticas
quando ele estiver totalmente recuperado do SGBD, o que impossibilita o
acesso em tempo real ao objeto.
Esses dois tipos de armazenamento podem ser utilizados em aplicaes
que no exigem acesso aos objetos em tempo real, e nas aplicaes que
utilizam metadados para indexar os objetos, pois com metadados, no
preciso ler o objeto para descobrir suas caractersticas.
O armazenamento de objetos multimdia atravs da orientao a objetos
em geral possui as mesmas caractersticas dos dois ltimos mtodos
abordados. No entanto, essas caractersticas dependem da maneira como o
SGBD trata a orientao a objeto, onde pode variar principalmente sua
caracterstica de disponibilizar a semntica dos objetos dentro do prprio
SGBD.
Alm das caractersticas abordadas, os mtodos de armazenamento
possuem diferenas em relao ao desempenho, quando consultas que
buscam objetos multimdia so executadas. Dessa forma, o Captulo 3
apresenta a definio e as metodologias para a realizao da anlise de
desempenho em banco de dados, para possibilitar no Captulo 4, a construo
de uma anlise de desempenho nas formas de armazenamento.

3. BENCHMARK - AVALIAO DE DESEMPENHO EM BANCO DE DADOS


3.1. DEFINIO
As avaliaes em sistemas informatizados so realizadas com a
utilizao de benchmarks (VIEIRA, DURES e MADEIRA, 2005), os quais
proporcionam padres na avaliao de desempenho de sistemas. VIEIRA,
DURES e MADEIRA consideram que os benchmarks devem possuir as
seguintes caractersticas para serem considerados vlidos.


Representatividade: os benchmarks devem representar sistemas


reais, ou seja, no devem ser aplicados em sistemas simulados.

Portabilidade: os benchmarks devem ser portveis para diferentes


plataformas,

proporcionando

assim,

comparativos

de

desempenhos entre diversos distribuidores de sistemas.




Repetibilidade: quando um benchmark aplicado no mesmo


ambiente, mais de uma vez, ele deve produzir resultados
semelhantes.

Escalabilidade: essa caracterstica prev que os benchmarks


realizem avaliaes em ambientes com diferentes capacidades.

No Intrusividade: na necessidade de avaliar outro ambiente


deve-se realizar o mnimo ou nenhuma alterao nesse novo
ambiente.

Simplicidade: os benchmarks devem ser de fcil implementao e


utilizao pelos usurios que faro as avaliaes.

Diversos benchmarks para realizar medidas de desempenho, nos mais


variados sistemas, como servidores WEB, SGBDs, aplicaes grficas, entre
outros foram idealizados e implementados.
O trabalho realizado por VIEIRA, DURES e MADEIRA (2005)
especificam

validam

benchmarks

de

confiabilidade

em

sistemas

transacionais. Entendem-se sistemas transacionais como sistemas que


possuem motor transacional, sendo seu maior representante os sistemas
gerenciadores de banco de dados.

23

Na especificao de um benchmark de confiabilidade so apresentados


os principais componentes que o constituem, os quais so expostos na
seqncia:


Medidas: o componente responsvel por quantificar os


resultados obtidos durante as avaliaes. Elas podem ser
subdivididas em duas classes: condicionais ou incondicionais. As
medidas condicionais demonstram o funcionamento do sistema e
so utilizadas para realizar comparaes entre os ambientes. So
obtidas atravs dos resultados das experincias. As medidas
incondicionais vo representar a confiabilidade global do sistema,
como por exemplo, disponibilidade, integridade, entre outros.

Workload: o responsvel por medir o trabalho do sistema


transacional, ou seja, um sistema que interage com o SGBD
para analisar seu desempenho de trabalho. Esse componente o
que mais se assemelha com o propsito da dissertao, uma vez
o objetivo a avaliao de recuperao de objetos multimdia.

Faultload: componente utilizado quando o benchmark voltado


para confiabilidade de sistemas. Tem como finalidade identificar e
avaliar as causas das falhas apresentadas no sistema, podendo
ser considerado como um dos elementos mais complicados de
serem

identificados,

devido

diversidade

de

elementos

causadores e a complexidade das falhas.




Procedimentos e regras: so variveis dependentes da finalidade


do benchmark, contanto algumas podem ser utilizadas de forma
geral, como as regras para divulgao de resultados finais,
construo e aplicao dos benchmarks de acordo com as
especificaes e igualdade de preciso das medidas nos testes
realizados em diferentes ambientes.

Ambiente experimental: a descrio completa do ambiente e


plataforma necessria para se executar o benchmark.

VIEIRA, DURES e MADEIRA (2005) tambm propem quatro etapas


para especificar um benchmark de confiabilidade, so elas:

24

1. Identificao do domnio da aplicao


2. Caracterizao do SUB (System Under Benchmark)
3. Definio do componente de medida
4. Definio dos outros componentes
A identificao do domnio necessria devido grande quantidade de
sistemas. A definio do domnio das aplicaes que faro parte do benchmark
ir facilitar a deciso de quais componentes o categorizam.
No possvel identificar os componentes que sero utilizados para a
avaliao do sistema sem conhecer seu domnio de aplicao, pois muitos
componentes de avaliao esto ligados diretamente aos mtodos de
funcionamento do sistema.
A segunda etapa caracteriza os componentes do SUB, sendo eles as
caractersticas e funcionalidades esperadas no domnio das aplicaes
definidas na primeira etapa. Pode-se reunir a terceira e a quarta etapa em uma
nica, pois essas definem os componentes utilizados no benchmark.
A diferena entre as duas etapas que na terceira, so definidas as
medidas que sero obtidas durante a avaliao. Na quarta etapa so definidos
os outros componentes que podem depender diretamente das medidas
definidas como, por exemplo, as falhas que ocorreram no sistema durante a
avaliao, e devem ser expressas nas medidas definidas.
Apesar do trabalho de VIEIRA, DURES e MADEIRA (2005), ser
voltado para avaliao de confiabilidade, as caractersticas descritas mostram
de forma genrica, os componentes e etapas a serem seguidos no
desenvolvimento de um benchmark.

3.2. METODOLOGIA
DEMURJIAN et al, (1985) apresentam uma metodologia para avaliar
sistemas gerenciadores de banco de dados, na qual enfatizada uma maneira
de obter o tempo gasto entre a requisio de uma consulta e o retorno da sua
resposta.
Nessa metodologia, o autor utiliza o conceito de check-point, que
consiste em criar pontos de coletas de tempo nas requisies de consultas ao

25

banco de dados atravs de uma linguagem de programao. Os pontos de


coletas de tempo so gravaes do relgio do sistema em uma varivel. So
utilizados dois pontos de coleta de tempo, sendo um no momento em que se
faz a requisio e o outro quando se obtm a resposta. Com os dois pontos de
tempos coletados, calcula-se a diferena entre eles e como resultado tem-se o
tempo gasto na realizao da consulta, como apresenta a Figura 7.

Figura 7: Utilizao de check-point. (DEMURJIAN et. al, 1985)

O trecho de cdigo apresentado na Figura 7 escrito na linguagem C.


Nas Linhas 10 e 12 pode-se observar, respectivamente, o check-point que
recebe o tempo do relgio do sistema antes da realizao da consulta e o
check-point que recebe o tempo do relgio do sistema depois da realizao da
consulta.
A Linha 11, que fica entre os check-point, a responsvel pela
requisio da consulta. Quando nessa linha, o sistema s conseguir executar
a prxima linha ao obter a resposta do sistema de banco de dados.
Com essa caracterstica possvel medir o tempo gasto na execuo de
uma consulta, pois o tempo inicial marcado e, em seguida, a linha da
requisio da consulta executada, entretanto, a linha do tempo final no
executada enquanto no se obtm a resposta da consulta.

26

BORAL e DEWITT (1984) definem que 21 consultas so suficientes para


tornar um benchmark consistente e representativo. Essas consultas foram
separadas em grupos de acordo com o consumo apresentado na utilizao do
processador e na utilizao de entrada e sada dos dados do disco rgido. Os
grupos so os que seguem:
Utilizao do Processador

Utilizao do Disco

Grupo 1

Baixo

Baixo

Grupo 2

Baixo

Alto

Grupo 3

Alto

Baixo

Grupo 4

Alto

Alto

Quadro 2: Grupos de consultas definidos por BORAL e DEWITT, (1984).

Como observado no Quadro 2, o Grupo 1 representa as consultas que


apresentam baixo uso nos dois quesitos, processador e disco. O Grupo 2,
representa as consultas que apresentam pouco uso do processador e alto uso
do disco. O Grupo 3 representa as consultas que demonstram alto uso
processador e baixo uso do disco. O Grupo 4, representa as consultas que
apresentam alta taxa de utilizao nos dois quesitos, processador e disco.
Para definir quais consultas melhor representam cada um dos quatro
grupos, foram analisadas as 21 consultas em um benchmark que considerou a
taxa de utilizao do processador e do disco. Assim, as consultas que melhor
representam cada grupo so as expostas no Quadro 3.
Consultas
Grupo 1

selecione 1 linha de 10.000 usando ndice clusterizado

Grupo 2

selecione 100 linhas de 10.000 usando ndice no


clusterizado

Grupo 3

selecione 1.000 linhas de 10.000 que esto ligadas com


outras 1.000 linhas usando ndice clusterizado

Grupo 4

funo agregada em uma tabela com 10.000 linhas


Quadro 3: Consultas representativas de cada grupo

No Quadro 3, as consultas esto escritas de forma genrica. De acordo


com as concluses de BORAL e DEWITT (1984) as consultas do Grupo 1 e 2

27

so representativas em qualquer sistema de banco de dados, entretanto as do


Grupo 3 e 4 dependem do algoritmo utilizado pelo SGBD.
A utilizao de ndices nas consultas representadas no Quadro 3 diz
respeito a selecionar as linhas atravs de uma coluna que seja a chave
primria, pois ao se criar uma chave primria em uma coluna, automaticamente
criado um ndice na mesma.
A diferena entre se utilizar um ndice no clusterizado e um
clusterizado, que quando so utilizados ndices clusterizados, os dados
permanecem fisicamente ordenados e na mesma pgina de seus ndices.
Quando so utilizados ndices no clusterizados eles apenas identificam o local
fsico onde a informao est armazenada.
Na atualidade, uma das organizaes que promovem benchmarks para
avaliar o processamento de transaes e bancos de dados a Transaction
Processing Performance Council (TCP). Ela promove diversas avaliaes em
ambientes diferentes, dentre as quais so destacados os TPC-C, TPC-H, TPCW e TPC-App. (TPC, 2005)
O benchmark TPC-C um workload para ambientes OLTP (On Line
Transaction Processing). VIEIRA, DURES e MADEIRA (2005) definem
ambientes OLTP, como um ambiente em que clientes esto ligados a um
servidor atravs de uma rede, na qual os clientes submetem suas transaes
ao servidor e aguardam suas respostas. Esse mtodo de avaliao testa tanto
desempenho em consultas quanto inseres e atualizaes, e a medida
utilizada a quantidade de transaes por minuto.
O TPC-H avalia o suporte da base de dados para um sistema de apoio a
decises, Data Warehouse (MACHADO, 2004). avaliado o desempenho do
banco de dados no processamento de grandes quantidades de dados
convencionais, atravs de consultas que simulam a atividade real, como
perguntas sobre pocas de promoes, lucro possvel, entre outros.
O TPC-W avalia todas as atividades de um servidor WEB, simulando um
comrcio eletrnico pela internet. Ele controla, de forma detalhada, todos os
componentes associados a essa estrutura. A medida utilizada para avaliar
esses componentes a quantidade de interaes na WEB por segundo.

28

Entretanto, esse benchmark se tornou obsoleto para a organizao TPC e em


seu lugar foi inserido o TPC-App que abrange as caractersticas e
possibilidades de negcio dos servidores WEB, como por exemplo, capacidade
de conexes, gerenciamento de transaes, entre outros.
O ambiente de avaliao do TPC-App inclui os ambientes de avaliao
comercial, as mltiplas sesses de negcios on-line, o uso de XML e SOAP
(POTTS e KOPACK, 2003) para troca de dados, execuo de mltiplas
transaes, uso de uma base de dados com tamanhos variados de tabelas,
com diferentes atributos, relacionamentos, entre outros. (TPC-APP, 2005)
O esquema de dados utilizado no Benchmark TPC-App possui um
campo, na tabela de itens, que responsvel por referenciar as imagens de
cada um dos itens cadastrados. Essa estrutura dar suporte anlise de
desempenho de consultas em banco de dados.

Figura 8: Esquema de dados do TPC-App.

A Figura 8 apresenta o esquema de dados utilizado no benchmark TCPApp. A modelagem utilizada na construo desse esquema a IDEF1X,

29

contanto, foram acrescentados os tipos de dados de cada campo, ao lado de


seus respectivos nomes, com a finalidade de proporcionar uma melhor
visualizao da estrutura fsica da base de dados como um todo.
A idia geral das regras de negcios do sistema representado pelo
esquema a de comrcio eletrnico, para livraria, onde os clientes podem
realizar compras de exemplares de livros pela internet, e entregar sua
encomenda no endereo desejado.
O esquema composto por oito tabelas, a tabela intitulada customer,
possui as informaes necessrias de cadastros dos clientes do sistema.
Nessa tabela o campo addr_id includo atravs da ligao com a tabela
address, o que torna possvel a atribuio de um endereo aos usurios. A
tabela address responsvel por armazenar os campos que representam os
endereos utilizados pelos compradores e tambm na construo do pedido,
onde indicar o endereo de entrega. A tabela orders possui os campos para
armazenar os dados necessrios na construo de um pedido de livros, a
ligao existente entre essa tabela e a tabela order_line possibilita que um
pedido possua exemplares de ttulos diferentes. Os exemplares so definidos
na tabela item onde o atributo i_image guarda a imagem da capa do livro.
Como visto esse esquema possui caractersticas suficientes para dar
suporte ao um sistema de comrcio eletrnico. Devido a essas caractersticas o
esquema ser implementado no prximo captulo, para prover suporte s
anlises dos mtodos de armazenamento dos objetos multimdia.

4. ANLISE DE DESEMPENHO EM RECUPERAO DE OBJETOS


MULTIMDIA NO POSTGRESQL
A utilizao de objetos multimdia nos SGBDs podem interferir em seu
desempenho de recuperao.

Como visto anteriormente existem quatro

tcnicas para se armazenar objetos multimdia utilizando um Sistema


Gerenciador de Banco de Dados. O armazenamento por referncia externa,
onde apenas o caminho da localizao do objeto no sistema operacional
armazenado. O armazenamento atravs de funes externas, que so funes
externas ao SGBD. O armazenamento por dados no interpretados, onde os
objetos so armazenados atravs de um campo do tipo BLOB. E ainda, o
armazenamento atravs de objetos, que permite o relacionamento entre os
objetos e a criao de tipos.
Com o objetivo de avaliar o desempenho da recuperao dos objetos
multimdia no SGBD PostgreSQL, esse captulo est estruturado como segue.
Na Seo 4.1 so especificados o ambiente e as tcnicas para realizar a
anlise. Na Seo 4.2 so expostos os tipos de armazenamento dos objetos
multimdia permitidos pelo PostgreSQL, bem como o desempenho na
recuperao dos objetos em cada um dos tipos. Na Seo 4.3 realizada uma
anlise comparativa entre os resultados obtidos na Seo 4.2.

4.1. AMBIENTE EXPERIMENTAL


A anlise de desempenho de recuperao de objetos multimdia foi
baseada em recuperar imagens de uma base de dados mantida no Sistema
Gerenciador de Banco de Dados PostgreSQL (POSTGRESQL, 2005).
O ambiente utilizado na anlise foi um ambiente de aplicaes WEB,
como mostra a Figura 9, o qual composto por um servidor de pginas Apache
(APACHE, 2005), na Verso 1.3.34, interagindo com a Linguagem de
Programao PHP (PHP, 2005), na Verso 5, a qual ira interagir diretamente
com o PostgreSQL, na Verso 8.1.3.

31

A escolha desse ambiente deve-se crescente utilizao de aplicaes


multimdia na Internet, onde as requisies de imagens e outros objetos
multimdia so amplamente utilizados em sistema de lojas virtuais, sistemas
educacionais entre outros.

Figura 9: Ambiente da anlise.

O ambiente apresentado na Figura 9 no recebeu influncia temporal


significativa por sofrer interaes via rede, pois a aplicao de anlise consistiu
em o PHP receber um pedido de uma consulta e em seguida solicitar ao SGBD
a execuo da mesma e guardar o tempo decorrido at o retorno da sua
resposta. Com isso, no existiu trfego intenso de informaes entre o servidor
e a rede WEB. Alm disso, a rede WEB foi simulada em uma rede local, devido
anlise estar focada no tempo de recuperao dos objetos por parte do
SGBD.
O ambiente de anlise apresentado na Figura 9 foi implementado em
uma mquina com processador Pentium4 2.4 Gigahertz, com 512 Megabytes
de memria RAM (Random Access Memory) e disco rgido de 60 Gigabytes. O
sistema operacional utilizado foi o Linux com a distribuio Slackware 10.2 com
kernel 2.4.31 e swap em disco de 1 Gigabyte.
O mtodo para medir o tempo de execuo das consultas foi o de checkpoint utilizado por DEMURJIAN (1985), onde gravado o tempo em que a
consulta requisitada e o tempo de chegada da resposta. Logo aps, a
diferena entre os dois tempos resultou no tempo de execuo da consulta.

32

Figura 10: Estrutura check-point em php.

A Figura 10 mostra o trecho do cdigo, escrito em PHP, onde foi


calculado o tempo de execuo da consulta. A funo microtime_float() (PHP
MANUAL, 2005) que inicia na Linha 1 e termina na Linha 5, foi construda para
retornar o tempo atual em segundos, contados desde as zero hora de primeiro
de janeiro de mil novecentos e setenta. Para se calcular o tempo de execuo
da consulta, que acontece na Linha 7, atravs da funo pg_query(), a varivel
$inicio na Linha 6 recebeu o valor do tempo atual em segundos. Aps isso, a
Linha 7 executa a consulta e s ser executada a Linha 8, que a linha em
que a varivel $fim

recebe o tempo atual, aps a execuo da consulta

completa na base de dados. Ento, a Linha 9 realiza a

diferena entre a

varivel $fim e $inicio, obtendo assim o tempo de durao da consulta.


Para realizar a conexo entre o PHP e o PostgreSQL foram utilizadas as
funes pg_connect e pg_dbname, as quais so disponibilizadas pelo PHP
para esse SGBD.

Figura 11: Conexo entre PHP e PostgreSQL.

Na Figura 11 apresentado o trecho de cdigo, em PHP, para prover a


conexo ao SGBD PostgreSQL. Nas cinco primeiras linhas, as variveis so

33

atribudas com as configuraes de conexo. A primeira linha atribui varivel


o endereo do SGBD, na segunda linha atribudo o nome do banco de dados,
na terceira linha atribudo o nome do usurio, na quarta linha atribudo a
senha correspondente ao usurio e na quinta linha atribudo a porta de
conexo.
Na stima linha criada a conexo com o SGBD atravs da funo
pg_conect tendo como parmetros as variveis setadas nas cinco primeiras
linhas. Na linha doze criado uma conexo com a base de dados atravs da
funo pg_dbname, utilizando a conexo estabelecida com o gerenciador que
foi apresentada na stima linha.
A anlise de recuperao dos objetos multimdia foi realizada com o
esquema do benchmark TCP-App, apresentado na Figura 8. Assim, foram
realizadas as anlises em um esquema que representa uma base de dados
que pode ser empregado em um sistema real.
O grau de povoamento de cada uma das tabelas das bases de dados
tambm seguiu as regras fornecidas pelo benchmark TPC-App, as quais so
expostas no Quadro 4. (TPC-APP, 2005)
Tabelas

Nmero de linhas

customer

1.920

country

92

adress

2.688

orders

19.200

order_line

105.600

author

0.25 * nmero de itens

Item

nmero de itens

Stock

nmero de itens

Quadro 4: Grau de povoamento das tabelas

O Quadro 4 mostra a quantidade de linhas para cada uma das tabelas


da base de dados utilizada na anlise. A quantidade de linhas nas tabelas
author, item e stock dependem diretamente da quantidade de itens que ser
utilizada para povoar a tabela item.

34

A tabela item a tabela central da anlise, por possuir o objeto


multimdia, como mostra o esquema apresentado na Figura 8. Sendo assim,
essa tabela possuir dez mil linhas, pois o princpio de BORAL e DEWITT
(1984) considera que para possuir consultas expressivas para um benchmark,
elas devem ser realizadas em tabelas com dez mil linhas. Alm disso, este
valor expressa um nmero razovel de itens quando comparados com
sistemas reais de comrcio eletrnico.
A partir desse princpio e com base no grau de povoamento apresentado
no Quadro 4, consegue-se estabelecer o nmero de linhas da tabela author
com 2.500 linhas, da tabela item com 10.000 linhas e da tabela stock com
10.000 linhas, com base no grau de povoamento abordado no Quadro 4.
Com a finalidade de homogeneizar a anlise, as imagens tero o mesmo
tamanho em bytes, seiscentos kilobytes para isso ser utilizada a ferramenta
de gerao de imagens, appImage, a qual disponibilizada pela TPC.
As consultas utilizadas para realizar a anlise foram baseadas nas
consultas propostas por BORAL e DEWITT (1984), apresentadas no Quadro 3.
Nesse trabalho as consultas sero divididas em dois grupos, onde no primeiro
grupo, as consultas sero realizadas em um ambiente mono-usurio, ou seja,
apenas um usurio consultando o SGBD. No segundo grupo as consultas
sero realizadas em um ambiente multi-usurio, vrios usurios consultando o
SGBD. Nesse trabalho foram utilizados trinta usurios.
As consultas utilizadas na anlise multi-usurio e mono-usurio so as
mesmas, o que difere entre elas a quantidade de usurios que estavam
executando.
CONJUNTO A

Consulta 1A select * from item where i_id = [valor_randomico]


Consulta 2A select * from item limit 100 offset [valor_randomico <= 9000]
Consulta 3A select i.* from item i inner join order_line ol on ol.i_id = i.i_id
inner join orders o on o.o_id = ol.o_id inner join customer c on
c.c_id = o.c_id where c.c_id = [valor_randomico]
Consulta 4A select * from item limit 20 offset [valor_randomico <= 9980]

35

CONJUNTO B

Consulta 1B select i_title, i_pub_date, i_publisher, i_subject, i_desc, i_srp,


i_cost, i_avail, i_isbn, i_page, i_backing, i_dimensions, a_id from
item where i_id = [valor_randomico]
Consulta 2B select i_title, i_pub_date, i_publisher, i_subject, i_desc, i_srp,
i_cost, i_avail, i_isbn, i_page, i_backing, i_dimensions, a_id from
item limit 100 offset [valor_randomico <= 9900]
Consulta 3B select i_title, i_pub_date, i_publisher, i_subject, i_desc, i_srp,
i_cost, i_avail, i_isbn, i_page, i_backing, i_dimensions, a_id from
item i inner join order_line ol on ol.i_id = i.i_id inner join orders o
on o.o_id = ol.o_id inner join customer c on c.c_id = o.c_id
where c.c_id = [valor_randomico]
Consulta 4B select i_title, i_pub_date, i_publisher, i_subject, i_desc, i_srp,
i_cost, i_avail, i_isbn, i_page, i_backing, i_dimensions, a_id from
item limit 20 offset [valor_randomico <= 9980]
Quadro 5: Consultas para anlise

O Quadro 5 apresenta as consultas que foram utilizadas para avaliar o


desempenho na recuperao dos objetos multimdia. O conjunto de Consultas
A responsvel por trazer todos os dados da tabela imagem. J o conjunto de
Consultas B, responsvel por resultar os mesmos dados de A, mas sem a
presena do campo que contm os objetos multimdia.
As Consultas de 1 a 3 so aquelas baseadas nas definies de BORAL
e DEWITT (1984), onde a primeira consulta resulta uma linha dentre as dez mil
linhas da tabela item, a segunda resulta cem linhas dentre as dez mil linhas a
partir do valor randmico e a terceira consulta resulta todos os itens comprados
em todos os pedidos por um determinado cliente.
A Consulta 4, tanto no Conjunto A quanto no Conjunto B, a consulta
que representa a exigncia da maioria dos sistemas de comrcio eletrnico,
onde o usurio pesquisa os itens oferecidos, e eles so expostos com uma
mdia de vinte produtos por pgina. Assim, pretendeu-se simular o impacto de
cada tipo de armazenamento em uma aplicao amplamente utilizada.

36

O Valor randmico utilizado como restrio das consultas apresentadas


no Quadro 5 foi obtido uma nica vez, antes do incio da anlise e utilizado
durante todo o experimento. Assim, todas as consultas recuperaram o mesmo
grupo de dados.

4.2. ANLISE DE DESEMPENHO EM RECUPERAO DE IMAGENS


O SGBD PostgreSQL d suporte a trs tipos de armazenamento de
objetos multimdia, sendo eles armazenamento por referncia, armazenamento
de campos no interpretados e armazenamento atravs de objetos, onde esse
ltimo no possui caractersticas de orientao a objetos, mas para cada objeto
armazenado criado um objeto interno com um identificador nico.
Assim, a anlise ocorreu com base no ambiente experimental exposto
na Seo 4.1 e com os trs tipos possveis. Sendo assim, est seo
subdivide-se em trs subsees, a Seo 4.2.1 que apresenta a anlise do
desempenho com o armazenamento por referencia externa, a Seo 4.2.2
apresenta a anlise do desempenho com dados no interpretados e a Seo
4.2.3 apresenta a anlise do desempenho com o armazenamento atravs de
objetos.

4.2.1. ARMAZENAMENTO POR REFERNCIA EXTERNA


No PostgreSQL, como em qualquer outro SGBD, a referncia externa
realizada atravs de um campo texto, o qual contm o caminho de onde se
encontra o objeto. Para realizar a anlise nesse tipo de armazenamento, o
campo i_image da tabela item, foi definido com o tipo de dado varchar(100), o
qual representa uma string de tamanho varivel de no mximo 100 caracteres.
Devido ao fato desse tipo de armazenamento apenas armazenar o
caminho do objeto multimdia, o desempenho das consultas foi abaixo de um
segundo nos dois esquemas. A Figura 12 apresenta o grfico demonstrativo do
tempo ao realizar as consultas do Conjunto A, expostas no Quadro 5, em
ambiente mono-usurio.

37

1
0,9
0,8

segundos

0,7
0,6
0,5
0,4
0,3
0,17473

0,2
0,1
0,00396

0,00709

1A

2A

0,00442

0
3A

4A

consultas

Figura 12: Resultados das consultas do Conjunto A com armazenamento de referncia


externa em ambiente mono-usurio

O grfico apresentado na Figura 12 mostra o desempenho das consultas


do Conjunto A em segundos. Apesar da diferena apresentada no grfico pela
consulta 3A, a qual a consulta que desprendeu mais tempo, pois utiliza
junes para encontrar a informao desejada, todas as consultas ficaram
abaixo de um segundo. Os tempos apresentados so valores aceitveis de
respostas de um banco de dados, pois para os usurios, esse tempo
imperceptvel.
A execuo das consultas do Conjunto B, que busca os campos da
tabela item sem buscar o campo i_imagem, em modo mono-usurio no
apresentou grande diferena entre as consultas do Conjunto A, perceptvel
para o usurio final. Entretanto a diferena apresentada pelo Conjunto de
consultas A

foi praticamente de 4 vezes mais lenta que o Conjunto de

consultas C. Esse resultado mostrado na Figura 13.

38

1,00000
0,90000
0,80000

segundos

0,70000
0,60000
0,50000
0,40000
0,30000
0,20000

0,14260

0,10000
0,00390

0,00171

1B

2B

0,00729

0,00000
3B

4B

consultas

Figura 13: Resultados das consultas do Conjunto B com armazenamento de referncia


externa em ambiente mono-usurio

No grfico apresentado na Figura 13 mostrado o desempenho em


segundos das consultas, sem a recuperao do campo i_image. Nesse caso,
as consultas tambm ficaram abaixo de um segundo, e no apresentaram
diferenas significativas com as consultas apresentadas na Figura 12. Isso
deve-se ao campo apenas armazenar o caminho da imagem e no a imagem
por completo.
As Consultas 4A e 4B, realizadas em ambiente multi-usurio, obtiveram
resultados sem diferena expressiva entre elas. Assim, os resultados das duas
consultas foram tabulados em um nico grfico.
1,00000
0,90000
0,80000

segundos

0,70000
0,60000
0,50000
0,40000
0,30000
0,20000
0,10000
0,00320

0,01539

melhor tempo

tempo mdio

0,04520

0,00000
pior tempo

Figura 14: Resultados da consulta 4A e 4B com armazenamento atravs de referncia


externa em ambiente multi-usurio.

Na Figura 14, onde o grfico expressa melhor tempo, o tempo mdio e o


pior tempo, que representam tanto os resultados obtidos na Consulta 4A,
quanto os resultados obtidos na Consulta 4B. Com esse grfico observa-se que

39

o desempenho das consultas de Nmero 4, com armazenamento por


referncia externa, em ambiente multi-usurio, ficou abaixo de um dcimo de
segundo, variando em centsimos de segundo do melhor desempenho em uma
das consultas obtida para o pior desempenho em uma das consultas.
Com base nas anlises realizadas, observa-se que a execuo das
Consultas 4A e 4B, em ambiente multi-usurio, no apresentaram diferena
expressiva quando comparadas com as mesmas consultas em ambiente
monousurio, com a diferena ficando na casa dos centsimos de segundo.
Essa aparente igualdade prova que o desempenho do armazenamento atravs
de referncia satisfatrio tanto no ambiente mono-usurio quanto no multiusurio.

4.2.2. ARMAZENAMENTO DE DADOS MULTIMDIA NO INTERPRETADOS CAMPO BLOB


Os campos BLOBs so campos responsveis por armazenar os dados
no convencionais como seqncias binrias. No postgreSQL o tipo do campo
responsvel por esse armazenamento o campo bytea. Assim, o campo
i_image da tabela item, assumir esse tipo de dado.
Quando esse campo utilizado com uma interface WEB escrita em
PHP, necessria a colocao de escapes, que so contra barras seguidos de
um conjunto de letras, nas cadeias de caracteres, para indicar, por exemplo,
uma nova linha, alm da necessidade de duplicar as contra barras, pois o PHP
as trata como escapes internos.
Para tratar a insero de escapes na cadeia de caracteres, a linguagem
PHP disponibiliza a Funo pg_escape_bytea(), que recebe como parmetro o
arquivo. Essa funo deve ser aplicada antes da insero do arquivo no
campo, como mostra a Figura 15.

40

Figura 15: Insero de imagem no campo bytea escrito em PHP.

A Figura 15 mostra um trecho do cdigo utilizado para povoar o banco


de dados, onde na Linha 4 utilizada a Funo pg_escape_bytea() para a
colocao de escapes no arquivo da imagem. Em seguida na Linha 5
construda a consulta de insero da imagem j contendo o padro de escapes
necessrio.
A anlise de recuperao, nesse tipo de armazenamento, tambm foi
calculada apenas em relao ao tempo de execuo da consulta, sem calcular
o tempo para a retirada dos escapes.
A Figura 16 mostra o grfico de desempenho em segundos de cada uma
das consultas do Conjunto A.
8,00000
6,8539

7,00000
6,00000

segundos

5,00000
4,00000
3,00000

2,61470

2,00000
0,9721
1,00000

0,39830

0,00000
1A

2A

3A

4A

consultas

Figura 16: Resultados das consultas do Conjunto A com armazenamento atravs do


campo bytea em ambiente mono-usurio

Como observado no grfico, da Figura 16, a consulta 1A foi a que


apresentou o menor tempo de resposta. Isso se deve ao fato dessa consulta
buscar apenas uma imagem dentre dez mil cadastradas. A consulta 2A foi a
que apresentou o maior tempo de resposta e era a que buscava o maior
nmero de imagens dentre as cadastradas.
Com esses dois resultados possvel observar a influncia da
quantidade de imagens que se deseja buscar no desempenho da pesquisa.
Alm disso, a Consulta 3A que busca uma imagem atravs de junes em sua

41

consulta, quando comparada com a Consulta 1A que no utiliza junes,


mostra que as que utilizam junes para buscar a imagem desejada sofrem
influncia no desempenho.
A Consulta 4A afirma a influncia das imagens armazenadas em
campos do tipo bytea no desempenho das pesquisas, pois o tempo de resposta
fica praticamente proporcional com o da Consulta 2A. O desempenho das
consultas do Conjunto B, que busca os campos da tabela item sem o campo
que armazena a imagem, apresentou um excelente desempenho quando
comparado com as consultas do Conjunto A, como mostra o grfico da Figura
17.
8,00000
7,00000
6,00000

segundos

5,00000
4,00000
3,00000
2,00000
1,00000
0,00468

0,08122

1B

2B

0,11410

0,03818

3B

4B

0,00000
consultas

Figura 17: Resultados das consultas do Conjunto B com armazenamento atravs do


campo bytea em ambiente mono-usurio

No grfico apresentado na Figura 17, as consultas do Conjunto B


demonstraram um excelente desempenho quando comparado com as
consultas do Conjunto A, abordadas na Figura 16.
Assim, foi observado que a no requisio de objetos multimdia, nesse
tipo de armazenamento, faz com que o tempo de recuperao dos dados fique
abaixo de um segundo, tornando a consulta praticamente instantnea.
A aplicao da Consulta 4A, a qual retorna os dados convencionais e
no convencionais da tabela item, em ambiente multi-usurio, demonstrou
ineficincia na recuperao de objetos multimdia com armazenamento no
campo bytea , como mostra a Figura 18.

42

250

240,1517

244,8726

249,6796

melhor tempo

tempo mdio

pior tempo

segundos

200

150

100

50

Figura 18: Resultados da consulta 4A com armazenamento atravs do campo bytea em


ambiente multi-usurio

O grfico apresentado na Figura 18 mostra que o melhor tempo da


Consulta 4A, que foi obtido por um dos usurios durante a anlise, foi de
240,1517 segundos. O pior tempo ficou em 249,6796 segundos e o tempo
mdio de resposta entre os trinta usurios foi de 244,8726.
No ambiente multi-usurio tambm foi aplicada a Consulta 4B, a qual
retorna apenas os dados no convencionais. Essa consulta se mostrou
eficiente quando comparada com a Consulta 4A, pois o tempo mdio de
execuo das Consultas 4B ficou na casa dos centsimos de segundo, se
aproximando do tempo obtido em ambiente mono-usurio.
250

segundos

200

150

100

50

0,0133209

0,05487

0,219

melhor tempo

tempo mdio

pior tempo

Figura 19: Resultados da consulta 4B com armazenamento atravs do campo bytea em


ambiente multi-usurio

No grfico apresentado na Figura 19, so mostrados os tempos da


Consulta 4B, a qual retorna apenas os dados no convencionais ta tabela item.

43

O melhor tempo de execuo da consulta foi de 0,01332 segundos, o pior


tempo foi de 0,2190 segundos e o tempo mdio foi de 0,05487 segundos.
Com os resultados obtidos nas anlises atravs do armazenamento por
dados no interpretados, bytea, observa-se que a realizao de consultas de
objetos multimdia, em ambiente multi-usurio, se torna invivel, devido ao
elevado tempo de resposta das mesmas.
Alm desse fator, observa-se tambm que as consultas que no
envolveram recuperao de objetos multimdia apresentaram praticamente o
mesmo tempo de recuperao nos ambientes mono-usurio e multi-usurio,
com a diferena na casa dos centsimos de segundos. Provando assim, que o
objeto multimdia armazenado no influi em consultas que no o recuperam,
mesmo que essas consultas sejam feitas na sua prpria tabela.

4.2.3. ARMAZENAMENTO ATRAVS DE OBJETOS


Uma outra forma de armazenar objetos multimdia no PostgreSQL o
armazenamento atravs de objetos internos, campo do tipo oid. Nesse tipo de
armazenamento, o SGBD em questo atribui um identificar nico ao campo
que destinado ao objeto multimdia. O objeto propriamente dito armazenado
em uma tabela interna chamada pg_largeobjects, com o mesmo identificador
atribudo ao campo destinado ao objeto.
Entretanto, para armazenar e recuperar o objeto com essa forma de
armazenamento necessrio utilizar duas funes internas do PostgreSQL,
lo_import para o armazenamento do objeto e lo_export para a recuperao do
objeto.

Figura 20: Armazenamento e recuperao de objeto utilizando o campo oid.

A Figura 20 apresenta duas linhas que representam a insero e a


consulta de uma imagem com o armazenamento atravs do campo oid. Na
Linha 1, inserida a imagem img_1.jpg com cdigo do item igual a 1. Pode ser
notado que para a insero ser possvel a consulta utiliza a Funo lo_import, a

44

qual tem como parmetro o caminho completo de onde se encontra o arquivo,


no lugar do contedo da imagem. Na Linha 2, recuperado o objeto multimdia
da tabela imagem, cujo o i_id igual a 1. Para isso, a consulta utiliza a funo
lo_export como um campo a ser recuperado, essa funo possui como
parmetro o campo do tipo oid e o caminho de onde o objeto deve ser extrado.
A recuperao das imagens, com esse tipo de armazenamento,
apresentou tempo elevado em suas consultas como mostra a Figura 21.
214,95100
200,00000

segundos

150,00000
117,4099
100,00000

50,00000

0,84388

0,15294
0,00000
1A

2A

3A

4A

consultas

Figura 21: Resultados das consultas do Conjunto A com armazenamento atravs do


campo oid em ambiente mono-usurio

O grfico apresentado na Figura 21 demonstra o desempenho de


consultas na recuperao de imagens utilizando o campo oid. Nessa anlise a
Consulta 2A, que recupera cem imagens, demorou aproximadamente trs
minutos para ser realizada e a Consulta 4A, que recupera vinte imagens,
demorou aproximadamente dois minutos para ser realizada. Entretanto, as
Consultas 1A e 3A, que recuperam uma imagem, foram realizadas em menos
de um segundo. Isso demonstra que a quantidade de imagens requisitadas nas
consultas

possui

grande

influncia

no

desempenho

desse

tipo

de

armazenamento.
Na Figura 22 apresentado o grfico de desempenho das consultas do
Conjunto B.

45

200,00000

segundos

150,00000

100,00000

50,00000

0,00410

0,01058

0,20831

0,00727

1B

2B

3B

4B

0,00000
consulta s

Figura 22: Resultados das consultas do Conjunto B com armazenamento atravs do


campo oid em ambiente mono-usurio

O grfico apresentado na Figura 22 demonstra o desempenho das


consultas do Conjunto B. Com esse conjunto de consultas o desempenho se
apresentou dentro da normalidade quando comparado com as outras anlises.
Com a anlise realizada na forma de armazenamento de objeto, com o
campo oid, conclui-se que uma forma inadequada para qualquer aplicao
que envolva recuperao de diversos objetos multimdia, pois o tempo de
resposta desse tipo de recuperao inaceitvel, passando de trs minutos.
Devido ao grande tempo gasto nessas consultas, em ambiente monousurio, esse mtodo de armazenamento no ser testado em ambiente multiusurio, onde a quantidade de objetos a serem recuperados seria trinta vezes
maior. Isso comparado com a consulta realizada em ambiente mono-usurio e
o tempo de resposta seria muito alm do aceitvel em uma consulta.

4.3. ANLISE COMPARATIVA


Quando se deseja construir um banco de dados multimdia, um dos
fatores importante o mtodo de armazenamento que se vai utilizar, pois
dependendo do mtodo adotado e a forma de acesso que a base de dados ir
sofrer, o desempenho do SGBD pode ser comprometido.
Sendo assim, essa seo discute as diferenas, os pontos positivos e os
negativos

encontrados

anteriormente.

nos

mtodos

de

armazenamento

expostos

46

No ambiente mono-usurio o comprometimento do desempenho do


SGBD entre os mtodos de armazenamento ocorreu como mostra o Quadro 6.
Referncia externa
Dados no interpretados
Objetos

Consulta 1A

Consulta 2A

Consulta 3A

Consulta 4A

0,00396

0,00709

0,17473

0,00442

0,39830

6,85390

2,61470

0,97210

0,15294

214,95100

0,84388

117,4099

Quadro 6: Comparao entre os mtodos de armazenamento no Conjunto A de


consultas em ambiente mono-usurio

Os valores apresentados no Quadro 6, como todo o padro do trabalho,


esto em segundos, a primeira linha mostra os resultados do armazenamento
por

referncia

externa,

segunda

linha

mostra

os

resultados

por

armazenamento de dados no interpretados, campo bytea, e a terceira linha


mostra o armazenamento atravs de objeto, campo oid.
Devido grande diferena de tempo entre a Consulta 2A no mtodo de
referncia e a Consulta 2A no mtodo de objetos, optou-se por utilizar uma
tabela ao invs do grfico para representar os resultados, pois as comparaes
ficariam pouco visveis no grfico.
Com a comparao apresentada no Quadro 6, observa-se que a
referncia externa obteve desempenho superior a todos os mtodos e
consultas analisadas. Entretanto, os mtodos por dados no interpretados e
por objetos apresentaram variaes de acordo com as consultas que foram
aplicadas.
Na Consulta 1A, que recupera um objeto dentre dez mil cadastrados, o
armazenamento atravs de objetos foi aproximadamente dois dcimos e meio
mais rpido que o armazenamento por dados no interpretados. J na
Consulta 2A, a qual recupera cem objetos dentre dez mil cadastrados, o
desempenho do armazenamento por dados no interpretados foi muito superior
ao desempenho do armazenamento por objetos, sendo esse praticamente 208
segundos mais lento.
Na Consulta 3A, que recupera um objeto atravs de junes, o
desempenho do armazenamento por dados no interpretados foi 2 segundos
mais lento que o armazenamento por objetos. E na Consulta 4A, a qual
recupera vinte objetos dentre dez mil cadastrados, o armazenamento por

47

dados no interpretados obteve novamente um melhor desempenho do que o


armazenamento

por

objetos.

Foi

constatado

nessa

consulta,

que

armazenamento por objetos foi, aproximadamente, 117 segundos mais lenta do


que o armazenamento por dados interpretados.
Com essas comparaes pode-se expor em que casos devem ser
utilizados em um dos dois mtodos de armazenamento que mantm o objeto
multimdia na base de dados, em ambiente mono-usurio. O mtodo de
armazenamento por objetos, campo oid, o indicado para ser aplicado quando
desejado recuperar apenas um objeto multimdia dentre os cadastrados,
chegando a ser 2 segundos mais rpido que o armazenamento por dados no
interpretados na consulta que utiliza junes. Entretanto esse mtodo
inadequado para consultas que buscam grandes quantidades de objeto, pois
com a comparao realizada nota-se o fraco desempenho desse mtodo com o
aumento de objetos multimdia a ser recuperado.
Para aplicaes em ambiente mono-usurio que necessitam recuperar
grandes quantidades de objetos multimdia, o mtodo de armazenamento por
dados no interpretado, campo bytea, o indicado. Essa caracterstica fica
visvel na Consulta 2A, que recupera cem objetos, e na Consulta 4A, que
recupera vinte objetos, pois elas foram 202 e 117 segundos mais rpidas do
que as mesmas aplicadas com armazenamento atravs de oid.
No ambiente mono-usurio, ainda foi realizada a anlise de recuperao
dos dados da tabela item sem recuperar os objetos multimdia, representada
pelas consulta do Conjunto B. No Quadro 7, apresentado o comparativo
dessas consultas.
Referncia externa
Dados no interpretados
Objetos

Consulta 1B

Consulta 2B

Consulta 3B

Consulta 4B

0,00390

0,00171

0,14260

0,00729

0,00468

0,08122

0,11410

0,03818

0,00410

0,01058

0,20831

0,00727

Quadro 7: Comparao entre os mtodos de armazenamento no Conjunto B de


consultas em ambiente mono-usurio

Com os valores expressos no Quadro 7, observa-se que a diferena de


tempo nas quatro consultas entre os trs mtodos utilizados ficou na casa dos
centsimos de segundo. Isso prova que o armazenamento de objetos

48

multimdia por dados no interpretados, o qual armazena os objetos na prpria


tabela, no afeta o desempenho de consultas que buscam apenas os dados
convencionais.
Como abordado na seo anterior, a anlise no ambiente multi-usurio
foi realizada apenas com armazenamentos por dados no interpretados e por
referncia externa, devido ao elevado tempo para realizar a Consulta 4A no
ambiente mono-usurio com o mtodo de armazenamento por objeto.
A avaliao no ambiente multi-usurio foi realizada de acordo com as
especificaes apresentadas na Seo 4.1, onde trinta usurios realizaram a
mesma consulta.
Consulta 4A
Referncia externa
Dados no interpretados

0,01539
244,87260

Quadro 8: Comparao entre os mtodos de armazenamento com a Consulta 4A em


ambiente multi-usurio

O Quadro 8 apresenta o comparativo da anlise realizada em ambiente


multi-usurio, onde a consulta realizada foi a 4A e o tempo expresso na tabela
a mdia dentre as trinta consultas realizadas. Com essa comparao nota-se
que o armazenamento por dados no interpretados mais lenta quando
comparada com a referncia externa, posto que a diferena entre as duas
consultas se aproximou a 245 segundos.
Assim, pode-se afirmar que quando uma base de dados for sofrer
acessos em ambiente multi-usurio deve-se optar pelo armazenamento
externo, com isso garante-se um bom desempenho do SGBD.
Outra anlise realizada foi com base na Consulta 4B, e o comparativo e
demonstrado no Quadro 9.
Consulta 4B
Referncia externa

0,01539

Dados no interpretados

0,05487

Quadro 9: Comparao entre os mtodos de armazenamento com a Consulta 4B em


ambiente multi-usurio

A comparao dos mtodos com a Consulta 4B no ambiente multiusurio, mostrada no Quadro 9, confirmou mais uma vez que a consulta de

49

dados

convencionais,

em

tabelas

que

possuem

objetos

multimdia

armazenados, no sofre influncia significativa no desempenho. Pois a


diferena de velocidade para realizar a Consulta 4B nos dois tipos de
armazenamento ficou na casa dos centsimos de segundo.
Com as comparaes realizadas nessa seo conclui-se que o mtodo
que apresenta o melhor desempenho de recuperao, no PostgreSQL, o de
referncia externa, onde os objetos multimdia so armazenados fora do
SGBD. Apesar desse mtodo no garantir a consistncia e integridade dos
dados, pode-se justificar o seu uso pelo alto desempenho quando comparado
ao desempenho do armazenamento por dados no interpretados e por objetos.
Tambm ficou exposto que os objetos multimdia no afetam o
desempenho da base de dados quando no requisitados nas consultas, como
foi observado em vrios momentos nessa seo ao analisar as consultas do
Conjunto B.
Por outro lado, a requisio dos objetos multimdia com armazenamento
atravs de dados no interpretados, principalmente no ambiente multi-usurio,
se mostrou ineficiente do ponto de vista de desempenho, levando
aproximadamente na mdia, quatro minutos para realizar a consulta, contra
0,01539 segundos do armazenamento por referncia.
Alm disso, o armazenamento atravs de objetos apresentou o
desempenho para recuperar vrios objetos multimdia no ambiente monousurio muito prximo ao desempenho do armazenamento por dados no
interpretado em ambiente multi-usurio. Assim, pode-se considerar que o
armazenamento por objeto o mais ineficiente entre os analisados para
recuperar vrios objetos multimdia.
Como concluses das anlises e expostas nessa seo, pode-se afirmar
que o armazenamento de objetos multimdia dentro das bases de dados do
SGBD PostgreSQL, ainda um recurso que deve ser aperfeioado em relao
ao tempo gasto para realizar as consultas dos objetos.

5. CONCLUSES E TRABALHOS FUTUROS


Com a evoluo da tecnologia e a implantao das redes de alta
velocidade, cada vez mais os sistemas multimdias so utilizados, seja com fim
educacional, comercial ou profissional. Em torno dessas aplicaes, muito se
discute sobre a maneira correta de realizar o armazenamento dos objetos
multimdia para proporcionar uma busca eficiente e com bom tempo de
desempenho.
Nesse

trabalho

foram

apresentadas

as

principais

formas

de

armazenamento para os objetos multimdia em Sistemas Gerenciadores de


Banco de Dados. Com base nessas formas, desenvolveu-se uma anlise no
PostgreSQL, com a inteno de descobrir o impacto que cada uma
proporcionava no desempenho do SGBD.
Atravs dos testes, foi possvel comprovar a grande influncia do
armazenamento dos objetos multimdia dentro das bases de dados no
desempenho das consultas que buscam os mesmos, principalmente em
ambiente multi-usurio.
O mtodo de armazenamento por referncia externa o mtodo que
realiza as buscas dos objetos com o melhor desempenho, com o tempo de
resposta ficando na casa dos dcimos de segundo. Entretanto, esse mtodo
no traz o objeto propriamente dito, mas sim a sua localizao no sistema
operacional.
Em relao ao armazenamento atravs de dados no interpretados, ele
foi o mtodo que apresentou o melhor desempenho dentre os dois mtodos
que armazenam o objeto multimdia dentro da base de dados. Esse mtodo
chegou a ser trs minutos e meio mais rpido que o mtodo de
armazenamento por objeto, tempo esse obtido na consulta que busca cem
objetos multimdia em ambiente mono-usurio.
Apesar de ser mais rpido do que o mtodo de armazenamento por
objeto, o mtodo por dados no interpretados foi mais lento do que a referncia
externa, chegando a uma diferena de quatro minutos na consulta que busca
vinte objetos multimdia em ambiente multi-usurio.

51

O mtodo por armazenamento atravs de objetos foi o mtodo que,


dentre os trs utilizados na anlise, apresentou o pior desempenho no tempo
de recuperao de vrios objetos multimdia. O tempo de recuperao desse
mtodo foi superior aos demais nas consultas que buscavam cem e vinte
objetos em ambiente mono-usurio.
Nessas consultas o armazenamento por objeto teve uma diferena de
at trs minutos e meio, quando comparado com a referncia externa na
consulta que busca cem objetos em ambiente mono-usurio.
Com as consultas que buscam apenas os dados convencionais da
tabela item, sem requisitar o objeto multimdia, provou-se que a presena dos
objetos multimdia em tabelas no possui grande influncia nas consultas que
no os requisitam. Posto que a diferena do tempo gasto nessas consultas no
passou de alguns centsimos de segundo.
As diferenas encontradas no desempenho de recuperao dos objetos
multimdia, mostrou que os mtodos de armazenamento que guardam os
dados no convencionais dentro das bases de dados no PostgreSQL devem
ser usados com cautela.
Para utilizar esses mtodos deve-se levar em considerao o ambiente
de uso, mono-usurio ou multi-usurio, e a quantidade de objetos que devem
ser recuperados, como mostra o Quadro 10.
Mono-usurio
um objeto

Mono-usurio
mais de vinte
objetos

Multi-usurio
mais de vinte
objetos

Referncia externa

ACONSELHADO

ACONSELHADO

ACONSELHADO

Dados no interpretados

ACONSELHADO

Objetos

ACONSELHADO

NO
ACONSELHADO
NO
ACONSELHADO

NO
ACONSELHADO
NO
ACONSELHADO

Quadro 10: Proposta de uso dos mtodos de armazenamento em PostgreSQL.

O Quadro 10 mostra que o mtodo de referncia externa o mtodo que


pode ser usado em todos os ambientes analisados e com grandes quantidades
de objetos a serem recuperados, devido ao tempo de recuperao ter sido o
melhor em todas as anlises.
Os mtodos por armazenamento de dados no interpretados e por
armazenamento atravs de objeto podem ser usados em ambiente mono-

52

usurio com busca a um objeto. Nos outros ambientes, o tempo de


recuperao desses mtodos no satisfatrio.
vlido ressaltar que em qualquer ambiente ou quantidade de objetos a
serem recuperados, esses mtodos possuem um desempenho menor que a
referncia externa.
Como proposta de trabalhos futuros pretende-se analisar o uso da
memria RAM, do disco rgido e do processador, durante a execuo das
consultas, encontrando assim o hardware que possui maior grau de influncia
em base de dados multimdia. Com essa anlise ser possvel propor uma
configurao adequada de hardware para a utilizao de SGBDM.
Outra proposta seria a realizao do benchmark, criando a base de
dados com a tabela item criada em uma tablespace localizada em outro disco
rgido, ou seja, atravs do recurso de tablespace do PostgreSQL somente a
tabela item ser armazenada em um outro disco. Com esse mtodo pretendese analisar o desempenho do SGBDM tendo um disco exclusivo para o
armazenamento e a pesquisa dos objetos multimdia.
Tambm, se considera como proposta de trabalho futuro a aplicao da
anlise em diferentes SGBDs, assim pode-se determinar se a falta de
desempenho nos mtodos de armazenamento por dados no interpretados e
por objeto, um problema exclusivo do SGBD PostgreSQL ou pertinente aos
demais SGBDs.
Por fim aplicar o benchmark em uma estrutura descentralizada onde o
SGBD ficaria instalado em uma mquina dedicada a ele, separando a estrutura
de servidor WEB do Sistema Gerenciador de Banco de Dados. Com essa
estrutura pode-se obter o grau de influncia da estrutura utilizada nesse
trabalho para uma estrutura descentralizada.

REFERNCIAS
APACHE.

The

Apache

Software

Foundation.

Disponvel

em:

<http://www.apache.org/> Acesso em: 10 nov. 2005.

BORAL, H.; DEWITT, D. J. A Methodology for Database System


Performance Evaluation. Proceedings of the 1984 SIGMOD Conference,
June, 1984. Disponvel em: <http://www.cs.wisc.edu/~dewitt/benchmarking
/sigmod84.pdf>. Acesso em: 15 nov. 2005.

CERVI, C. R.; SILVA, J. T.; PAVAN, W. Proposta de uma Biblioteca Digital.


Disponvel em: <http://inf.unisul.br/~ines/workcomp/cd/pdfs/2411.pdf>. Acesso
em: 15 nov. 2005.

CORBIS. Corbis: stock photography and digital pictures. Disponvel em:


<http://pro.corbis.com/> Acesso em: 15 nov. 2005.

DEMURJIAN, A. S.; HSIAO, D. K.; KERR, D. S.; et al. Performance


Measurement Methodologies For Database Systems. ACM, 1985.

DCMI.

The

Dublin

Core

Metadata

Initiative.

Disponvel

em:

<http://dublincore.org/> Acesso em: 15 nov. 2005.

FGDC.

The

Federal

Geographic

Data

Committee.

Disponvel

em:

Disponvel

em:

<http://www.fgdc.gov/> Acesso em: 15 nov. 2005.

FRANA,

B.

M.

Banco

de

Dados

Multimdia.

<http://www.inf.ufrgs.br/~clesio/cmp151/cmp15120021/artigo_montgomery.pdf>
Acesso em: 11 set. 2005.

GARCIA-MOLINA, H.; ULLMAN, J. D.; WIDOM, J. Implementao de


Sistemas de Banco de Dados. Rio de Janeiro: Campus, 2001.

54

GHAFOOR,

A.

Multimedia

Database

Management

Systems.

ACM

Computing Surveys, Vol. 27, No. 4, Dez. 1995.

JAIMES, A.; CHRISTEL, M.; SBASTIEN, G., et al. Multimedia Information


Retrieval: What is it, and why isnt anyone using it? ACM, Singapura, Nov.
2005.

LOH, S.; WIVES, L. K.; FRAINER, A. S. Recuperao Semntica de


Documentos Textuais na Internet. In: Conferencia Latioamericana de
Informtica, XXV, 1999. Assuncin, Paraguay: Universidad Autnoma de
Asuncin, p. 827-836, 1999.

MACHADO, F. N. R.; Tecnologia e Projeto de Data Warehouse. So Paulo:


rica, 2004.

MILSTEAD, J.; Feldman, S. Metadata: Cataloging by Any Other Name. On


Line Magazine, jan. 1999.

NISO, National Information Standards Organization. Understanding Metadata.


Bethesda: NISO Press, 2004.

ZDEN, B.; RASTOGI, R.; SILBERSCHATZ A. Multimedia Support for


Databases. Arizona: ACM, 1997.

PHP. PHP: Hipertext Preprocessor. Disponvel em: <http://www.php.net/>


Acesso em: 10 nov. 2005.

PHP MANUAL. PHP: microtime Manual. Disponvel em: <http://www.php.net


/manual/pt_BR/function.microtime.php> Acesso em: 30 nov. 2005.

55

POTTS, S.; KOPACK, M.; Aprenda em 24 Horas Web Services. So Paulo:


Campus, 2003.

POSTGRESQL. PostgreSQL: The world's most advanced open source


database. Disponvel em: <http://www.postgresql.org/> Acesso em: 10 nov.
2005.

SILVA, R. C. Avaliao da Plataforma .Net em Ambientes Free para


Sistemas E-Learning. Ponta Grossa, 2004. Monografia (Especializao em
Informtica) Universidade Estadual de Ponta Grossa.

TPC. The Transaction Processing Performance Council. Disponvel em:


<http://www.tpc.org/ > Acesso em: 10 nov. 2005.

TPC-APP. TPC Benchmark App (Application Server) Especification


Version

1.1.1.

Disponvel

em:

<

http://www.tpc.org/tpc_app/spec/TPC-

App_V1.1.1.pdf> Acesso em: 22 nov. 2005.


VIEIRA, M.; DURES, J.; MADEIRA, H. Especificao e Validao de
Benchmarks de Confiabilidade para Sistemas Transaccionais. IEEE Latin
America Transactions, Jun. 2005.

VAZ, M. S. M. G. MetaMdia Um Modelo de Metadados na Indexao e


Recuperao de Objeto Multimdias. Recife, 2000. Tese (Doutorado em
Cincia da Computao) Universidade Federal de Pernambuco.

Você também pode gostar