[MO410A]–Banco de Dados I
ImageDatabase - Relatório 1
24 de Abril de 2006
Alunos:
Cláudio Siqueira de Carvalho
Nádia Puchalski Kozievitch
Roteiro
1.
2.
3.
4.
5.
Introdução
Conceitos Básicos
Descrição do Trabalho Realizado
Metodologia
Conclusão
1. Introdução

Um sistema de gerência de banco de dados (SGBD) pode
ser definido como sendo um pacote de sistemas que
fornece funcionalidades da gerência de dados para a
criação, recuperação, manipulção e manutenção de um
banco de dados


Tipos binários -> armazenamento de imagens


Suporte a vários tipos de dados. Ex: numéricos, datas, cadeias
e binários.
Importante para a área de Sistemas de Informação Geográfica
(GIS).
Objetivo do projeto:

Realização de um estudo comparativo de SGBDs no que diz
respeito ao gerenciamento (inserção, remoção e realização de
consultas) de imagens.
2. Conceitos Básicos
 MySQL
 MyISAM
 InnoDB
 PostgreSQL
2.1. MySQL
 Um dos SGBDs mais populares com mais
de 4 milhões de instalações pelo mundo.
Utiliza a linguagem SQL como interface.








Portabilidade;
Compatibilidade;
Desempenho e estabilidade;
Pouco exigente quanto a recursos de hardware;
Facilidade de uso;
Software Livre;
Implementa tipos geométricos;
Suporte a vários tipos de tabelas.
2.1.1. MyISAM
 Bom desempenho na leitura de dados 
 Índices em árvores binárias balanceadas;
 Arquitetura simplificada.
 Desvantagens 
 Não oferece mecanismos para controle de
transação e mecanismos de integridade
referencial;
 Mecanismo de lock (geral) por tabela.
2.1.2. InnoDB
 Desenvolvido pela InnoDBase e integrado ao MySQL a
partir da versão 4.0.
 Vantagens: 
 Integridade referencial (SET NULL, RESTRICT, etc);
 Ferramenta para backup on-line;
 Lock de registro;
 Níveis de isolamento;
 Armazenamento de dados em tablespaces.
 Exige mais memória e disco que o MyISAM. Apresenta
mais lento em algumas situações. 
2.1.2. InnoDB
 Tipo binário para armazenamento de qualquer tipo de
dados
 Utilizado para imagens.
 BLOB (Binary Large Object)
 TINYBLOB: 8bits carac. e 1 de controle;
 BLOB: 1) com 16bits carac. e 2 de controle;
 MEDIUMBLOB: 1) com 24 bits de carac. e 3 de
controle;
 LONGBLOB: 1) com 32 bits de carac. e 4 de controle.
 Preferência para uma tabela InnoDB exclusiva para
imagens.
2.2. PostgreSQL
 Um dos SGBDs de código fonte aberto mais
avançados. É gratuito.









Consultas complexas;
Chaves estrangeiras;
Integridade transacional;
Controle de concorrência multi-versão;
Suporte ao modelo híbrido objeto-relacional;
Suporte a tipos geométricos;
Triggers;
Views;
Stored procedures.
2.2. PostgreSQL
 Dois tipos para armazenamento de
imagens:
 oid e bytea.
 oid insere um na tabela. bytea
utilizado objeto (imagem) e insere
um identificador para armazenar
cadeias binárias.
3. Descrição do Trabalho Realizado:
Etapas
 Escolher os SGBDs a serem
comparados;
 MySQL (Versão 14.12 Versão 5.0.19)
 PostgreSQL (Versão 8.1.2)
 Determinar computadores utilizados:
 M32_HP: 2G de RAM, arquitetura 32 bits
 M64_DUAL: 1G de RAM, arquitetura 64
bits
3. Descrição do Trabalho Realizado
 Aspectos do Escopo Inicial:
 Imagens utilizadas: 90 imagens de 50
MB
 A não utilização dos tipos geométricos do
Mysql e PostgreSQL
 Tabela de imagens sem metadados
 A não utilização do modelo de dados do
WebMaps
3. Descrição do Trabalho Realizado
 A instalação dos SGBD’s
 Arquiteturas 32 e 64 bits;
 Diferenças do PostgreSQL e MySQL no
armazenamento físico.
 Geração dos scripts para criação e
população do banco (PostgreSQL,
MySQL InnoDB e MySQL MyISAM).
3. Descrição do Trabalho Realizado
CREATE TABLE IMAGE(
Date date not null,
image oid not null,
constraint "pk_image" primary key
(Date)
);
CREATE TABLE IMAGE_MYISAM(
DATE date not null primary key,
image longblob not null
) TYPE=MYISAM;
CREATE TABLE IMAGE_INNODB(
DATE date not null primary key,
image longblob not null
) TYPE=INNODB;
lo_import
'.../mo410/imagens/30092001__NDVI.tif';
insert into imagem(data,imagem) values(
'30/09/2001 00:00:00',:LASTOID);
INSERT INTO IMAGE_MYISAM (DATE, IMAGE)
VALUES(str_to_date('22/03/2001','%d/%m
/%Y'),
LOAD_FILE(".../mo410/imagens/22032001_NDVI
.tif"));
INSERT INTO IMAGE_MYINNODB(DATE, IMAGE)
VALUES(str_to_date('22/03/2001','%d/%m
/%Y'),
LOAD_FILE(".../mo410/imagens/22032001_NDVI
.tif"));
4. Metodologia: Etapas Realizadas
1) OS BANCOS DE DADOS POSTGRESQL x MYSQL
1.1) Verificar informações sobre os bancos e como funcionam com relação a
imagens;
1.2) seus tipos, operações, possíveis extensões, funções especiais;
2) CONFIGURAÇÃO DE MÁQUINA
2.1) Verificar configuração da máquina utilizada
(memória, processamento, quantas máquinas testar)
3) BANCO DE DADOS
3.1) Verificar instalação/configuração do MySQL/PostgreSQL;
-verificar sua dificuldade de instalação;
3.2) Obter conjunto de imagens
ex: conjunto de imagens de satélite de 1 mês
3.3) Verificar metadados e construir o modelo de dados;
3.4) Implementar modelo e carregar informações no banco.
-Verificar banco de dados do Webmaps
-Criar tabela no MySQL (InnoDB e MyISAM) e PostgreSQL
3.5) Verificar como fazer carga e exportação dos arquivos de imagens para o
sistema
4. Metodologia: Etapas Futuras
3.6) Verificar o método para avaliar o desempenho:
-utilizar benchmark (TPC) (a decidir)
-utilizar alguma outra ferramenta (Jmeter http://jakarta.apache.org/jmeter/) (a decidir)
-alguma outra ferramenta para tratar de imagens (a decidir)
-medir somente o tempo de resposta (a decidir)
3.7) Estudar o método de avaliação de desempenho e sua interação
com o sistema;
3.8) Criar script para operações escolhidas, gerando um trace.
3.9) Executar operações escolhidas 5 vezes nos 2 BD's
3.10) Analisar saídas de scripts, gerar médias e gráfico no gnu-plot
3.11) Analisar informações
3.12) Finalizar o relatório
4. Metodologia:
Possibilidades de Pesquisa
 Integração com o WebMaps;
 Utilização de extensões (PostGIS, por
ex.)
 Utilização dos tipos geométricos do
PostgreSQL e MySQL
 Simulação do ambiente multi-usuário
5. Conclusão
 Foram escolhidos os SGBDs MySQL e
PostgreSQL, gratuitos. Possuem suporte
para o armazenamento de imagens.
 Os SGBDs foram instalados sem grandes
complicações.
 Um escopo inicial foi definido. As decisões
tomadas buscam reduzir o escopo do
projeto e permitir que futuras extensões
sejam agregadas.
 Gerados os scripts a próxima fase é a
simulação e avaliação de resultados.
PERGUNTAS??
Obrigado!
Download

3. Descrição do Trabalho Realizado