CONSTRUÇÃO DE UM BANCO DE DADOS PARA O LIMA

Documentos relacionados
Palavras-chave: (banco de dados; prontuário médico; paciente); deve vir logo abaixo do resumo

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 9- Introdução ao JDBC

1.2- Ambientes de Middleware

Sistemas Gerenciadores de Banco de Dados

SOFTWARE DE APOIO A GESTÃO DE SOLICITAÇÃO DE MUDANÇAS

ESTUDO DE REDES P2P PARA ARMAZENAR E RECUPERAR DADOS. Área CNPq: SISTEMAS DE COMPUTAÇÃO

Banco de dados POO Márcio Delamaro. Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP

Escalonamento de Aplicações BoT em Ambiente de Nuvem

Aula 06 Sistemas Embarcados LT38C

5.1. Fluxo para geração do Roadmap

ESTUDO DE PLATAFORMAS PARA A CONSTRUÇÃO DE APLICAÇÕES MÓVEIS. Gabriel de Biasi¹; Nilton Cézar de Paula²

JADEX: A BDI REASONING ENGINE. Alexander Pokahr, Lars Braubach e Winfried Lamersdorf Springer US - Multi-Agent Programming 2005 pp.

DOCUMENTAÇÃO SISTEMA DE ADMINISTRAÇÃO DE CONSULTÓRIO MÉDICO

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Departamento de Computação Curso de Análise e Desenvolvimento de Sistemas Modelagem Conceitual de Dados

BD II (SI 587) Programação SQL. Prof. Josenildo Silva.

Introdução. descrever os tipos de interfaces e linguagens oferecidas por um SGBD. mostrar o ambiente de programas dos SGBD s

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO CONCEITO DE SOFTWARE PROFESSOR CARLOS MUNIZ

De forma simples, para a execução de comandos SQL com JDBC, precisa-se da instancia de três classes Java. São elas: Nome da classe Função

DDL DML DCL DTL Tipos Numéricos: INT FLOAT DOUBLE Tipos String: CHAR VARCHAR BINARY BLOB TEXT Tipos Data e Hora: DATE TIME TIMESTAMP YEAR

SQL Básica DDL. Prof. Marcos A. Schreiner. 21 de outubro de Curso de Licenciatura em Computação

Projeto Final Curso de Java Básico

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan

Estágio Supervisionado

O JasperReports Studio é uma ferramenta de software que oferece um ambiente visual para criar relatórios para a plataforma Java. É open source.

Conexão do Banco de Dados localhost

Um Calculador de Capacidade de Computação para Nós de Máquinas Virtuais LAM/MPI

Benvindo ao Curso de Introdução ao Firebird com Ferramenta de Relatórios!

Arquiteturas de Computadores. Programa de Pós-Graduação em Ciência da Computação. Plano da aula

Arquiteturas para SGBD. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

POO Documentation. Release 1.0. Felipe Dau e Francisco Pereira Junior

ANÁLISE DO MOTOR DE EXECUÇÃO DA TECNOLOGIA GUARANÁ 1 ANALYSIS OF THE RUNTIME ENGINE OF GUARANÁ TECHNOLOGY

Versão: 1.0 Doc Manager

Avanços e Perspectivas do Projeto Integrade na UFMA

BCD29008 Banco de dados

Nuvem e Virtualização Redes Programáveis

Banco de Dados. Professora: Luciana Faria

Persistência BD / drivers

Globo Photo Documentation

Introdução a Computação em Nuvem

Executa em qualquer plataforma que possua o Java (JDK) da Oracle

Introdução a Computação em Nuvem

Introdução aos Sistemas Operacionais

Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan

Como criar um banco de dados usando o mysql

CP Introdução à Informática Prof. Msc. Carlos de Salles

Lista de Exercícios da disciplina Aplicações de Linguagem de Programação Orientada a objetos

P R O F. M E. H É L I O E S P E R I D I Ã O. Eng. Computação

Leia-me do Veritas System Recovery 16 Management Solution

PAULI FIGUEREDO GOMES USO DE COMPUTAÇÃO EM GRADE EM ORGANIZAÇÕES VIRTUAIS

TECNOLOGIAS DE ACESSO A BASES DE DADOS. Profª Ana Paula Cação Maio de 2018

Unidade III. Unidade III. Existe uma tendência dos sistemas de informação a funcionarem cada vez mais em Intranets e na Internet.

Estruturas de Sistemas Operacionais

INTRODUÇÃO AO MYSQL. Eng. Computação

MANUAL DO USUÁRIO SISTEMA GERENCIADOR DE SENHAS VERSÃO GUICHÊ

DESENVOLVIMENTO DE UM SISTEMA DE GERENCIAMENTO PARA UMA EMPRESA ESPECIALIZADA EM VENDAS DE TERNOS E CAMISAS SOCIAL 1 INTRODUÇÃO

Ferramenta: Spider-UCP. Manual do Usuário. Versão da Ferramenta: 1.0.

Sistemas Operacionais. Aula 1

Bancos de Dados Notas de Aula Introdução Prof. Dr. Daniel A. Furtado

S Q L Asserções, Visões e Técnicas de Programação. Daniel Bordignon Cassanelli Fernando Luiz Grando Pedro Patitucci Finamore

TOTVS Utilização dos Aplicativos. Arquitetura e Instalação

Hibernate Anotations

AULA 8. Ambientes Visuais 8.1. OBJETIVO DA AULA SQL (Structured Query Language)

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

Manual de Instalação

Modelos de Dados Temporais

DESENVOLVIMENTO DE UM SISTEMA DE ARQUIVOS INSTALÁVEL PARA LINUX. Thiago Klein Flach Orientador: Mauro Marcelo Mattos

Matéria Introdutória. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

TSE TRIBUNAL SUPERIOR ELEITORAL

BCD29008 Banco de dados

MySQL. Prof. César Melo. com a ajuda de vários

InGriDE: Um Ambiente Integrado de Desenvolvimento para Computação em Grade

Administração de Sistemas Operacionais. Prof. Marlon Marcon

Leia-me do Veritas System Recovery 16 Management Solution

Características de Sistemas de Arquivos Distribuídos Serviços de nomes e diretórios

Instalação JDK. Joyce França. Professora de Ciência da Computação - IFNMG

Desenvolvedor Android: Avançado. Plano de Estudo

Manual de Instalação Flex

Manual de Instalação Corporate

4 Testes e experimentos realizados 4.1. Implementação e banco de dados

Grid Computing Implementação utilizando o framework Alchemi

Banco de Dados I Introdução SQL

Guia de Segurança do Oracle Hardware Management Pack para Oracle Solaris 11.3

Manual de instalação e configuração

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Sistema Operacional. Prof. Leonardo Barreto Campos. 1/30

Instrução de Trabalho: Instalar Client

O AMBIENTE DE DESENVOLVIMENTO

3 Arquitetura do Sistema

2 Versão 1: Funcionalidade Básica e Interface Web

Algoritmos e Programação

Um Framework para a Avaliação de Desempenho de Bancos de Dados

Domínio Personalizado 1 Não aplicável. Largura de Banda

QEEF-G: Execução Paralela Adaptativa de Consultas Iterativas

Laboratório de Banco de Dados. Prof. Luiz Vivacqua.

Manipulação de Dados com SQL

Triggers(Gatilhos) Tiago Alves de Oliveira

Manual de instalação, configuração e utilização do Enviador XML

Transcrição:

CONSTRUÇÃO DE UM BANCO DE DADOS PARA O LIMA Jun Kei Silva¹; Nilton Cézar de Paula² ¹Estudante do Curso de Ciência da Computação; Universidade Estadual de Mato Grosso do Sul, UEMS; 018926@comp.uems.br ²Professor do Curso de Ciência da Computação; Universidade Estadual de Mato Grosso do Sul, UEMS; nilton@comp.uems.br Área Temática: Banco de Dados Resumo: Este resumo apresenta a construção de um banco de dados através de uma API (Application Programming Interface) para auxiliar o sistema LIMA (Light-weIght Monitoring Architecture) na descoberta de recursos de computação existentes em uma grade computacional. A construção do banco de dados consiste na organização de informações sobre recursos de computação em um formato adequado e no oferecimento de um conjunto de funcionalidades que venham a contribuir para melhorar a manipulação às informações armazenadas. As informações podem vir de diferentes gerenciadores de recursos locais, tais como o Condor, Ganglia ou PBS (Portable Batch System). Palavras-chave: API, Gerenciamento de dados e Gerenciamento de recursos. Introdução Computadores interligados em rede e clusters espalhados fisicamente e pertencentes a diferentes domínios administrativos podem ser utilizados de maneira transparente através de uma grade computacional (FOSTER; KESSELMAN; TUECKE, 2001). Para isto, é necessário um sistema de monitoramento de recursos de computação que colete as informações sobre os recursos e as disponibilize a outros subsistemas, tais como de seleção, alocação e gerenciamento de execução de aplicações (FOSTER; KESSELMAN, 1999). Dentre vários sistemas de monitoramento de recursos propostos nos últimos anos, tais como o Hawkeye (HAWKEYE, 2010), Ganglia (MASSIE; CHUN; CULLER, 2004) e o Monalisa (CIRSTOIU et al., 2007), o sistema LIMA (Light-weIght Monitoring Architecture) (DE PAULA, 2009) foi concebido com o objetivo de reduzir o uso das redes de comunicação e facilitar a seleção de recursos de uma grade de computação. No LIMA, os recursos são organizados em pools e cada pool é constituído de um cluster ou conjunto de computadores. As informações sobre os recursos são obtidas usando módulos de captura instalados e configurados nos pools e elas são distribuídas entre os diversos pools da grade.

O LIMA suporta provedores de informações como o Condor e o Ganglia. No entanto, vêm sendo investigadas novas funcionalidades ao LIMA para obter informações de recursos de computação gerenciáveis pelo PBS (Portable Batch System) (PBS, 2011). Usando o PBS surge a necessidade de organizar as informações sobre os recursos de computação, coletadas desse tipo sistema, e disponibilizá-las de forma eficiente usando tecnologias de bancos de dados. Assim, foi feito um estudo teórico/prático de bancos de dados para possibilitar a aquisição de conhecimentos para a manutenção dos dados do PBS para serem utilizados pelo LIMA. Materiais e Métodos Na primeira etapa foram estudados conceitos relacionados com bancos de dados, principalmente as arquiteturas existentes e as funcionalidades de manipulação de dados, como armazenamento, acesso e atualização. Esse estudo foi realizado através de bibliografia básica do assunto e documentações existentes na Internet (ELMASRI; NAVATHE, 2000). Em seguida, definiu-se as informações que o PBS possa fornecer consultando trabalhos publicados na área. Também, um formato de informações para o banco de dados foi concebido e feita a implementação das funcionalidades de manipulação do banco de dados em forma de API usando a linguagem Java (versão 1.6). O banco de dados utilizado foi o MySQL (versão 5.1) (MySQL, 2011) usando a linguagem SQL (Structured Query Language). Também, o ambiente de desenvolvimento utilizado foi o NetBeans IDE (Integrated Development Environment) (versão 7.0) e Java Development Kit (JDK) (versão 6). Antes de iniciar a implementação da API foi necessário preparar o ambiente onde foi realizada a instalação e configuração do MySQL, NetBeans IDE e Java. Na seqüência foi desenvolvida a API composta pelas seguintes classes: Main e BancoDados. Por fim, para a geração da documentação da API foi usada a ferramenta Javadoc. Resultados e discussões A API desenvolvida é composta por duas classes: Main e BancoDados, apresentadas na Tabela 1. A principal classe, BancoDados, oferece um conjunto de métodos que realiza as funcionalidades para a conexão e manipulação do banco de dados. Para seu desenvolvimento vários exemplos de utilização do comando SQL foram pesquisados, o que ajudou no entendimento do funcionamento de cada comando. Na Tabela 2 são apresentados os métodos implementados na classe BancoDados.

Main BancoDados Tabela 1: Principais classes da API. Programa principal. É responsável pela criação, manipulação e gerenciamento de informações do banco de dados por meio da criação de um objeto da classe BancoDados e chamada dos métodos desta classe. Classe com os métodos API que realizam os comandos SQL. São utilizados para acessar e processar os dados contidos no banco de dados. atualizaregistro comandosql criabd criatabela destroidatabase destroitabela fechabd insereregistro selecionaregistro setaconexaobd usabd Tabela 2: Métodos da classe BancoDados Atualiza um registro existente na tabela nomeada com novos valores. Executa um comando SQL, caso não exista implementada uma determinada operação desejada pelo usuário. Cria um banco de dados usando um nome fornecido, caso o banco de dados ainda não exista. Cria uma tabela com um nome fornecido para um banco de dados em uso. Apaga um banco de dados com todas suas tabelas do ambiente. Remove uma ou mais tabelas de um banco de dados em uso. Fecha a conexão ativa com o MySQL. Insere novos registros em uma tabela existente. Devolve registros selecionados de uma ou mais tabelas. Estabelece uma conexão com o MySQL. Coloca em uso um banco de dados. Um exemplo de uso é o método de conexão com o MySQL (Figura 1): setaconexaobd(string Host, String Porta, String nomebd, String Usuario, String Senha), onde os campos apresentados são preenchidos para configurar a conexão e é retornado uma variável do tipo Connection. Antes disso, é necessário carregar e linkar a classe do driver JDBC. Na Figura 1, o localhost é a máquina onde o banco de dados está configurado, 3306 é a porta de conexão com o banco, ic é o nome do banco de dados (ou vazio caso não exista um banco de dados), jun é o nome do usuário e 1234 é a senha do usuário para acesso ao banco de dados. Já a variável con do tipo Connection irá conter um acesso válido ao banco de dados o que permitirá realizar operações sobre ele, caso o valor seja nulo nenhuma manipulação no banco de dados poderá ser feita. con = bd.setaconexaobd ("localhost", "3306", "ic", "jun", "1234"); Figura 1: Exemplo de conexão com o MySQL.

Após a conexão, cria-se uma tabela com os campos que o PBS disponibiliza tais como quantidade de processadores ou memória RAM disponível, espaço em disco, plataforma de execução de aplicações, disponibilidade do recurso, entre outras informações. O método utilizado para criar a tabela foi criatabela(string nometabela, ArrayList valores), onde nometabela é inserido o nome da tabela e valores é uma lista contendo os elementos da coleção especificada, seguindo o padrão do comando SQL CREATE TABLE, como pode ser observado na Figura 2. lista.add("id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT"); lista.add("np LONG"); lista.add("availmem LONG"); lista.add("physmem LONG"); lista.add("netload LONG"); lista.add("state VARCHAR (25)"); lista.add("primary KEY (id)"); bd.criatabela("pbsnodes", lista); Figura 2: Exemplo de criação de uma tabela. Através dos métodos implementados insereregistro e atualizaregistro, a tabela criada, chamada pbsnodes, pode ser preenchida e modificada com informações do usuário, como demonstra a Figura 3. A seqüência dos dados na lista deve seguir a ordem dos campos da tabela. lista.add("4"); lista.add("11734580"); lista.add("3977796"); lista.add("55769945"); lista.add("'free'"); bd.insereregistro("pbsnodes", lista); Figura 3: Exemplo de modificação de um banco de dados. Para consultar os registro de uma tabela no banco de dados (Figura 4), chama-se o método selecionaregistro(string nomerg), inserindo no nomerg o nome da tabela. As informações são mostradas para o usuário. bd.selecionaregistro("pbsnodes"); Figura 4: Exemplo de consulta no banco de dados.

Caso o usuário não encontrar um método na API que manipula uma determinada operação no banco de dados, é possível enviar um comando SQL por meio do método comandosql(string comando), onde o campo a ser preenchido deve conter a operação desejada. A Figura 5 ilustra um exemplo desse método. bd.comandosql("select * FROM pbsnodes;"); Figura 5: Exemplo de um comando genérico para acesso ao banco de dados. Todos os métodos da classe BancoDados contém uma saída de mensagem de erro, caso as informações inseridas estejam incorretas ou as operações sejam inválidas. Conclusão O presente trabalho apresentou um estudo teórico e prático de banco de dados assim como o trabalho foi proposto, o que possibilitou a aquisição de conhecimentos para a manutenção dos dados do PBS para serem utilizados pelo sistema LIMA. Usando o PBS é necessário organizar as informações sobre os recursos de computação em um formato adequado, coletadas desse tipo de sistema, e disponibilizá-las de forma eficiente usando tecnologias de bancos de dados. Desenvolvendo a API, há uma maior facilidade na construção do banco de dados, na organização de informações, seleção de recursos, criação de aplicações e funcionalidades que venham a contribuir para melhorar a manipulação às informações armazenadas. Com os resultados alcançados, este trabalho poderá dar suporte a estudos mais avançados em pesquisas posteriores e auxílio a outros trabalhos. Referências bibliográficas CIRSTOIU, C. et al. Monitoring, Accounting and Automated Decision Support for the ALICE Experiment Based on the MonALISA Framework. In Proceedings of the 2007 Workshop on Grid Monitoring, p.39-44, 2007. DE PAULA, N. C. Um Ambiente de Monitoramento de Recursos e Escalonamento Cooperativo de Aplicações Paralelas em Grades Computacionais. Tese (Doutorado), Universidade de São Paulo, 2009.

ELMASRI, R.; NAVATHE, S. R. Fundamentals of Database Systems. Addison Wesley, 3ª edição, 2000. FOSTER, I.; KESSELMAN, C. The Grid: Blueprint for a New Computing Infrastructure. Morgan Kaufmann Publishers, 1999. FOSTER, I.; KESSELAM, C.; TUECKE, S. The Anatomy of the Grid: Enabling Scalable Virtual Organization. International Journal of High Performance Computing Applications, v.15, p.200-222, 2001. HAWKEYE. Disponível em: <http://www.cs.wisc.edu/condor/hawkeye/>. Acesso em: 20 de Outubro de 2010. MASSIE, M. L.; CHUN, B. N.; CULLER, D. E. The Ganglia Distributed Monitoring System: Design, Implementation, and Experience. In Proceedings of Parallel Computing, v.30, issue 7, 2004. MySQL. Conexão a um banco de dados MySQL. Disponível em http://netbeans.org/kb/docs/ide/mysql_pt_br.html Acesso em 26 de Abril de 2011. PBS. An introduction to PORTABLE BATCH SYSTEM (PBS). Disponível em http://hpc.sissa.it/pbs/index.html Acesso em 29 de Janeiro de 2011.