Download - deggauer

Transcript
  • 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 encontra-

    se 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

  • 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, Addison-Wesley 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/databasesIIIdistributedDBMSs.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