35
Gerência de Transações em MDS Gerência de Transações em MDS Consistência de dados em Consistência de dados em conectividade conectividade intermitente intermitente Francisco de Assis UFCG/COPIN Pós-graduação - Banco de Dados - 2007.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

Embed Size (px)

Citation preview

Page 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

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

Page 2: 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

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?

Page 3: 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

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

Tópico1

13/04/2007 3

Page 4: 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

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

Page 5: 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

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

Page 6: 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

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

Page 7: 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

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

Page 8: 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

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

Page 9: 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

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

Page 10: 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

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)

Page 11: 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

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

Page 12: 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

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

Page 13: 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

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

Page 14: 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

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”

Page 15: 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

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

Page 16: 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

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!

Page 17: 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

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

Page 18: 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

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

Page 19: 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

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?

Page 20: 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

Agendamento completo Agendamento completo intra-clusterintra-cluster

13/04/2007 20

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

Page 21: 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

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;

Page 22: 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

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

Page 23: 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

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

Page 24: 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

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

Page 25: 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

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

Page 26: 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

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

Page 27: 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

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

Page 28: 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

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

Tópico1I

13/04/2007 28

Page 29: 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

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

MotivaçãoModelos disponíveisAdaptando modelos

13/04/2007 29

Page 30: 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

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

Page 31: 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

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

Page 32: 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

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

Page 33: 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

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

Page 34: 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

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”

Page 35: 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

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