Informações Principais
     Resumo
     Abstract
     Introdução
     Conclusão
     Download
  
  
  
 
Introdução
 
 
Acadêmico(a): Francisco Roeder
Título: Agrupamento e ordenação nas consultas em bancos de dados distribuídos através de driver JDBC
 
Introdução:

A necessidade de integração de informações distintas, armazenadas em locais diferentes, seja fisicamente ou logicamente, é cada vez mais necessária. Conclui-se isso através de Oracle (2007), que cita “conforme os dispositivos inteligentes multiplicam-se, as redes tornam-se poderosas e os volumes de dados se expandem, cresce a necessidade de bancos de dados integrados”. Segundo Özsu e Valduriez (2001, p. 2), é possível alcançar a integração sem centralização e é exatamente isso que a tecnologia de Banco de Dados Distribuídos (BDD) tenta obter. “podemos definir um banco de dados distribuído como uma coleção de vários bancos de dados logicamente inter-relacionados, distribuídos por uma rede de computadores.” (ÖZSU; VALDURIEZ, 2001, p. 5).
A integração de informações armazenadas de formas diferentes pode trazer benefícios, como por exemplo, em uma empresa multinacional onde as sedes de cada país possuem uma base de dados diferenciada. Ou ainda, haver um portal onde se deseja executar uma consulta entre informações de instituições de mesma finalidade, como universidades, polícias, hospitais entre outros. Além disso, em empresas de pequeno porte e com Bancos de Dados (BD) heterogêneos e gratuitos esta integração se torna mais difícil.
Baseando-se no acima exposto, foi dado continuidade ao trabalho acadêmico de Gonçalves (2007) que teve como propósito a construção de uma solução para que aplicações acessem BDD. Esta solução é composta por um driver Java Database Connectivity (JDBC) e uma ferramenta para criar o mapeamento entre as bases de dados. Este mapeamento, denominado de Esquema Conceitual Global (ECG) (ÖZSU; VALDURIEZ, 2001), é armazenado no formato eXtensible Markup Language (XML) e o driver utiliza esse arquivo para executar as consultas.
O driver desenvolvido em Gonçalves (2007) concede suporte às consultas de forma global, ou seja, permite que seja executada uma consulta através de várias bases de dados, relacionando as tabelas e colunas das mesmas através do ECG e retornando as informações de forma unificada. Para exemplificar, um caso onde há uma tabela CLIENTES em dois bancos de dados distintos, sejam do mesmo fabricante ou não. Através da ferramenta desenvolvida por Gonçalves (2007), é possível no ECG, criar uma relação entre as colunas destas duas tabelas e definir uma nova tabela em nível lógico, chamada CLIENTES_GLOBAL, por exemplo. Ao realizar uma consulta desta nova tabela, a partir do driver, seriam retornados registros das tabelas CLIENTES de ambas as bases de dados. Quando a fragmentação dos dados é feita desta forma, usando linhas de duas tabelas, trata-se de fragmentação horizontal (ÖZSU; VALDURIEZ, 2001).
No trabalho de Gonçalves (2007), apesar de permitir consultas utilizando as cláusulas de agrupamento e ordenação, estas só eram executadas em cada um dos bancos envolvidos e não sobre o contexto global. O presente trabalho de conclusão implementou essas melhorias no driver.