190 likes | 302 Views
[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. Introdução Conceitos Básicos Descrição do Trabalho Realizado Metodologia Conclusão. 1. Introdução.
E N D
[MO410A]–Banco de Dados IImageDatabase - Relatório 1 24 de Abril de 2006 Alunos: Cláudio Siqueira de CarvalhoNádia Puchalski Kozievitch
Roteiro • 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 • Suporte a vários tipos de dados. Ex: numéricos, datas, cadeias e binários. • Tipos binários -> armazenamento de imagens • 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; • Storedprocedures.
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).
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")); 3. Descrição do Trabalho Realizado
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.