You are on page 1of 13

Universidade Federal de Santa Catarina

Programa de Ps Graduao em Cincias da Computao

Disciplina: INE651600
Sistemas Operacionais
Professor: Antnio Augusto Frhlich

Estudo Dirigido sobre Bancos de Dados Distribudos

Aluno: Renato Deggau matrcula 200800034


Setembro/2008

Banco de Dados Distribudos

1. Introduo
Este trabalho apresenta uma viso geral sobre Bancos de Dados Distribudos e efetua uma
descrio de pesquisas atuais na rea. Apresenta as caractersticas principais da tecnologia e
descreve trabalhos recentes que buscam atualizar os conceitos da tecnologia e do uso de
bancos de dados distribudos.

2. Bancos de Dados Distribudos


2.1 Conceitos
Banco de dados distribudo (BDD) pode ser definido com uma coleo de mltiplos bancos de
dados logicamente inter-relacionados e distribudos sobre uma rede de computadores. Um
sistema de gerenciamento de bancos de dados distribudos (SGBDD) pode ser definido como
um sistema que permite o gerenciamento dos BDDs e efetua a distribuio de forma
transparente aos usurios.
Num SGBDD todos os pontos esto interligados entre si, compartilhando de um mesmo
esquema global; cada ponto composto de um hardware e software prprios, com sistema
operacional, memria e discos prprios.
Esta tecnologia a unio de duas abordagens distintas da tecnologia da informao: sistemas
de banco de dados e redes de computadores. Numa primeira impresso, parece difcil
entender como estas abordagens contrastantes podem produzir uma tecnologia mais
poderosa e promissora do que cada uma individualmente. Mas a chave para esta compreenso
que a tecnologia da informao busca a integrao e no a centralizao. E isto exatamente
que a tecnologia de bancos de dados distribudos busca obter.

2.2 Vantagens, Desvantagens e Caractersticas


As principais vantagens dos bancos de dados distribudos so:

A natureza distribuda de algumas aplicaes de bancos de dados; muitas aplicaes


esto distribudas naturalmente em diferentes lugares. Uma empresa pode ter a sua
matriz e tem filiais espalhadas em diversos locais; natural que os dados deste banco
estejam distribudos entre as filiais, sendo que usurios locais do sistema tm acesso
aos dados da sua filial, enquanto usurios globais tm acesso ao conjunto de todos os
dados.
Maior confiabilidade e disponibilidade; estas so vantagens potenciais das bases
distribudas. Confiabilidade a probabilidade que um sistema esteja em
funcionamento em determinado momento. Disponibilidade a probabilidade que um
sistema esteja disponvel continuamente durante um intervalo de tempo. Quando os
dados esto distribudos em vrios pontos, se um ponto falha os demais continuam em
operao, ficando indisponveis somente os dados do ponto onde ocorreu o problema.
Isto melhora tanto a confiabilidade quanto a disponibilidade. Caso se utilize replicao

de dados atravs de um critrio adequado se obtm um ndice ainda maior. Num


sistema centralizado, a falha do ponto central faz com que toda a rede fique
indisponvel; porm numa rede com replicao, a queda de um ponto no significa a
indisponibilidade daqueles dados.
Possibilidade de compartilhamento de dados enquanto se mantm certo grau de
controle local; polticas distintas de acesso e uso dos dados podem ser estabelecidas
em cada ponto da rede; possvel controlar os dados e o software em cada ponto da
rede, possibilitando o acesso a usurios remotos de outros pontos, permitindo um
compartilhamento controlado de todos os dados de um sistema distribudo.
Melhor performance; com a distribuio dos dados de uma grande base de dados em
pontos menores, as consultas e transaes que tem acesso somente a dados de um
ponto ficam mais rpidas. E tambm, cada ponto tem um nmero menor de
transaes a gerenciar do que se todas as transaes estivessem num banco de dados
centralizado. Em cada ponto da rede, como existe apenas uma parte do banco de
dados, a conteno de CPU e de servios de I/O no so to fortes como em bancos
centralizados. E no caso de transaes que necessitam acessar diversos pontos, o
processamento pode ser efetuado em paralelo reduzindo o tempo de resposta.

As desvantagens que podem ser encontradas:

Complexidade alguns problemas so inerentemente mais complexos que em bancos


centralizados, assim como incluem alguns novos problemas.
Custos a necessidade de hardware adicional, principalmente nos aspectos
relacionados a servios de infra-estrutura de comunicao, incrementa o custo, assim
como a necessidade de aumento de pessoas para o gerenciamento desta nova
estrutura. Entretanto este custo deve ser comparado com os benefcios advindos da
nova estrutura.
Controle a distribuio de controle, considerada tambm como uma vantagem, cria
problemas de sincronizao e coordenao, caso polticas adequadas no sejam
adotadas.
Segurana um dos maiores benefcios dos ambientes centralizados o controle que
proporciona para o acesso aos dados. Em ambientes distribudos, uma rede
envolvida onde requisitos prprios de segurana so requeridos. Desta forma, os
aspectos relativos segurana em ambientes distribudos so mais complexos que em
ambientes centralizados.

Esta distribuio de dados produz um aumento da complexidade do projeto do banco de


dados e da implementao do sistema. Para que as vantagens anteriormente descritas sejam
obtidas necessrio que o software gerenciador do banco de dados distribudo tenha, alm
das funes de um banco centralizado, as seguintes caractersticas:

A possibilidade de ter acesso a pontos remotos e transmitir dados e consultas entre os


diversos pontos atravs da rede;
A capacidade de seguir o caminho da distribuio e replicao dos dados atravs do
catlogo do banco de dados distribudo;

A capacidade de elaborar estratgias de execuo para consultas e transaes que


tenham acesso a dados de mais de um ponto;
A capacidade de decidir a qual cpia de um elemento de informao replicada se ter
acesso;
A capacidade de manter a consistncias das copias de um elemento de informao
replicado;
A capacidade de recuperar-se de quedas de pontos individuais e de outros tipos de
falhas como a falha no enlace de comunicao.

Estas funes elevam a complexidade de um SGBDD em comparao com um SGBD


centralizado. Para a utilizao adequada destes potenciais obtidos com a distribuio devemos
obter solues satisfatrias para estas questes.
No nvel fsico, hardware, os principais fatores que distinguem um sistema centralizado de um
distribudo so:

Possuem muitos computadores, chamados pontos, stios ou ns;


Estes pontos devem estar conectados atravs de uma rede de comunicao.

Estes pontos podem estar fisicamente prximos, ligadas por uma rede local (LAN), ou
geograficamente distantes, ligadas atravs de uma rede de longa distncia (WAN). A
combinao desta situao tambm pode ser utilizada.
As redes podem possuir diferentes topologias para definir o caminho de comunicao entre
elas. O tipo de topologia pode ter impacto significativo sobre o rendimento da rede.

2.3 Armazenamento dos dados


Uma relao ou tabela num banco de dados distribudo pode estar armazenada segundo
diversos enfoques:

Fragmentao: a tabela particionada em fragmentos e cada fragmento


armazenado em um ponto diferente;
Replicao: o sistema mantm cpias da tabela que so armazenadas em pontos
diferentes;
Replicao e fragmentao: a tabela particionada em vrios segmentos, e cpias
destes segmentos so distribudas pelo sistema.

A fragmentao horizontal definida como o subconjunto de tuplas de uma relao. As tuplas


que pertencem a este subconjunto so determinadas atravs de uma condio que envolva
um ou mais atributos desta relao. Esta condio pode ser, por exemplo, um atributo de
departamento ou localizao geogrfica. A fragmentao horizontal divide a relao
horizontalmente atravs de algum significado lgico. E estes fragmentos podem ento ser
associados a diferentes pontos do sistema distribudo.
A fragmentao vertical definida como o subconjunto de certos atributos de uma relao.
Num exemplo de um cadastro, poderamos separar as informaes pessoais em um fragmento
e as informaes pessoais em outro fragmento. necessria a replicao da chave primria
nos segmentos para os segmentos fragmentados possam ser reagrupados ou para que se

tenha acesso s demais informaes de uma tupla. A fragmentao vertical consiste na diviso
em colunas de uma relao.
Um conjunto de fragmentos horizontais cuja unio corresponda a todas as tuplas de uma
relao R, denomina-se fragmentao horizontal completa de R; um conjunto de fragmentos
verticais cuja projeo inclui todos os atributos de R denomina-se fragmentao vertical
completa de R.
A mescla destas duas fragmentaes produz uma fragmentao mista. Um fragmento de uma
relao pode ser obtido atravs da combinao de operaes SELECAO e PROJEO.
Um esquema de fragmentao de uma base de dados uma definio de um conjunto de
fragmentos que incluem todos os atributos e tuplas de uma base de dados e satisfaa a
condio de que a base completa possa ser reconstruda atravs de operaes de unio.
Um esquema de repartio descreve a diviso de fragmentos entre os pontos do banco
distribudo, ou seja, uma correspondncia que especifica onde armazenado cada
fragmento. Se um fragmento armazenado em mais de um ponto, se diz que ele est
replicado.
A replicao til para melhorar a disponibilidade dos dados. Um banco de dados distribudo
chamado de totalmente replicado quando toda a base de dados est replicada em todos os
pontos que o compe. Isto melhora a disponibilidade, pois o sistema pode operar enquanto
houver algum ponto ativo. Melhora tambm a performance das consultas, porque o resultado
de qualquer consulta pode ser obtido localmente. A desvantagem da replicao completa
que diminui drasticamente a velocidade das operaes de atualizao, pois uma s atualizao
deve ser executada em cada uma das copias da base para que a consistncia seja mantida. O
oposto da replicao completa no ter nenhuma replicao, onde cada fragmento encontrase em apenas um ponto da rede. Entre estes dois casos temos uma ampla gama de replicao
parcial dos dados. Um esquema de replicao uma descrio da replicao dos fragmentos
de um banco de dados distribudo.
Cada fragmento, ou cada copia de fragmento, deve estar associada a um ponto determinado
do sistema distribudo. Este processo se chama distribuio dos dados. A escolha dos pontos e
o grau de replicao dependem dos objetivos de performance e disponibilidade desejados.

2.4. Tipos de Sistemas Distribudos


Os bancos de dados distribudos podem ser divididos em diferentes tipos, de acordo com
algumas caractersticas.
O primeiro fator o grau de homogeneidade do sistema. Se todos os servidores locais utilizam
software idntico, se diz que o banco de dados distribudo homogneo. Em caso contrrio se
diz que heterogneo.
Bancos homogneos so mais simples de administrar, tem uma abordagem que prov um
crescimento incremental e permite uma performance incremental. Nos bancos heterogneos,
os pontos podem implementar seus prprios bancos de dados, sendo a integrao considerada
e tratada posteriormente; existe a necessidade de tradues para permitir a integrao entre

os diferentes hardwares, produtos de banco de dados e a combinao destes. Uma soluo


tpica neste caso o uso de gateways.
O Open Group formalizou uma especificao nominada Specification Working Group (SWG)
para permitir a criao de um ambiente de infra-estrutura de banco de dados onde h:

Common SQL API para permitir que aplicaes cliente sejam escritas sem a
necessidade de conhecer o fornecedor do banco de dados que esta sendo acessado;
Commom Database Protocol: permite que um banco de dados de um fabricante
comunique-se com um banco de dados de outro fabricante sem a necessidade de um
gateway
Common network protocol: para permitir a comunicao entre diferentes bancos de
dados

Outro fator relacionado com o grau de homogeneidade o grau de autonomia local. Se todo o
acesso ao banco se da atravs de um cliente, dizemos que o sistema no tem autonomia local.
Se permitir as transaes locais acessarem diretamente um servidor, o sistema ter certo grau
de autonomia local. Num extremo de autonomia temos um banco de dados distribudo que da
ao usurio a impresso de um banco centralizado. S h um esquema conceitual, e todo o
acesso se d atravs de um cliente, sem existir autonomia local. No outro extremo
encontramos com um tipo de banco de dados distribudo denominado federado (ou sistema
de mltiplas bases de dados - MDBS). Num sistema assim, cada servidor um SGBD
centralizado independente e autnomo que tem seus prprios usurios, transaes locais e
um DBA, possuindo assim alto grau de autonomia local.
Cada servidor pode autorizar o acesso a partes especificas de acordo com as classes dos
usurios. Um sistema federado uma combinao de sistemas distribudos e centralizados.
Para usurios autnomos locais um sistema centralizado e para usurios globais um
sistema distribudo.
Em sistemas heterogneos um servidor pode ser um banco relacional, outro pode ser um de
rede e outro um banco hierrquico. Neste caso [e necessrio contar com uma linguagem e
incluir tradutores de linguagem no cliente a fim de traduzir as consultas.
Um terceiro aspecto que serve para a classificao das bases de dados distribudas o grau de
transparncia da distribuio, ou grau de integrao dos esquemas. Se o usurio percebe um
s esquema integrado sem informao alguma relativa fragmentao, replicao ou
distribuio, se que diz que o SGBDD tem alto grau de transparncia de distribuio. Se o
usurio pode ver toda a fragmentao e a replicao, o SGBDD no tem transparncia de
distribuio.

2.5 Processamento de consultas em bancos distribudos


Examinaremos como o SGBDD processa e otimiza uma consulta. Num sistema distribudo,
vrios fatores complicam o processamento de uma consulta. O primeiro o custo de transferir
dados pela rede, quer sejam arquivos intermedirios de troca entre pontos de rede ou os
resultados finais de uma consulta que devem ser transferidos ao ponto original.

Por este motivo os algoritmos de otimizao de consultas em SGBDD consideram o objetivo de


reduzir a quantidade de dados transferidos como critrio de otimizao para a escolha de uma
estratgia de execuo de uma consulta distribuda. A soluo que prover a menor taxa de
transferncia de dados ser a escolhida como estratgia de otimizao.
A juno parcial se baseia na idia de reduzir o numero de tuplas de uma relao antes de
transferi-la para outro ponto. A idia enviar a coluna de juno de uma relao para o ponto
onde se encontra a outra relao. Depois disso, os atributos de juno, associados aos
atributos de resultado so extrados e devolvidos ao ponto original. Isto pode ser uma soluo
eficiente quando uma pequena frao das tuplas pertence juno.

2.6 Decomposio das consultas e das atualizaes


Em SGBDD sem transparncia de distribuio, o usurio de consultas deve especificar a sua
consulta diretamente sobre fragmentos especficos. Deve tambm garantia a consistncia dos
elementos replicados quando atualiza informaes. Em SGBDD com transparncia de
distribuio, a alterao especificada como num banco centralizado, e o sistema se
encarrega de manter a consistncia dos elementos replicados.
No caso de consultas, um mdulo de decomposio de consultas devera dividir uma consulta
em sub-consultas que possam ser executadas nos pontos individuais, combinando os
resultados e formando o resultado da consulta. Para determinar qual replica faz referencia aos
elementos da consulta, o SGBDD consulta as informaes de fragmentao, replicao e
distribuio em seu catlogo.

2.7 Controles de concorrncia e recuperao em bancos de dados


distribudos
No controle de concorrncia e recuperao num banco de dados distribudos, surgem muitos
problemas que so inexistentes em um banco de dados centralizado. So eles:

Manipular mltiplas cpias dos elementos de informao o mtodo de controle de


concorrncia tem a obrigao de manter consistentes as diversas copias. O mtodo de
recuperao deve cuidar que uma copia seja consistente com as demais no caso da
recuperao posterior de um ponto que tenha ocorrido falha.
Falhas de pontos individuais o SGBDD deve continuar operando com seus pontos
ativos quando os demais falham. Quando um ponto se recupera, sua base de dados
deve se atualizar com os demais pontos antes de se reincorporar ao sistema.
Falhas nos enlaces de comunicao o sistema deve ser capaz de tratar falhas em um
ou mais dos enlaces de comunicao entre os pontos. Um caso extremo deste
problema que pode haver particionamento da rede. Isto divide os pontos em duas
ou mais parties dentre as quais os pontos podem se comunicar, porm no com as
outras parties.
Confirmao de gravao distribuda pode haver problemas para confirmar uma
transao que est tendo acesso a bases armazenadas em mltiplos pontos se alguns
destes pontos falham durante o processo de confirmao; um protocolo de
confirmao de fases deve ser usado para resolver este problema.

Gerenciamento do Deadlock distribudo pode ocorrer um deadlock entre os diversos


pontos, tornando necessria a extenso de tcnicas de manejo de deadlocks para
considerar este ponto. O controle pode ser atravs um coordenador de deadlock
centralizado, ou por ma deteco hierrquica ou pela deteco distribuda de
deadlock.

As tcnicas de controle de concorrncia e de recuperao distribuda devem resolver estes e


outros problemas. A seguir algumas destas tcnicas sero descritas.
2.7.1 Controle de concorrncia distribuda baseada em cpia distinta de um
elemento de informao
Existem vrios mtodos de controle de concorrncia distribuda que tratam os elementos de
informao de uma base distribuda, que se baseiam numa extenso das tcnicas de controle
de concorrncia das bases centralizadas. Sero analisadas estas tcnicas no contexto de
estender o bloqueio centralizado. A idia designar uma determinada copia de cada elemento
de informao como uma copia distinta. Os candidatos a este elemento de informao se
associam a esta cpia e todas as solicitaes de bloqueio e desbloqueio se enviam ao ponto
que contem esta cpia.
Diferentes mtodos se baseiam nesta idia, diferindo na forma de escolha da cpia distinta. Na
tcnica de ponto primrio, todas as cpias ficam no mesmo ponto. Uma modificao deste
enfoque o ponto primrio com ponto de backup. Outro enfoque a cpia primaria, no qual
as copias se podem armazenar em diversos pontos. Vamos detalhar estes mtodos:
2.7.1.1 Tcnica do ponto primrio
Neste mtodo se designa um s ponto primrio como ponto coordenador para todos os
elementos. A vantagem deste enfoque que ele uma simples extenso do enfoque
centralizado e, portanto no muito complexo. Mas possui algumas desvantagens: a possvel
sobrecarga deste ponto gerando um gargalo no sistema. Outra desvantagem que uma falha
neste ponto primrio paralisaria o sistema j que toda a informao de bloqueio se mantm
neste ponto. Isto pode limitar a confiabilidade e disponibilidade do sistema. Ainda que o
acesso de todos os candidatos se d no ponto primrio, o acesso aos elementos pode se dar
em qualquer ponto que residam.
2.7.1.2 Tcnica do ponto primrio com ponto de backup
Esta tcnica busca resolver a segunda desvantagem do mtodo anterior; indicando outro
ponto como backup. Toda a informao de bloqueio se mantm nos dois pontos. No caso de
falha do ponto principal, o backup assume as funes. Porem este processo torna o acesso
mais lento, j que os acessos devem ser efetuados tanto no ponto primrio como no backup,
sobrecarregando o sistema.
2.7.1.3 Tcnica da cpia primria
Este mtodo tenta distribuir a carga entre os vrios pontos, mantendo cpias distintas de
elementos diferentes de informao armazenadas em pontos distintos. Uma falha num ponto
afeta todas as transaes que esto tendo acesso a elementos cujas cpias primrias residam
neste ponto, mas as demais transaes no so afetadas. Este mtodo tambm pode usar
pontos de backup para aumentar a confiabilidade e a disponibilidade.

2.7.1.4 Eleio de um novo ponto coordenador em caso de falha


Sempre que um ponto coordenador falha em qualquer das tcnicas anteriores, os pontos que
seguem ativos devero eleger um novo coordenador. Num caso de ponto primrio sem ponto
de backup, ser preciso abortar e reiniciar todas as transaes em execuo. Este processo
ser trabalhoso. Parte do processo implica em selecionar um novo ponto primrio e criar um
processo gestor de bloqueios e um registro dos bloqueios deste ponto. Em mtodos que usam
pontos de backup, o processamento de transaes suspenso, o ponto de backup se nomeia
como novo ponto primrio; ento escolhido outro ponto de backup e se enviam a ele todas
as informaes de bloqueio do novo ponto primrio. O novo ponto de backup pode ser
escolhido entre os pontos ativos do sistema dentre quaisquer dos pontos ativos atravs de
uma eleio.
2.7.2 Controle de concorrncia baseada em votao
Os mtodos analisados at aqui se baseiam na idia de uma copia que mantm os bloqueios
deste elemento. No mtodo de votao no h copia distinta e cada solicitao de bloqueio
enviada a todos os pontos que tenham uma cpia do elemento de informao. Cada cpia
mantm seu prprio bloqueio e pode conceder ou negar a solicitao. Se a maioria das cpias
fornece um bloqueio para a transao que a solicita, esta obter o bloqueio e informar a
todas as cpias que o mesmo foi concedido. Se uma transao no recebe a maioria dos votos
durante certo perodo de tempo pr-definido, a solicitao ser cancelada e informada a todos
os pontos.
O mtodo de votao se considera um mtodo de controle verdadeiramente distribudo, j
que a responsabilidade da deciso cai sobre todos os pontos envolvidos. Estudos de simulao
indicam que a votao tem um trfego maior de mensagens entre os pontos do que o mtodo
de cpia distinta. Se o algoritmo leva em conta as possveis falhas dos pontos durante o
processo de votao, este se torna extremamente complexo.
2.7.3 Recuperao distribuda
O processo de recuperao de bases de dados distribudas bastante complexo. Em certos
casos bastante difcil determinar se um ponto est inativo, sem trocar um grande nmero de
mensagens com outros pontos. Outro problema com a recuperao distribuda a gravao
distribuda. Quando uma transao est atualizando dados em diversos pontos, no possvel
a gravao sem a certeza de que o efeito da transao em todos os pontos no pode se
perder. Isso significa que cada ponto deve ter gravado permanentemente em disco os efeitos
da transao.

3. Aspectos atuais de pesquisa em Bancos de Dados Distribudos


A seguir so descritos alguns aspectos de pesquisa atuais na rea de Bancos de Dados
Distribudos:

Gorla [4] apresenta um estudo que aperfeioa o particionamento vertical, incluindo


restries de integridade referencial, tempos de acesso baseados em heurstica, e um
modelo de custo que considera outros tipos de transao como updates e joins. Os
resultados obtidos apresentam ganhos de 36% a 65% sobre casos no particionados. O
mtodo aplicado em pequenos bancos de dados resultou em esquemas particionados

que so comparveis ao timo. A procedure proposta pelo autor produz solues de


particionamento em poucos segundos, e pode ser aplicada em bancos de dados
distribudos e orientados a objeto.
Wiesmann[5] apresenta uma comparao de performance das tcnicas de replicao
de bancos de dados baseadas na primitiva total order broadcast, que assegura que
todas as mensagens so entregues de forma confivel na mesma ordem em todas as
rplicas. efetuada uma comparao entre estas tcnicas e tcnicas clssicas de
replicao como cpias primrias, bloqueio distribudo e outras. As avaliaes
mostram que as tcnicas baseadas no total order broadcast tm desempenho
superior. E que a diferena de desempenho se amplia em casos de redes lentas e
sujeitas a conteno. Isso se deve ao fato de que as tcnicas de bloqueio distribudo
usam muito os recursos de mensagens. Em redes mais rpidas recursos de CPU e disco
so candidatos maiores a gargalo do que uma rede no indicando, porm que a
comunicao no seja um ponto a considerar na replicao de bancos de dados:
mltiplas cpias ainda levam a problemas como custos de sincronizao e altas taxas
de interrupo do processo. Mas estas caractersticas no tem relao com a
performance da rede e sim com o projeto da tcnica de replicao.
Huebsch [6] aborda a questo do processamento de mltiplas queries de agregao
simultnea, onde o processamento de cada query de forma individual se torna
impraticvel, tornando a otimizao de mltiplas queries um processo crtico. A idia
do processo diminuir a comunicao na rede. Sua idia avana sobre o contexto de
queries de agregao distribudas que variam nos seus predicados. A partir de um
nmero q de queries de agregao, buscam-se oportunidades de identificar K queries
onde k << q, atravs da identificao de conexes entre os dados e os predicados
destas queries.
Atreya [7] apresenta uma abordagem para a identificao de predicados stable em
computao distribuda; o deadlock em sistemas distribudos um exemplo de stable
properties. Eles apresentam um algoritmo que se mostra mais eficaz para esta
identificao, atravs do monitoramento de mudanas de valor em variveis
relevantes: isto feito atravs de mudanas na aplicao para que o algoritmo de
deteco identifique modificaes em variveis relevantes ou pelo monitoramento
sem alterao do programa, mas atravs de uma abordagem mais eficiente.
Hachen [8] descreve o sistema Gaea, um sistema de gerenciamento de bancos de
dados espao-temporais para bancos de dados cientficos. O sistema se prope a:
fornecer suporte de banco de dados para todas as fases do gerenciamento de dados e
metadados cientficos; estender a tecnologia de banco de dados com classes de
operadores que respondam as crescentes necessidades da pesquisa cientfica; integrar
domnios espaciais e temporais envolvendo grandes volumes de dados e permitir uma
clara extenso para um ambiente de computao distribuda envolvendo bancos de
dados heterogneos e especializados com recursos computacionais. Dentro da
estrutura do Gaea, o sistema de back-end consiste de um banco de dados distribudo.
Este ambiente distribudo consiste de operadores de anlises cientificas os quais esto
disponveis em sistemas de domnio pblico ou comerciais.
Gupta [9] apresenta uma proposta para otimizao da verificao de integridade em
bancos de dados distribudos. Ela baseada em um algoritmo que permite que uma

constraint global (constraint que deve ser aplicada nos vrios bancos) seja analisada
com o acesso aos dados em uma base nica, eliminando o custo de acesso a dados
remotos. Isto se d atravs da identificao da restrio global e dos dados a serem
inseridos numa base local. O algoritmo produz uma condio local de forma que se o
dado local satisfizer esta condio, esta ser aceita na restrio global. Caso contrrio
existe a necessidade de verificao global.
Baio [10] apresenta a aplicao da teoria da reviso no projeto de bancos de dados
distribudos atravs de algoritmo que decide a tcnica de fragmentao a ser utilizada
em cada classe do banco de dados. Esta tcnica encontra esquemas de fragmentao
melhores e aumenta a performance.
Lin [11] apresenta um estudo que mostra uma nova abordagem para o processo de
checkpoint em bancos de dados distribudos.
Wildemberg [12] trata do problema da alocao de dados em bancos de dados
distribudos. Algoritmos de alocao so usados para descobrir uma distribuio de
dados ideal. Ele prope um novo algoritmo que busca um custo de execuo mnimo,
mantendo a complexidade do algoritmo original. O algoritmo apresenta resultados
melhores que o algoritmo original.
Baio [13] indica que os principais problemas em bancos de dados distribudos
concentram-se em: distribuio dos dados (particionamento e replicao); controle de
concorrncia distribudo onde se busca um equilbrio entre manuteno da
consistncia e o alto nvel de concorrncia; o processamento de consultas distribudo
onde deve ser considerado o custo de otimizao e o custo de execuo. Destaca
como pontos em aberto: problemas de crescimento da rede; o processamento de
transaes distribudo e a integrao com sistemas operacionais distribudos j que os
bancos de dados distribudos possuem caractersticas especficas tais como suporte a
transaes distribudas com controle de concorrncia e recuperao e que no so
esto perfeitamente integradas com sistemas operacionais distribudos. Levanta
tambm a questo da integrao da convergncia de bancos de dados distribudos
com a gerncia de dados na Web, existindo a necessidade de convergncia de duas
culturas distintas, com necessidades de interoperabilidade e mudanas de tecnologia,
como arquiteturas multi-camadas e servios Web

4. Concluses e utilizao no meu trabalho


A tecnologia de bancos de dados distribudos tem evoludo e seus conceitos utilizados ou
aplicados em novas tecnologias. O trabalho identificou vrios pontos de pesquisa que visam
aperfeioar este processo. A Web exigiu novos esforos para a integrao dos bancos de
dados distribudos, onde os processos so compostos por sistemas no to fortemente
acoplados que so ligados por tecnologias como Web Services. E o controle de transaes
sobre estes sistemas precisa continuar garantindo as propriedades das transaes, garantindo
a consistncia e a confiabilidade do banco de dados.
Em minha dissertao, que busca a integrao e novas formas de representao de
informaes atravs de data-warehouses e sistemas de informao geogrfica, no tenho
identificado ainda a necessidade de uso de bancos de dados distribudos. Porm esta

tecnologia pode ser utilizada e considerada como um aspecto na busca e integrao de


informaes provenientes de diversas fontes de dados que poderiam estar num banco de
dados distribudo.

Bibliografia
[1] ELMASRI, NAVATHE Sistemas de Bases de Datos, segunda Edicion, AddisonWesley Iberoamericana
[2] zsu, Valduriez Principles of Distributed Database Systems Prentice Hall, 1991
[3] Clack. C. DatabasesIIIdistributedDBMSs. Dsiponvel em
http://www.cs.ucl.ac.uk/staff/C.Clack/3C13/powerpoints/databasesIIIdistributed
DBMSs.ppt. Acesso em 24/08/2008.
[4] Gorla, Narasimhaiah. A Methodology for Vertically Partitioning in a Multi-Relation
Database Environment. JCS&T Vol. 7 No. 3. 217-227
[5] Wiesmann, Shiper. Comparision od database replication techniques based on total
order broadcast. IEEE TRANSACTIONS ON KNOWLEDGE AND DATA
ENGINEERING, VOL. 17, NO. 4, APRIL 2005. 551-566
[6] Huebsch et al. Sharing Aggregate Computation for Distributed Queries.
SIGMOD07, June 1114, 2007, Beijing, China
[7] Atreya et al. Efficient detection of a locally stable predicate in a distributed system.
J. Parallel Distrib. Comput. 67 (2007) 369 385
[8] Hachen et al. Distributed Database Management for Scientific Data Analysis.
Worcester Polytec Institute.USA
[9] Gupta. A. Local verification of global integrity constraints in distributed databases.
In Proceedings of the ACM SIGMOD International Conference on Management
of Data, 1993
[10] Baiao. Applying Theory Revision to the Design of Distributed Databases.
Disponivel em http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.58.261
[11] Lin J. Dunham M. A survey of distributed database checkpointing. Distributed and
Parallel Databases Journal. 1997. Vol 5 p 31.
[12] Wildemberg et al. Alocao de Dados em Bancos de Dados Distribudos. SBBD
2003
[13] Baiao, F. Banco de Dados Distribudo. Apresentao. Disponvel em
www.cos.ufrj.br/~baiao/ISExpert2003/BDDPublicado.pdf. Acesso em
29/08/2008

You might also like