6.1 Resumo das Características do Modelo Proposto

Documentos relacionados
4 O Modelo de Transações Proposto

Universidade Federal do Maranhão

Sistemas de Gerência de Bancos de Dados

Aula 03. Evandro Deliberal

Bancos de Dados Distribuídos. Gabriel Resende Gonçalves 4 de fevereiro de 2014

Banco de Dados. Controle de Concorrência e Recuperação de Transação. Prof. João Eduardo Ferreira Prof. Osvaldo Kotaro Takai

Controle de Transação

Aula 04. Evandro Deliberal

Formação de DBAs SQL Server 2008

3. À possibilidade de notificação, a uma comunidade de usuários, a respeito de fatos ou eventos críticos e úteis para seus usuários móveis;

Processamento de Transações. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Processamento de Transações. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

TRANSAÇÕES E CONTROLE DE CONCORRÊNCIA Em resumo: Transações: clientes podem necessitar que um servidor execute uma sequência de requisições de forma a

Banco de Dados I. Aula 18 - Prof. Bruno Moreno 22/11/2011

BANCO DE DADOS 2 TRANSAÇÃO

Gerenciamento de Transações em Banco de Dados

23/05/12. Conteúdo. Introdução ao gerenciamento de transações. Motivação. Motivação. Motivação. Motivação

Processamento de Transações

Processamento de Transações

Sistemas Distribuídos. 13 Transações Distribuídas. Transações Distribuídas. Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR

Controle de Transações. Banco de Dados André Luiz do Vale Soares

ANÁLISE E PROJETO DE BANCO DE DADOS

Roteiro. Noções de Controle de Concorrência. BCC321 - Banco de Dados I. Ementa. Finalidade do Controle de Concorrência.

SISTEMAS DISTRIBUÍDOS E TOLERÂNCIA A FALHAS MESTRADO DE ENGENHARIA INFORMÁTICA 2013/2014 DOCENTE: PROF. DRª. PAULA PRATA

Banco de Dados I 6 Transações e Controle de Concorrência

BD II (SI 587) Técnicas de Recuperação. Josenildo Silva.

Orientações. Transações - PostgreSQL. Relembrando: Propriedades desejáveis. Abrir Prompt de comando ROLLBACK

Banco de Dados II. Transações. Segurança: Introdução; Controle de Acesso; Criptografia; Recursos de SQL.

Sistemas Distribuídos. Ricardo Ribeiro dos Santos

PROCESSAMENTO DE TRANSAÇÕES

ANDRÉIA SIAS RODRIGUES UMA PROPOSTA DIFERENCIADA DE TAXONOMIA PARA MECANISMOS DE CONTROLE DE CONCORRÊNCIA DE BANCOS DE DADOS EM AMBIENTES SEM FIO

Criando Transações. Prof. Fernanda Baião. TbEstoqueLivros. TbEstoqueLivros. ID IDLoja IDLivro Estoque

UNIVERSIDADE FEDERAL DO MARANHÃO - UFMA. Banco de Dados II. Recuperação. Carlos Eduardo Portela Serra de Castro

Técnicas de Recuperação em Banco de Dados

Processamento de Transações

Sumário. Introdução a Transações

Roteiro. Noções de Recuperação de Falhas. BCC321 - Banco de Dados I. Ementa. Posicionamento

Bancos de Dados Distribuídos. Lucas Henrique Samuel Queiroz

Gestão de Segurança da Informação. Interpretação da norma NBR ISO/IEC 27001:2006. Curso e Learning Sistema de

Conceitos de Sistemas de Banco de Dados INE 5323

5 Uma Arquitetura para Implementação do Modelo de

e c d o o r B s s n i : l e F s

Sistemas Distribuídos Transações

Gerência de Transações Distribuídas

Arquitetura Adaptável para Execução de Transações Móveis

PCS3413. Engenharia de So-ware e Banco de Dados. Aula 21. Escola Politécnica da Universidade de São Paulo

Sumário. Controle de Concorrência

Contato. professorluisleite.wordpress.com

se a transação falhar entre os 3 passos 4 6, os passos 1 3 ficam sem efeito 4 read(b) Consistência

Sistemas Distribuídos

Instituto Federal de Educação, Ciência e Tecnologia de São Paulo - IFSP

Universidade Federal da Paraíba CCEN Departamento de Informática Disciplina: Banco de Dados. Aula 1 Introdução a Banco de Dados

Sistemas da Informação. Banco de Dados I. Edson Thizon

Sumário. Recuperação de Falhas

Arquiteturas para SGBD. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

DDL). O resultado da compilação dos parâmetros DDLs é

Banco de Dados Relacional

Introdução. Processamento de Transações. Introdução. Introdução. Transações. Transações. Transação

Concorrência. Prof. Márcio Bueno. Material do Prof. Paulo Pires

BDII SQL TRANSAÇÃO Revisão 2

TRANSAÇÕES: SISTEMA DE RECUPERAÇÃO E CONTROLE DE CONCORRÊNCIA

BD II (SI 587) Controle de Concorrência. Josenildo Silva.

Projeto de Sistemas Distribuídos. Considerações

INTRODUÇÃO AO PROJETO DE BANCO DE DADOS ORIENTADO A OBJETOS

SGBDs NoSQL Modelos e Sistemas de Colunas e Grafos. Aluno: Jorge Dias Disciplina: IN940

Conceitos. Gestão de Transacções. Transacção. Conceitos e Propriedades. Controlo de Concorrência. Recuperação. Transacções no SGBD Oracle

Conceitos Básicos. Fundação Centro de Análise, Pesquisa e Inovação Tecnológica Instituto de Ensino Superior - FUCAPI. Disciplina: Banco de Dados

Contato. professorluisleite.wordpress.com

Desenvolvimento de Aplicações Distribuídas

Alcides Pamplona

Revisão e Introdução 23/05/12. Controle Distribuído da Concorrência. Revisão de Conceitos. Revisão de Conceitos. Transação Operação

Bancos de Dados Distribuídos

Processamento de Transações

APRESENTAÇÃO. Página: 1

Palavras-chave: (banco de dados; prontuário médico; paciente); deve vir logo abaixo do resumo

BCD29008 Banco de dados

Bancos de Dados Distribuídos. Bancos de Dados Distribuídos. Conteúdo. Motivação. Motivação. Introdução aos BDs Distribuídos.

se a transacção falhar entre os passos 4 6, os passos 1 3 ficam sem efeito

Adaptação Dinâmica desistemas Distribuídos p.1/54

Banco de dados. Prof. Emiliano S. Monteiro

Construtores de Sicronização em OpenMP

Bancos de Dados NoSQL

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Transacções Atómicas Distribuídas

Projeto de Banco de Dados. Componentes de um Sistema de Informação. Arquitetura de SI. Sistema de Informação (SI) SI nas Organizações

Top. Esp em Banco de Dados

BCD29008 Banco de dados

Técnicas de Controle de Concorrência

Características de Sistemas Distribuídos

Sistemas de Bancos de Dados Distribuídos

Sistemas de Bancos de Dados Distribuídos

Banco de Dados I Curso: Sistemas de Informação

Introdução a Banco de Dados

Checkpoint. Checkpoint

Processamento de INDUSTRIA 4.0. Big Data. Aula #8 - Transações e concorrência MARMELADA NO RING, FONTE: ESTADAO EDUARDO CUNHA DE ALMEIDA

Aula 4. Prof: Carlos Eduardo de Carvalho Dantas

Transcrição:

6 Comparação entre s de Execução de Transação em Ambiente de Computação Móvel Este capítulo tem por objetivo apresentar um estudo comparativo entre os mais significativos modelos de execução de transação de banco de dados para ambientes de computação, descritos no capítulo 3, e o modelo proposto nesta tese (capítulos 4 e 5). São ressaltadas, nessa comparação, as características dos modelos de execução e como são tratadas as propriedades ACID em cada modelo analisado. 6.1 Resumo das Características do Proposto O modelo de transações proposto neste trabalho apresenta uma arquitetura para possibilitar a submissão de transações de bancos de dados a partir dos equipamentos móveis. Considera que o banco de dados, localizado e administrado na rede fixa, pode ter extratos de dados armazenados nos bancos de dados localizados nos equipamentos móveis (BD local), bancos esses que devem ter seus esquemas contidos no banco de dados de onde são extraídos. A consistência dos dados é mantida nos bancos de dados dos equipamentos fixos, enquanto os bancos de dados localizados nos equipamentos móveis possuem apenas uma consistência local. Cada equipamento e cada estação de suporte à mobilidade terão uma instanciação do framework proposto. A coordenação do processamento das transações móveis é do framework através de seus agentes de software, nos equipamentos móveis e fixos, cabendo aos SGBDs locais, tanto no equipamento quanto na rede fixa, a execução das operações das transações a eles invocadas. A ordem de prioridade, a confirmação ou o cancelamento das transações, bem como o controle da dependência de execução das transações, são de responsabilidade do framework proposto. Assim, o cliente pode interagir com o

158 SGBD nos momentos de conexão, de fraca conexão e sem conexão com a rede fixa. Para garantir a consistência dos bancos de dados localizados nos equipamentos móveis, são utilizados quatro tipos de transações: Transação Móvel (TM); Transação Móvel Local Compensável (TMLC); Transação Móvel Global (TMG) e Transação Móvel Local Compensatória (TMLCP). Para garantir a consistência dos bancos de dados localizados nos equipamentos da rede fixa, são utilizados, também, quatro tipos de transações: Transação Coordenadora de Mobilidade (TCM), Transação Coordenadora de Banco de Dados (TCBD), Transação Local Compensável (TLC) e Transação Local Compensatória (TLCP). Além dessas transações, é introduzida a Transação de Suporte à Mobilidade do Cliente (TSMC), para acompanhar as freqüentes migrações dos clientes móveis e facilitar a sua localização. Nesse modelo, as propriedades ACID das transações móveis são garantidas pelos SGBDs locais. Logo, a execução das Transações Compensáveis e Compensatórias de cada ambiente, e de rede fixa, será de responsabilidade dos SGBDs com os quais as instanciações do framework proposto interagem. Propriedade de Atomicidade A confirmação (commit) da Transação Móvel (TM) depende da confirmação da Transação Móvel Local Compensável (TMLC) e da Transação Móvel Global (TMG). Já a confirmação da TMG depende da confirmação das transações submetidas aos SGBDs da rede fixa. O protocolo de commit usado para garantir a atomicidade em cada banco de dados é inerente aos SGBDs acessados a partir do framework, como, por exemplo, Two Phase Commit - 2PC, no SGBD Tino. Estando o equipamento no modo conectado ou desconectado, a TM é sempre confirmada em duas etapas. Na primeira etapa, a confirmação da TM é considerada temporária, pois somente é exigida a confirmação da TMLC no equipamento. Na segunda etapa, a confirmação da TM se dá em função da confirmação da TMG e de suas subtransações, executadas na rede fixa. Dessa forma, caso o equipamento esteja desconectado, somente a primeira etapa da confirmação da TM é executada. Logo após a conexão do equipamento, a TMG é executada, e, caso tenha sucesso na sua execução, a TM também é confirmada.

159 Nesse modelo, a ocorrência de cancelamentos em cascata é minimizada, uma vez que a única forma de cancelamento da TM é em caso de divergências de esquemas entre os bancos de dados dos equipamentos móveis e fixos. Assim, cancelamentos de transações em função de problemas semânticos da aplicação podem ser resolvidos com a intervenção do administrador do banco de dados da rede fixa. Em qualquer outro caso, a TM é ressubmetida para execução na rede fixa até que seja confirmada com sucesso. Propriedade de Consistência A consistência dos dados é mantida entre os dados localizados nos bancos de dados dos equipamentos móveis e dos bancos de dados da rede fixa. O banco de dados do equipamento é consistente apenas localmente e dá suporte à execução das transações solicitadas localmente, principalmente nos momentos de desconexão. Já o banco de dados da rede fixa é consistente globalmente. Caso as necessidades da aplicação permitam que os bancos de dados sejam extraídos para os bancos de dados dos equipamentos móveis com uma fragmentação, sem interseção dos fragmentos, a consistência de cada banco de dados localizado nos equipamentos móveis será igual à consistência do banco de dados global, exceto nos momentos de retardo de execução da TMG na rede fixa. Caso haja divergência entre os esquemas dos bancos de dados do equipamento e fixo, a transação que for confirmada localmente terá que ser cancelada, e seus efeitos serão compensados através da execução de transações compensatórias. Propriedade de Isolamento O modelo proposto concede visibilidade dos resultados das transações confirmadas localmente para outras transações em execução no banco de dados localizado no equipamento. Propriedade de Durabilidade O modelo proposto garante a durabilidade dos efeitos das transações locais somente na confirmação (commit) da transação. Entretanto, se uma

160 transação foi confirmada localmente, a menos que apresente divergências de esquema, será confirmada globalmente e terá os seus resultados duráveis. 6.2 s de Execução A Tabela 6.1 apresenta um resumo comparativo das características dos modelos de execução analisados.

161 Tipo de Transação Solicitante da Transação Execução no Equipamento Móvel Execução na Rede com Fio Móvel Clustering Rigorosas e Equip. Transações fracas e Transações rigorosas e Fracas commit local no commit das transações modo fracas (sincronização, desconectado. atualizações Participação na permanentes ) execução de transações rigorosas no modo conectado Two-Tier De base e Equip. Transações Transações de base Replica- Provisórias provisórias no tion modo desconectado. Participação na execução de transações de base no modo conectado Pro- De longa Equip. O agente de O gerente de compacto é motion duração e compacto executa encarregado da Aninhadas inteiramente a construção de compactos divididas transação e produz e do commit de os commits locais transações confirmadas (commit) localmente (sincronização, atualizações permanentes)

162 Tipo de Transação Solicitante da Transação Execução no Equipamento Móvel Execução na Rede com Fio Móvel Reporting Aninhadas Equip. Subtransações e Transações globais e abertas com / transações globais subtransações atomicidade, Equip. fixo Não compensáveis, Reporting e Cotransactions Semantics- De longa Equip. Transação e Em resposta à based duração commit local solicitação do equip., objetos são fragmentados (split) pelo servidor de banco de dados e atualizados na reintegração (merge) Prewrite De longa Equip. Transação e Gerenciamento de duração commit local bloqueio e commit das (aninhadas e transações confirmadas divididas) localmente (operações write)

163 Tipo de Transação Solicitante da Transação Execução no Equipamento Móvel Execução na Rede com Fio Móvel Kangaroo Divididas e Equip. Não possui Coordenação e execução Aninhadas transações para o da transação inteira abertas Equip. MDSTPM Locais e Mul- Equip. Locais Coordenação e execução titransações das multitransações Móvel, Local Equip. Transação, Transação global, Proposto compensável, Transação local Transação local Móvel global e compensável e compensável e Compen- Transação Transação satória compensatória. compensatória. Coordenação de Acompanhamento da migração para o localização do cliente ambiente rede fixa e coordenação de migração para o ambiente rede fixa Tabela 6.1: Quadro comparativo dos modelos de execução de transações

164 6.3 Tratamento das Propriedades ACID A seguir, são apresentados quadros de resumo para facilitar a visão comparativa entre os modelos de execução analisados e o modelo proposto, quanto ao tratamento das propriedades ACID. Os modelos MDSTPM e Kangaroo não aparecem nos quadros, uma vez que não apresentam novas soluções para as propriedades ACID, já que a execução de suas transações não é afetada pela mobilidade, por ser de responsabilidade do SGBD, localizado no equipamento fixo. 6.3.1 A Propriedade de Atomicidade A propriedade de atomicidade impõe que ou todas as operações da transação são refletidas corretamente no banco de dados ou nenhuma o será. A Tabela 6.2 apresenta um quadro comparativo com as características dos modelos de transações estudados e o modelo proposto, em relação à propriedade de atomicidade. Essa comparação se dá, principalmente, em função do que é executado nos equipamentos móveis e nos equipamentos fixos.

165 Processo de Validação Primeiro passo no equip. Segundo passo na estação de base/servidor de banco de dados Clustering Modo desconectado: Commit local das transações fracas Modo conectado: 2PC para transações rigorosas Commit envolve reconciliação sintática com cancelamento e desfazimento dos efeitos (rollback) na solução de conflitos Two-Tier Replication Modo desconectado: Commit local das transações provisórias. Modo conectado: protocolo de commit para as transações de base Transação provisórias são reexecutadas levando-se em conta seus critérios de aceitação Pro-motion Commit local de todas as transações locais O processo de sincronismo verifica os compactos envolvidos nas transações locais. Em caso de conflito, as transações locais são canceladas e procedimentos de contingência são executados Prewrite Commit local de todas as transações locais Atualizações locais são tornadas permanentes por operações de gravação (write) Semantics-based Commit local Reintegração de atualizações (merge). Como os fragmentos são cópias exclusivas e possuem anexadas suas condições de consistência, não existe conflito na reintegração

166 Processo de Validação Primeiro passo no equip. Segundo passo na estação de base/servidor de banco de dados Reporting Todas as subtransações são atômicas e podem ser confirmadas (commit) independentemente das transações-pai. Para subtransações compensáveis, no caso de cancelamento (abort), transações compensatórias são executadas - Proposto Modo desconectado: Commit local das Transações Móveis Locais Compensáveis (TMLCs). Modo conectado: Protocolo de confirmação para as Transações Móveis Globais (TMGs) e commit da Transação Móvel (TM) Transações Móveis (TMs) são também executadas nos bancos de dados locais da rede fixa, tornando suas operações permanentes Tabela 6.2: Quadro comparativo da propriedade de atomicidade

167 6.3.2 A Propriedade de Consistência Uma transação é preservadora de consistência se a sua execução completa levar o banco de dados de um estado consistente para outro estado também consistente, em que um estado consistente de banco de dados satisfaz às restrições especificadas no esquema, bem como quaisquer outras restrições que devem se manter no banco de dados. A Tabela 6.3 apresenta um quadro comparativo com as características dos modelos de transações estudados e o modelo proposto, em relação à propriedade de consistência. Uma característica comum entre os modelos estudados é que a semântica dos objetos é essencial para garantir a consistência dos dados nas aplicações móveis. Cada modelo explora essa característica de uma forma particular, conforme será apresentado a seguir.

168 Conceitos Básicos Uso de Informações Semânticas Clustering 2 versões de dados: rigorosa (uma cópia serial) e fraca (graus de inconsistência, evolução de dados no modo desconectado) Definição da função h e graus de inconsistência Two-Tier Replication 2 versões de dados: principal (uma cópia serial) e provisória (evolução dos dados locais no modo desconectado) Critério de aceitação Pro-motion Compactos incluem métodos específicos do tipo, regras de consistência e obrigações Construção dos compactos e procedimentos de contingência Prewrite Seriação é baseada na ordem do commit local das transações móveis Definição de variantes de dados (gravação antecipada/gravação) Semantics-based Fragmentação de objetos (condições de consistência e operações de divisão/união) Fragmentação

169 Conceitos Básicos Uso de Informações Semânticas Reporting Abordagem de multitransações Delegações e transações compensatórias Proposto 2 versões de dados, uma cópia serial nos equipamentos móveis com inconsistência até a atualização na rede fixa Utilização de transações compensatórias nos bancos de dados localizados nos equipamento móveis e fixos Tabela 6.3: Quadro comparativo da propriedade de consistência

170 6.3.3 A Propriedade de Isolamento O isolamento diz respeito à propriedade de um modelo de transações poder executar diversas transações concomitantemente. Assim, embora diversas transações possam ser executadas de forma concorrente, o sistema garante que para todo par de transações T i e T j, T i tem a sensação de que T j já terminou sua execução antes de T i começar, ou que T j começou a sua execução após T i terminar. Dessa forma, cada transação não toma conhecimento de outras transações concorrentes no sistema. A propriedade de isolamento é fortemente relacionada com a propriedade de consistência, em função de a execução da transação de forma isolada preservar a consistência do banco de dados. Havendo disponibilidade dos dados localmente, essa propriedade propicia a implementação de diversos tipos de autonomia, levando os processos locais executados nos equipamentos móveis a não ficarem bloqueados quando ocorrerem desconexões. Assim, a comparação apresentada leva em conta, principalmente, a questão da visibilidade dos resultados das transações e os protocolos de controle de concorrência utilizados. Conforme se pode observar, a propriedade de isolamento não é exigida por todos os modelos estudados; alguns deles permitem a visibilidade de resultados intermediários de suas transações. A Tabela 6.4 apresenta um quadro comparativo com as características dos modelos de transações estudados e o modelo proposto, em relação à propriedade de isolamento.

171 Visibilidade Protocolo de Controle de Concorrência Clustering Resultados das transações confirmadas localmente são visíveis pelas transações fracas no mesmo equip. Bloqueio em duas fases (2PL) e são propostos 4 tabelas de conflitos e novos tipos de bloqueio Two-Tier Replication Resultados das transações confirmadas localmente são visíveis pelas transações provisórias no mesmo equip. Mecanismos de bloqueio Pro-motion Resultados das transações confirmadas localmente são visíveis pelas transações no mesmo equip. Bloqueio em duas fases (2PL) Prewrite Resultados das transações confirmadas localmente são visíveis por todos os equipamentos Bloqueio em duas fases (2PL) estendido, e são propostos uma tabela de conflitos e novos tipos de bloqueio Semantics-based Resultados das transações confirmadas localmente são visíveis pelas transações no mesmo equip. Bloqueio em duas fases (2PL) para controlar o acesso aos fragmentos na cache local

172 Visibilidade Protocolo de Controle de Concorrência Clustering Resultados das transações confirmadas localmente são visíveis pelas transações fracas no mesmo equip. Bloqueio em duas fases (2PL), e são propostos 4 tabelas de conflitos e novos tipos de bloqueio Reporting Com subtransações atômicas, co-transaction e reporting, a visibilidade é permitida antes do commit da transação global - Proposto Resultados das Transações Móveis Locais Compensáveis (TMLCs) confirmadas localmente são visíveis pelas TMLCs no mesmo equip. Mecanismo de bloqueio do SGBD acessado a partir do framework Tabela 6.4: Quadro comparativo da propriedade de isolamento

173 6.3.4 A Propriedade de Durabilidade A durabilidade é a garantia de que, depois de a transação terminar com sucesso (fazer seu commit), as mudanças que ela fez no banco de dados persistem, até mesmo se houver falhas no sistema. A Tabela 6.5 apresenta um quadro comparativo com as características dos modelos de transações estudados e o modelo proposto, em relação à propriedade de durabilidade. Destaca como a durabilidade é efetivada nos modelos de transações, levando-se em consideração quais garantias esses modelos apresentam e as eventuais desvantagens em suas implementações.

174 Garantias de Durabilidade Desvantagens Clustering Sim, após o commit (ressincronização) Transações confirmadas localmente podem ser desfeitas devido a conflitos de ressincronização Two-Tier Replication Sim, após o commit (reexecução) Transações confirmadas localmente podem ser desfeitas devido a conflitos de ressincronização durante a reexecução Pro-motion Sim, após o commit (ressincronização) Transações confirmadas localmente podem ser desfeitas devido a conflitos de ressincronização Prewrite Sim, após o commit local Muitas mensagens trocadas entre o equip. e a estação de base Semantics-based Sim, após o commit local Redução da disponibilidade dos fragmentos no servidor de banco de dados

175 Garantias de Durabilidade Desvantagens Reporting Sim, se a transação-pai confirma, as subtransações são duráveis - Proposto Sim, após o commit das Transações Móveis Locais Compensáveis (TMLCs) e das Transações Móveis Globais (TMG) (reexecução) Troca de mensagens entre os agentes pode acusar overhead nos ambientes e fixo Tabela 6.5: Quadro comparativo da propriedade de durabilidade 6.4 Resumo do Capítulo Este capítulo apresentou uma análise comparativa de como os modelos descritos no capítulo 3 e o modelo proposto nos capítulos 4 e 5 executam suas transações, destacando como as propriedades de Atomicidade, Consistência, Isolamento e Durabilidade (ACID) são suportadas por eles. Cada propriedade, em particular, foi comparada separadamente, visando mostrar as diferenças mais relevantes entre os modelos. O próximo capítulo apresenta uma síntese da pesquisa, suas principais contribuições e limitações, os trabalhos que poderão ser desenvolvidos como uma decorrência desta tese e algumas considerações finais.