serialização relaxada em banco de dados múltiplos

24
Serialização Relaxada em Serialização Relaxada em Banco de Dados Múltiplos Banco de Dados Múltiplos Andressa Sebben [email protected]

Upload: hali

Post on 19-Mar-2016

22 views

Category:

Documents


0 download

DESCRIPTION

Serialização Relaxada em Banco de Dados Múltiplos. Andressa Sebben [email protected]. Dados do artigo. MEHROTRA, S., RASTOGI, R., KORTH, H. F., AND SILBERSCHATZ, A. 1992. Relaxing serializability in multidatabase systems. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Serialização Relaxada em Banco de Dados Múltiplos

Serialização Relaxada em Banco de Serialização Relaxada em Banco de Dados MúltiplosDados Múltiplos

Andressa [email protected]

Page 2: Serialização Relaxada em Banco de Dados Múltiplos

Dados do artigoDados do artigo

MEHROTRA, S., RASTOGI, R., KORTH, H. F., AND SILBERSCHATZ, A. 1992. Relaxing serializability in multidatabase systems. Second International Workshop on Research Issues on Data Engineering: Transaction and Query Processing, Mission Palms, Arizona, Feb.

Page 3: Serialização Relaxada em Banco de Dados Múltiplos

SumárioSumário

IntroduçãoModelo de banco de dados múltiploExecuções não serializáveisAplicação em ambientes MDBSConclusão

Page 4: Serialização Relaxada em Banco de Dados Múltiplos

IntroduçãoIntroduçãoModelo de transações padrão:

Transações executadas isoladamente mapeiam o BD de um estado consistente para outro estado consistenteEm Transações concorrentes, a consistência é garantida requerendo que a escala resultante da execução concorrente seja serializávelSe cada transação isoladamente preserva a consistência, então uma escala serializável também preserva.

Serialização: padrão de correção em BDsDifícil de ser alcançada em Bancos de Dados Múltiplos – MDBSSão necessários outros critérios de correção além da serialização

Page 5: Serialização Relaxada em Banco de Dados Múltiplos

Bancos de Dados Múltiplos - MDBSBancos de Dados Múltiplos - MDBS

Sistema que integra BDs pré-existentes e independentes

Os SGBDs locais podem empregar hardware e software heterogêneoPodem utilizar diferentes modelos lógicos, linguagens DDL e DML, controle de concorrência, etc.

Simula a integração lógica dos BDs, sem que haja uma integração física correspondentePermitem a execução de transações que acessam dados em diversos SGBDs locais

Page 6: Serialização Relaxada em Banco de Dados Múltiplos
Page 7: Serialização Relaxada em Banco de Dados Múltiplos
Page 8: Serialização Relaxada em Banco de Dados Múltiplos

Modelo de banco de dados múltiploModelo de banco de dados múltiplo

Transações: locais ou globaisTi é uma seqüência de leituras (rrii) e escritas (wwii) resultantes de um programa Escala global: execução concorrente de transações globais e locais Escala local: subconjunto da escala globalLocal Transaction Manager ou LTM em cada banco localGlobal Transaction Manager ou GTM, operando sobre todos os LTM

Page 9: Serialização Relaxada em Banco de Dados Múltiplos

Modelo de banco de dados múltiplo (2)Modelo de banco de dados múltiplo (2)

SBGDs locais:Autonomia de arquiteturaAutonomia de comunicação

Impactos da autonomia no modelo MDBS:SGBDs locais não sabem da existência dos demais SGBDsÉ necessário um GTM para garantir a consistênciaOperações externas podem acessar o banco sem o conhecimento do GTM

Page 10: Serialização Relaxada em Banco de Dados Múltiplos

Controle de Concorrência em MDBSControle de Concorrência em MDBS

Dificuldades:Autonomia de arquitetura:

Os diversos SGBDs possam utilizar diferentes esquemas de controle de concorrência, o que dificulta a serialização em MDBS.

Autonomia de comunicação: Não comunicam ao GTM informações sobre controle de concorrência O GTM pode não tomar conhecimento da ordem de serialização das

transações em vários locais

Page 11: Serialização Relaxada em Banco de Dados Múltiplos

Controle de Concorrência em MDBS (2)Controle de Concorrência em MDBS (2)

Papel do GTM:Para cada operação global a ser executada, o GTM seleciona o SGBD local onde a operação deverá ser executada;Para cada SGBD, o GTM aloca um servidor (um por SGBD por transação) e submete a operação ao servidor;O servidor encaminha a operação ao SGBD, que, por tê-la recebido de uma única máquina, trata-a como uma operação local.

Page 12: Serialização Relaxada em Banco de Dados Múltiplos

Execuções não serializáveisExecuções não serializáveis

Restrições de integridade como critério de correçãoTrabalhar com 2 tipos de RI:

explícitas: aquelas que podem ser formalmente definidas e facilmente expressadas;implícitas: aquelas que não são facilmente expressadas.

Algumas transações necessitam visualizar o BD consistente com respeito a apenas restrições explícitas, enquanto que outras transações devem ver o banco consistente com relação a ambas.

Page 13: Serialização Relaxada em Banco de Dados Múltiplos

Execuções não serializáveis (2)Execuções não serializáveis (2)

Ex: um banco que suporta transações de crédito, transferência e auditoria.

Uma restrição explícita seria que cada conta tenha saldo positivoUma restrição implícita seria que qualquer transação que recupera dados de múltiplas contas veja uma soma correta dos saldos de todas as contas.

Page 14: Serialização Relaxada em Banco de Dados Múltiplos

Considere:TT11 uma transação de transferência que transfere R$ 500,00 de uma conta AA num site ss11 para uma conta BB num site ss22.

TT22 uma transação de auditoria que retorna a soma das contas AA e BB

Uma escala global não serializável SS, resultante da execução concorrente de TT11 e TT22

As escalas locais SS11 e SS22, nos sites ss11 e ss22 respectivamente:

SS11: r: r11(a) w(a) w11(a) r(a) r22(a)(a)

SS22: r: r22(b) r(b) r11(b) w(b) w11(b)(b)

Page 15: Serialização Relaxada em Banco de Dados Múltiplos

Correção RSCorreção RS

Nova noção de correção: RS-Correctenessgarante que a consistência do BD é preservada e que cada transação vê um estado consistente do BD

Transações RSRestrições explícitas e implícitas

Transações não RSApenas restrições explícitas

Page 16: Serialização Relaxada em Banco de Dados Múltiplos

Correção RS (2)Correção RS (2)

Uma escala global SS consistindo de transações RS e transações não RS é dita ser RS-correta se:

preserva as restrições de integridade explícitas do banco de dados;

transações em SS visualizam estados consistentes com respeito às restrições de integridade explícitas

nenhum ciclo no grafo de serialização de SS contém uma transação RS (ou seja, nenhuma transação em SS é serializada tanto antes como depois de uma transação RS).

Page 17: Serialização Relaxada em Banco de Dados Múltiplos

Convenções p/ o restante do trabalhoConvenções p/ o restante do trabalho

Apenas restrições explícitas serão consideradasAssume-se que qualquer transação quando executada em isolamento, preserva as Restrições de Integridade do BD.Como resultado, qualquer escala serializável é dita RS correta.

Page 18: Serialização Relaxada em Banco de Dados Múltiplos

Aplicação em ambientes MDBSAplicação em ambientes MDBS

Novo protocolo: Forced Conflict 2PLForced Conflict 2PL ou FC2PLFC2PL Deve ser seguido pelo GTM a fim de garantir a correção RS das escalas globaisSGBSs locais que o adotam são denominados “2PL-sites”. Os demais são chamados “não 2PL-sites”.O SGBD local em cada site ssii contém uma unidade de dados ticketticketi i

Bloqueios globais e locais.

Page 19: Serialização Relaxada em Banco de Dados Múltiplos

FC2PLFC2PL

Toda TG obtém o bloqueio global correspondente a um item de dado, junto ao GTM, antes de acessar o item de dado;Uma TG, uma vez que libera um bloqueio global, não obtém mais nenhum bloqueio global;Uma TG não pode obter um bloqueio global em um item de dado se um bloqueio conflitante é mantido no item por outra TG; Uma TG não libera um bloqueio global a não ser que todos os bloqueios locais correspondentes ao bloqueio global mantido pela TG para itens de dados em 2PL-sites terem sido obtidos;

Page 20: Serialização Relaxada em Banco de Dados Múltiplos

FC2PL (2)FC2PL (2)O bloqueio global para um item de dado acessado por uma TG em um não 2PL-site é liberado apenas após sua operação no item de dado completar a execução;Toda TG com operações em um não 2PL-site ssii faz um write(ticketwrite(ticketii)) antes de executar qualquer de suas operações no site;Qualquer transação não RS com operações em um 2PL-site ssii executa um read(ticketread(ticketii));Transações RS executam write(ticketwrite(ticketii)) em qualquer 2PL site ssii .

Page 21: Serialização Relaxada em Banco de Dados Múltiplos

Teorema 1Teorema 1

Considere um MDBS onde todos os locais são Não-2PL. Se o protocolo FC2PL for utilizado, então todas as escalas globais serão serializáveis.

Page 22: Serialização Relaxada em Banco de Dados Múltiplos

Teorema 2Teorema 2

Nenhum ciclo no grafo de serialização de uma escala FC2PL SS contém transações RS.

Page 23: Serialização Relaxada em Banco de Dados Múltiplos

Teorema 3Teorema 3

Seja SS uma escala FC2PL. Se não há restrições de integridade entre itens de dados locais e globais, e os programas de transação global possuem estrutura fixa, então SS preserva a consistência do banco de dados, e as transações em SS visualizam estados consistentes do banco de dados

Page 24: Serialização Relaxada em Banco de Dados Múltiplos

ConclusãoConclusão

O artigo propõe uma forma mais geral para garantir a correção de um MDBS;As escalas RS-corretas garantem, além das restrições de integridade, que as transações verão estados consistentes do banco;O protocolo proposto garante que as escalas são RS-corretas, sem afetar a autonomia global dos sites.