Gerência de Transações em MDS Consistência de dados em conectividade intermitente Francisco de...

Post on 16-Apr-2015

105 views 1 download

Transcript of Gerência de Transações em MDS Consistência de dados em conectividade intermitente Francisco de...

Gerência de Transações em Gerência de Transações em MDSMDS

Consistência de dados em Consistência de dados em conectividade intermitenteconectividade intermitente

Francisco de AssisUFCG/COPINPós-graduação - Banco de Dados - 2007.1

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

CONSISTÊNCIA DE CONSISTÊNCIA DE DADOS EM DADOS EM CONECTIVIDADE CONECTIVIDADE INTERMITENTEINTERMITENTE

Tópico1

13/04/2007 3

Agenda – Consistência de Agenda – Consistência de dadosdados

MotivaçãoO modelo de consistênciaOperando em conectividade

fracaRestaurando a consistência

13/04/2007 4

Motivação – Consistência de Motivação – Consistência de dadosdados

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/2007 5

Conceitos - ClusterConceitos - Cluster

Dados nos “sítios” fortemente conectados possuem alta consistência – formam um cluster.

13/04/2007 6

Cluster

Site

Um certo grau de inconsistência é admitido para cópias dos dados em clusters diferentes.

BD Distribuído Fraca conectivida

de

Conceitos - LeituraConceitos - Leitura

Leitura fraca◦Weak Read (WR)◦Lê cópias (possivelmente)

inconsistentesLeitura estrita (explícita,

rígida, ...)◦Strict Read (SR)◦Lê cópias consistentes

13/04/2007 7

Conceitos - EscritaConceitos - Escrita

Escrita fraca◦Weak Write (WW)◦Faz “atualização condicional”

Escrita estrita (explícita)◦Strict Write (SW)◦Grava dados de forma permanente

13/04/2007 8

Conceitos - VantagensConceitos - Vantagens

O grau de inconsistência pode ser adaptado as condições de uso.◦Usando Weak e Strict de forma

balanceadaProvê 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/2007 9

O modelo de consistênciaO modelo de consistência

13/04/2007 10

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)

Modelo “extendido”Modelo “extendido”

Weak Read (WR)

Lê cópias locais e retorna o valor mais atual

Melhor esforçoLê cópia local mais atual (core ou quasi)

ConservadoraLê 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)

EventualEscreve apenas em cópias core

ImediataEscreve em cópias core e quasi, num mesmo p-cluster

13/04/2007 11

Extensões

Exemplo práticoExemplo práticoAmbiente cooperativoAmbiente cooperativo

13/04/2007 12

p-clusterGrupo B

Notebook

PDA

Servidor

p-clusterGrupo A

Cópia core para Grupo ACópia quasi para Grupo B

O modelo de consistênciaO modelo de consistênciaPara realizar uma transação, o

DMS (Database Management System) consulta várias cópias do dado◦Traduz o resultado num único valor

13/04/2007 13

O modelo de consistênciaO modelo de consistência

13/04/2007 14

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”

Exatidão dos dadosExatidão dos dados

13/04/2007 15

Restrições de integridade são “relaxadas”◦Não há como garantir “corretude

total” em conexão intermitente

Exatidão dos dadosExatidão dos dados

13/04/2007 16

O problema!

Restrição

IF X > 0 THEN Y > 0

Core Quasi

X = -1

Y = 2

X = -1

Y = -4Transaçã

o

X = 10;IF Y < 0 Y = 10;

Realização da

transação(Strict-

Imediata)

SW (x)SR (y)

Inconsistência

Core Quasi

X = 10Y = 2

X = 10Y = -4

A cópia quasi de X foi alterada sem se preocupar com a restrição!

Exatidão dos dadosExatidã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/2007 17

Exatidão dos dadosExatidão dos dados

13/04/2007 18

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

Operando em conectividade Operando em conectividade fracafraca

13/04/2007 19

Como fazer o agendamento correto da transação (scheduling)?

Como garantir a corretude da transação?

Como serializar a transação?

Agendamento completo Agendamento completo intra-clusterintra-cluster

13/04/2007 20

Intra-cluster é:◦Num mesmo p-cluster◦Entre as cópias quasi

Agendamento completo Agendamento completo intra-clusterintra-cluster

13/04/2007 21

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;

Critério de corretudeCritério de corretude

13/04/2007 22

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

Critério de corretudeCritério de corretude

13/04/2007 23

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

SerializandoSerializando

13/04/2007 24

Atestar a corretude de um IAS◦ Usando um grafo de serialização

modificadoIncluir 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ênciaSe uma IAS têm um grafo acíclico, então

a corretude é forte

SerializandoSerializando

13/04/2007 25

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

Limitando a divergênciaLimitando a divergência

13/04/2007 26

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;◦...

Outras vantagens do Outras vantagens do modelomodelo

13/04/2007 27

Leituras weak = dados “imprecisos”◦Mais flexibilidade para o usuário◦Oferece bons resultados se a

aplicação tratar com dados estatísticos

MECANISMO DE MECANISMO DE CONTROLE DE CONTROLE DE CONCORRÊNCIACONCORRÊNCIA

Tópico1I

13/04/2007 28

Agenda – Controle de Agenda – Controle de concorrênciaconcorrência

MotivaçãoModelos disponíveisAdaptando modelos

13/04/2007 29

Motivação – Controle de Motivação – Controle de concorrênciaconcorrência

Adaptar mecanismos existentes◦Ou não!

Analisar o overhead◦Deve ser mínimo para MDS!

13/04/2007 30

Modelos disponíveisModelos 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/2007 31

Adaptando modelosAdaptando modelos

Poucas alternativas foram pensadas!◦Distributed HP-PPL CCM

Resolve conflitos usando: Prioridade Status (bloqueado, gravando) Acrescenta timeout para MDS

13/04/2007 32

Adaptando modelosAdaptando 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 Kumar13/04/2007 33

Então...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”

BibliografiaBibliografia

http://citeseer.ist.psu.edu/ramamritham94formal.html

http://www.cs.uoi.gr/~pitoura/distribution/Mobile/icdcs95-slides.ps

http://ieeexplore.ieee.org/iel5/69/17849/00824602.pdf?arnumber=824602

http://doi.ieeecomputersociety.org/10.1109/69.824602

13/04/2007 35