Parte I: Fundamentação Teórica
2.7 Descrição de Serviços em Grid Computacional
A característica básica do acesso e restrições de acesso aos recursos está em definir quais são as condições que devem ser satisfeitas. A partir do acesso é necessário estabelecer um contrato de serviço entre o fornecedor e o consumidor para garantir a ambos as condições de fornecimento e utilização do recurso. Os protocolos são fundamentais nesse acordo para definir forma e comportamento esperados [Pernas e Dantas, 2004].
2.7.1 Ontologias
Define-se como o desenvolvimento de um vocabulário que contém conceitos relativos ao domínio de aplicação. É uma especificação formal (interpretável por máquina) e explícita de uma conceituação (modelo abstrato de um fenômeno do mundo) compartilhada (captada por um grupo).
Os componentes de uma ontologia são: classes (expressa qualquer coisa sobre a qual alguma coisa é dita); relações (interação entre a classe e o domínio); funções (um único elemento se relaciona com os elementos anteriores) e axiomas (sentenças verdadeiras) [Pernas e Dantas, 2004].
Ao se utilizarem as ontologias é possível proporcionar um entendimento amplo sobre as características e propriedades de suas classes e relacionamentos.
2.7.3 Ontologias para descrição de recursos do Grid
Utilizam-se axiomas para determinar o conhecimento sobre o recurso e seu funcionamento. Além disso, os recursos são descritos por: metadados (guardam informações sobre os recursos computacionais) e visões semânticas (retorna informações sobre o funcionamento no momento da pesquisa) [Pernas e Dantas, 2004]. Desta forma, é natural que todos os recursos do Grid devem estar presentes nos metadados e as visões semânticas, sendo dinâmicas, devem refletir a situação do recurso.
2.7.4 Arquitetura de Grids a partir de Ontologias
A ontologia proposta atua nos serviços de diretórios do Grid. As consultas realizadas para localização dos recursos são feitas com base no vocabulário definido na ontologia. A ontologia se localiza em uma camada à parte do Grid uma vez que as solicitações atuam
inicialmente nos metadados que consultam as visões semânticas para retornar informações sobre os recursos disponíveis [Pernas e Dantas, 2004].
3 Banco de Dados em Grid Computacional
As principais aplicações em uso na Grid são baseadas em arquivo de dados porque esta tem sido mais utilizada no meio acadêmico e científico [Watson, 2003]. Neste meio praticamente não há utilização de sistemas gerenciadores de banco de dados (SGBD).
Por outro lado, as aplicações comerciais utilizam os SGBD em larga escala devido à facilidade de manipulação e controle, especialmente em dados transacionais, que a linguagem SQL (Structured Query Language) oferece.
Um requisito básico para que a Grid Computacional possa extrapolar o uso no meio acadêmico e ser também utilizado por empresas comerciais é a necessidade de se integrar aos principais sistemas gerenciadores de bancos de dados. Até o momento, poucos trabalhos têm explorado essas formas de integração [Watson, 2003], mas os que estudam a adoção de SGBD nas aplicações em Grid, demonstram que há ganhos significativos mesmo em aplicações estritamente científicas [Santisteban et al., 2004]. A constatação que se faz dessa experiência é que os SGBDs possuem melhores meios de filtro de dados, indexação e pode utilizar paralelismo nas buscas. Ao concentrar as atividades dos pesquisadores na ciência e ao se deixar que o SGBD cuide da complexidade de acesso e gerenciamento de dados, o ganho de produtividade é significativamente aumentado.
No meio acadêmico uma Grid Computacional trabalha com um volume muito grande de dados. Fala-se que, em um futuro próximo, será alcançado o patamar de petabytes de informação [Chede, 2005]. Ao se optar pela utilização de SGBD será possível manter os dados com maior segurança, obter melhor desempenho e encapsular processos complexos necessários para manipulação de arquivos de dados.
Os SGBDs possuem recursos muito mais potentes do que os sistemas baseados em arquivos de dados. Além do simples armazenamento de dados, os SGBDs garantem maior segurança e agilidade ao processo. Por este motivo é necessário criar condições de integração à Grid e esta integração não deve diminuir os recursos utilizados pelas aplicações comerciais. De outra forma, a adoção da Grid pela comunidade não acadêmica estará prejudicada.
Parece consenso entre os principais estudiosos do assunto que não se deve criar um novo banco de dados para ser utilizado na Grid Computacional [Watson, 2003]. Isso demandaria tempo e esforços que já foram feitos. O que se tem feito é buscar criar algum mecanismo semelhante a um protocolo e que permitisse realizar os principais serviços dos bancos de dados, tirando o máximo proveito dos serviços da Grid Computacional. A este
mecanismo que, conforme analisado anteriormente, deve ser baseado em serviços, dá-se o nome de Banco de Dados Federalizado ou Banco de Dados Virtual (figura 3.1).
Tanto no meio acadêmico e científico como no ambiente empresarial, é necessário trabalhar com dados estruturados, semi-estruturados e não estruturados. Este Banco de Dados Virtual deve prever a utilização desses tipos de dados. O mecanismo sugerido guarda alguma semelhança com os padrões ODBC e JDBC, mas há interesse em não limitar ou nivelar por baixo os bancos de dados, como acontece com estas APIs (Application Program Interface). Como a arquitetura proposta é baseada em serviços, os produtos deverão indicar o que se pode ou não realizar [Watson, 2003].
Imagina-se que, com a adoção crescente das Grids Computacionais por parte das empresas, haverá interesse por parte das empresas fornecedoras de SGBDs de portar seus produtos para o Banco de Dados Virtual [Watson, 2003].
Figura 3.1 – Nesta estrutura, o Banco de Dados Virtual se encarrega de armazenar e distribuir as informações entre os bancos de dados que estiverem na Grid Computacional. As aplicações devem se comunicar com o Banco de Dados Virtual e ele resolve as demais questões. A comunicação do banco de dados virtual pode se dar com dados estruturados, semi-estruturados ou não estruturados.