<$BlogRSDUrl$>

quinta-feira, fevereiro 26, 2004

 

Replicação do repositório


  • Aumenta a tolerancia a falhas

  • Aumenta a disponibilidade do serviço

  • Backup ou balanceamento de carga??

  • Gerido pelo serviço de localização??


  •  

    Protocolos para sincronismo


    Protocolo de Detecção e Propagação de Actualizações (PDPA)

  • Detectar alterações, quer do repositório quer da réplica

  • Propagar essas alterações

  • Confirmar as alterações


  • Protocolo de Detecção e Resolução de Ameaças (PDRA)

  • Detectar possiveis ameaças (alteração dos mesmos registos)

  • Resolver ameaças reais (alteração dos mesmos dados)


  •  

    Identificadores

  • É necessário criar identificadores globais para evitar conflitos na replicação

  • Uma possivel solução é colocar informação local associada ao identificador


  • Funcionamento offline

  • Uma alteração offline tem de ser confirmada pelo repositório

  • E entretanto na réplica?

  •      1. Cria-se uma vista que permita conjugar essas alterações à custa do log
         2. Assume-se que é válida e caso exista conflitos no repositório, este procede à reposição do estado anterior

    Funcionamento online

  • Modo assincrono, alterações registadas em log e posteriormente actualizadas (semelhante ao modo offline)

  • Modo sincrono?

  •      1. Aumento do trefego
         2. Operações mais lentas
         3. Diminui conflitos porque os dados encontrna-se num estado mais consistente.
         4. Reduz a probabilidade de ameaças, visto que só uma réplica estará online em cada momento

    quarta-feira, fevereiro 25, 2004

     

    Controlo dos registos



    Para controlo dos registos surgio a ideia de marca-los com um identificador de versão:
  • Cada registo deve conter o seu numero de versao

  • Deverá conter tambem a identificação da réplica que a gerou (será preciso???)
  • Incremento da versão sempre que é feita uma actualizção
  • Incremento é feito pelo repositório

    Esta informação permite verificar se uma determinada réplica está actualizada comparando a sua versão com a do repositório.

    É preciso armazenar as versões anteriores??
  • Permite fazer rollback caso existam inconsistências com outras réplicas detectadas posteriormente
  • Origina uma grande quantidade de dados que podem ter pouca utilidade

    E se criar um mecanismo de validação de versões???
  • Após garantir que todas as réplicas procederam a actualizações, posteriormente à criação dessa versão, podemos afirmar que essa versão está consistente ou válida
  • Todas as versões anteriores à última versão consistente são superfulas
  • Elimina-se muita informação
  • Para que uma versão seja consistente é necessário que todas as réplicas procedam a actualizações, pode demorar muito tempo

    E se garantirmos um tempo limite para contestação???
  • Todas as actualizações que tivessem sido realizadas anteriormente mas actualizadas posteriormente seriam eliminadas
  • Pode gerar alguma confusão
  • Notificar cliente dessa situação???

  •  

    Começou a saga do Repositório de Dados


    Problemas a resolver:
  • Sincronização das réplicas

  • Garantir consistência de dados

  • Resolução de ameaças entre réplicas

  • Como funcionar em online e offline


  • Arquitectura

    Cada cliente tem um repositório e zero ou mais réplicas.

    This page is powered by Blogger. Isn't yours?