Grids Computacionais como Tendência no Processamento de Bancos de Dados

 

Caros leitores,

A computação distribuída é uma realidade evidente no contexto dos Sistemas Gerenciadores de Banco de Dados. Neste artigo, apresentaremos o conceito de uma tecnologia distribuída emergente: os Grids Computacionais.

 

Atualmente, o custo para ter-se um banco de dados com capacidade de terabytes (1024 gigabytes) já não é, relativamente, tão alto. Com a evolução da capacidade de armazenamento, cientistas estão planejando experimentos físicos e simulações que geram arquivos de resultados enormes na ordem de petabytes (1024 terabytes). Essa grande quantidade de dados demanda mais recursos computacionais para ser analisada e ter esses recursos em um único lugar é impraticável.

Esses avanços que a tecnologia tem experimentado, principalmente nas áreas de bancos de dados e de redes de computadores, levaram à idéia de utilizar computadores, independentes e geograficamente dispersos, conectados em uma plataforma para execução de aplicações paralelas. Esta plataforma, chamada comumente de Grid Computacional, apresenta características diferentes das outras plataformas existentes, principalmente devido a sua heterogeneidade (diversidade de computadores), compartilhamento com outros usuários e complexidade.

O termo Grid Computacional vem exatamente da analogia feita à rede elétrica (Electric Power Grid) baseado nas malhas de interligação dos sistemas de distribuição de energia elétrica, nos quais um usuário utiliza a eletricidade sem ao menos saber onde ela foi gerada. Esta representa a infra-estrutura que permitirá avanços na computação, de um modo geral, como ocorreu com a rede elétrica. Essa infra-estrutura necessita de software específico para monitorar e controlar o ambiente.  Segundo Ian Baird, Grid é uma infra-estrutura emergente que faz o processamento e o acesso a dados serem possíveis de qualquer lugar e a qualquer horário, sem que alguém seja obrigatoriamente notificado. Em outras palavras, Computação em Grid é uma coleção de recursos heterogêneos e distribuídos, possibilitando que os mesmos sejam utilizados em grupo para executar aplicações de larga escala.

 

Neste momento vocês podem estar se perguntado: “Mas qual a diferença dos Grids para a computação distribuída tradicional ?”. A diferença se dá pelo fato de que a computação distribuída é um conceito que vem dos anos 80 e 90, consistindo na possibilidade de resolver um determinado problema computacional através da utilização de diferentes recursos distribuídos geograficamente. A computação distribuída passa a ser uma “Computação em Grade” no momento em que existe uma infra-estrutura física e uma infra-estrutura lógica (software) que permita coordenar os trabalhos que vão ser processados e garantir a sua qualidade de serviço. Os Grids são uma evolução da computação distribuída, uma vez que eles são orientados essencialmente para aplicações que precisam de uma grande capacidade de cálculos e/ou enormes quantidades de dados transmitidos de um lado para o outro.

 

Não podemos imaginar que a tecnologia em Grid é uma panacéia (resolução de todos os problemas neste contexto), pois se imaginarmos uma aplicação sendo executada paralelemente em diversos pontos, é fácil visualizar a necessidade de divisão da mesma em partes coordenadas e interdependentes que necessitarão de alteração de código. Além disso, é necessário consolidar soluções de níveis de prioridade para acesso aos recursos da rede. Contudo, as pesquisas sobre Grids permitirão que empresas acessem e compartilhem bases de dados de forma remota, o que é essencialmente benéfico para as ciências da saúde ou comunidades de pesquisa, cujos volumes grandiosos de dados são gerados e analisados durante todo o dia. Já imaginaram o fato de  uma empresa que possui filiais em países com fusos diferentes poder usar, durante o dia, o poder de processamento dos computadores da filial no Japão, ociosos neste horário por ser noite ? Este é o futuro com a evolução da computação distribuída. SGBDs como o Oracle já começam a apresentar características de processamento baseadas em Grids Computacionais. Em um próximo artigo, descreveremos as novas características do Oracle 10g baseadas nesta tecnologia.

Abraços e até o próximo artigo,

 

Methanias Colaço Júnior