A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Gerência de Transações em MDS Consistência de dados em conectividade intermitente Francisco de Assis UFCG/COPIN Pós-graduação - Banco de Dados - 2007.1.

Apresentações semelhantes


Apresentação em tema: "Gerência de Transações em MDS Consistência de dados em conectividade intermitente Francisco de Assis UFCG/COPIN Pós-graduação - Banco de Dados - 2007.1."— Transcrição da apresentação:

1 Gerência de Transações em MDS Consistência de dados em conectividade intermitente Francisco de Assis UFCG/COPIN Pós-graduação - Banco de Dados - 2007.1

2 Gerência de Transações em MDS o Como manter a consistência de dados se a conectividade é intermitente? o Como fazer o controle de concorrência em MDS?

3 CONSISTÊNCIA DE DADOS EM CONECTIVIDADE INTERMITENTE Tópico1 13/04/20073

4 Agenda – Consistência de dados Motivação O modelo de consistência Operando em conectividade fraca Restaurando a consistência 13/04/20074

5 Motivação – Consistência de dados Variação na conectividade De alta velocidade até alta latência Clientes móveis devem operar desconectados Clientes móveis podem operar em conectividade fraca A conexão será, eventualmente, restaurada 13/04/20075

6 Conceitos - Cluster Dados nos sítios fortemente conectados possuem alta consistência – formam um cluster. 13/04/20076 Cluster Site Um certo grau de inconsistência é admitido para cópias dos dados em clusters diferentes. BD Distribuído Fraca conectividade

7 Conceitos - Leitura Leitura fraca Weak Read (WR) Lê cópias (possivelmente) inconsistentes Leitura estrita (explícita, rígida,...) Strict Read (SR) Lê cópias consistentes 13/04/20077

8 Conceitos - Escrita Escrita fraca Weak Write (WW) Faz atualização condicional Escrita estrita (explícita) Strict Write (SW) Grava dados de forma permanente 13/04/20078

9 Conceitos - Vantagens O grau de inconsistência pode ser adaptado as condições de uso. Usando Weak e Strict de forma balanceada Provê adaptabilidade variável: A aplicação sempre decide o grau de inconsistência; ou O BD sempre decide o grau de inconsistência. 13/04/20079

10 O modelo de consistência 13/04/200710 p-cluster p-cluster = physical cluster Definido se: Há baixa latência; A banda é muito larga; - Objetivo: reduzir comunicação inter-cluster (entre p-clusters). - Usar WR e WW para acesso direto aos dados do mesmo p- cluster (maximizar processamento local). - Temos dois tipos de cópia: core: valor permanente. quasi: valor sob validação condicional. (são reconciliados no restabelecimento da comunicação)

11 Modelo extendido Weak Read (WR) Lê cópias locais e retorna o valor mais atual Melhor esforço Lê cópia local mais atual (core ou quasi) Conservadora Lê cópia local mais atual (apenas quasi) Strict Read (SR)Lê apenas cópias core e retorna o valor mais atual Weak Write (WW)Escreve em cópias quasi Strict Write (SW) Eventual Escreve apenas em cópias core Imediata Escreve em cópias core e quasi, num mesmo p-cluster 13/04/200711 Extensões

12 Exemplo prático Ambiente cooperativo 13/04/200712 p-cluster Grupo B p-cluster Grupo B Notebook PDA Servidor p-cluster Grupo A p-cluster Grupo A Cópia core para Grupo A Cópia quasi para Grupo B

13 O modelo de consistência Para realizar uma transação, o DMS (Database Management System) consulta várias cópias do dado Traduz o resultado num único valor 13/04/200713

14 O modelo de consistência 13/04/200714 A transação pode ser: Strict (não inclui operações Weak) São ACID! Weak (não inclui operações Strict) São executadas em cópias locais de um p-cluster São visíveis apenas em operações weak Weak + Strict Difíceis de definir! São separadas em sub-transações sub-weak + sub-strict

15 Exatidão dos dados 13/04/200715 Restrições de integridade são relaxadas Não há como garantir corretude total em conexão intermitente

16 Exatidão dos dados 13/04/200716 O problema! Restrição IF X > 0 THEN Y > 0 CoreQuasi X = -1 Y = 2 X = -1 Y = -4 Transação X = 10; IF Y < 0 Y = 10; Realização da transação (Strict-Imediata) SW (x) SR (y) Inconsistência CoreQuasi X = 10 Y = 2 X = 10 Y = -4 A cópia quasi de X foi alterada sem se preocupar com a restrição!

17 Exatidão dos dados A solução! 1. Ao fazer SW imediata, as cópias quasi devem verificar a consistência 2. Ao fazer SW imediata, as operações de leitura devem ser feitas nas cópias quasi 3. Adiar a atualização das cópias quasi 13/04/200717

18 Exatidão dos dados 13/04/200718 Conceito de l-cluster (logical cluster) É o conjunto de cópias quasi de um p-cluster As restrições são aplicadas nesses l-clusters Restrições intra-cluster definem se o estado do banco é ou não consistente Deve haver uma medida de divergências (d) entre restrições inter-cluster

19 Operando em conectividade fraca 13/04/200719 Como fazer o agendamento correto da transação (scheduling)? Como garantir a corretude da transação? Como serializar a transação?

20 Agendamento completo intra-cluster 13/04/200720 Intra-cluster é: Num mesmo p-cluster Entre as cópias quasi

21 Agendamento completo intra- cluster 13/04/200721 IAS = IntrA-cluster Schedule Operações sobre um dado são traduzidas em operações nas cópias; A ordem das transações é respeitada; Operações conflitantes são gravadas; A transação deve operar sempre na mesma cópia de um dado; Transações weak não podem ver resultados parciais de transações strict;

22 Critério de corretude 13/04/200722 Corretude fraca de um IAS A execução concorrente pode manter inconsistência Limiarizada! As transações weak devem ler dados consistentes As transações strict devem ser equivalentes a transações em cópia única Não garante corretude em clusters diferentes

23 Critério de corretude 13/04/200723 Corretude forte de um IAS Há divergências entre l-clusters diferentes Tenta fazer a correspondência entre: IAS de transações strict E agendamento serial. Ainda pode existir inconsistência

24 Serializando 13/04/200724 Atestar a corretude de um IAS Usando um grafo de serialização modificado Incluir no grafo: Todas as transações strict Adicionar arestas que representem operações em cópias Incluir transações weak Incluir arestas: dependência, precedência Se uma IAS têm um grafo acíclico, então a corretude é forte

25 Serializando 13/04/200725 Controle de coerência Todas as cópias têm o mesmo valor Vale globalmente para cópias core Vale localmente para cópias quasi Controle de concorrência Mantém as outras restrições de integridade

26 Limitando a divergência 13/04/200726 Em cada p-cluster, d é o grau de divergência entre cópias quasi e core, podendo ser: Número máximo de cópias divergentes; Faixa de valores aceitável para o dado; Número máximo de transações que podem agir numa cópia quasi;...

27 Outras vantagens do modelo 13/04/200727 Leituras weak = dados imprecisos Mais flexibilidade para o usuário Oferece bons resultados se a aplicação tratar com dados estatísticos

28 MECANISMO DE CONTROLE DE CONCORRÊNCIA Tópico1I 13/04/200728

29 Agenda – Controle de concorrência Motivação Modelos disponíveis Adaptando modelos 13/04/200729

30 Motivação – Controle de concorrência Adaptar mecanismos existentes Ou não! Analisar o overhead Deve ser mínimo para MDS! 13/04/200730

31 Modelos disponíveis Baseado em travamento 2 fases, centralizado Um nó é responsável pelo travamento 2 fases, com cópia primária Vários nós são responsáveis pelo travamento 2 fases, distribuída Qualquer nó é responsável pelo travamento Nenhum resolve o problema da comunicação intermitente! 13/04/200731

32 Adaptando modelos Poucas alternativas foram pensadas! Distributed HP-PPL CCM Resolve conflitos usando: Prioridade Status (bloqueado, gravando) Acrescenta timeout para MDS 13/04/200732

33 Adaptando modelos Epsilon Serializability Coloca limites para inconsistência Uma transação importa inconsistência Lendo dados não validados Uma transação exporta inconsistência Permitindo a leitura de dados não validados Melhor alternativa, segundo Kumar 13/04/200733

34 Então... o Como manter a consistência de dados se a conectividade é intermitente? R: Relaxando... o Como fazer o controle de concorrência em MDS? R: Usando Epsilon Serializability

35 Bibliografia http://citeseer.ist.psu.edu/ramamritham94 formal.html http://www.cs.uoi.gr/~pitoura/distribution /Mobile/icdcs95-slides.ps http://ieeexplore.ieee.org/iel5/69/17849/0 0824602.pdf?arnumber=824602 http://doi.ieeecomputersociety.org/10.11 09/69.824602 13/04/200735


Carregar ppt "Gerência de Transações em MDS Consistência de dados em conectividade intermitente Francisco de Assis UFCG/COPIN Pós-graduação - Banco de Dados - 2007.1."

Apresentações semelhantes


Anúncios Google