Consistência Eventual - Sistemas Distribuidos e Tolerância a Falhas



Documentos relacionados
TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO. SISTEMAS DE GESTÃO DE BASE DE DADOS Microsoft Access TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO

Tarefa Orientada 16 Vistas

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo

Serviço a Pedido ( On Demand ) da CA - Termos e Política de Manutenção Em vigor a partir de 1 de Setembro de 2010

Sistemas Distribuídos

Programa de Parcerias e Submissão de Propostas 2014/15

Introdução ao Modelos de Duas Camadas Cliente Servidor

Alta Disponibilidade na IPBRICK

Arquitecturas Tolerantes a faltas em Sistemas Distribuídos

Procedimento de Gestão PG 02 Controlo de Documentos e Registos

CONDIÇÕES GERAIS E TERMOS DE UTILIZAÇÃO

Sistemas Informáticos

Política WHOIS do Nome de Domínio.eu

Arquitecturas de Software Licenciatura em Engenharia Informática e de Computadores

Disciplina de Banco de Dados Introdução

Departamento de Informática

Suporte Técnico de Software HP

ICAP GRUPO DMC OBA Proposto como normativo a integrar futuramente no CC ICAP

Fault Tolerance Middleware for Cloud Computing

Departamento de Informática

VORONOI STATE MANAGEMENT FOR PEER-TO-PEER MASSIVELY MULTIPLAYER ONLINE GAMES

Tarefa Orientada 13 Agrupamento e sumário de dados

Licenciatura em Engenharia Informática Sistemas Distribuídos I 2ª chamada, 6 de Julho de º Semestre, 2004/2005

Soluções de Gestão de Clientes e Impressão Universal

Bases de Dados. Lab 1: Introdução ao ambiente

Mestrado em Segurança da Informação e Direito no Ciberespaço. Segurança da informação nas organizações Gestão de Configuração

TECNOLOGIAS DE INFORMAÇÃO E COMUNICAÇÃO

Componentes de um sistema de firewall - II. Segurança de redes

Programação de Sistemas

Programação de Sistemas

Tarefa Orientada 12 Junção Externa, Auto-Junção e União

Serviço de instalação e arranque HP para o HP Insight Control

FIREWALL. Prof. Fabio de Jesus Souza. Professor Fabio Souza

Departamento de Engenharia Electrotécnica e de Computadores. Gestão de Operações. Sistema de Informação Empresarial Introdução ao Software Baan

1

Ferramentas de Modelação e Análise de Sistemas baseadas em Redes de Petri (RdP)

Universidade da Beira Interior

APROG - Civil. Excel. Técnicas de pesquisa de informação em tabelas. Instituto Superior de Engenharia do Porto

... Calendarização: 2 blocos de 90 m Metas/Objetivos Descritores Conceitos/Conteúdos Estratégias/Metodologias Avaliação

1. Ambiente de Trabalho

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon

SISTEMAS DISTRIBUIDOS

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

Manual do GesFiliais

Um cliente de cada vez:

Alterações a vigorar a partir de 1 de outubro de 2013

Apresentação de Solução

A VISTA BACKSTAGE PRINCIPAIS OPÇÕES NO ECRÃ DE ACESSO

GIAE VERSÃO JUNHO DE 2011 MUITO IMPORTANTE

Fault Tolerance Middleware for Cloud Computing

Engenharia de Requisitos

Possui como idéia central a divisão de um universo de dados a ser organizado em subconjuntos mais gerenciáveis.

Redes de Computadores I Licenciatura em Eng. Informática e de Computadores 1 o Semestre, 26 de Outubro de o Teste A

Replicação de servidores

REGULAMENTO DO PROGRAMA ADMINISTRAÇÃO ELETRÓNICA E INTEROPERABILIDADE SEMÂNTICA

2005 José Miquel Cabeças

Prof. Marcelo Machado Cunha

José Eduardo Mendonça S. Gonçalves

Uma Base de Dados é uma colecção de dados partilhados, interrelacionados e usados para múltiplos objectivos.

Comunicação documentos de transporte AT via Webservice Singest Sistema Integrado de Gestão Cambragest Serviços de Gestão e Software

Tarefa Orientada 2 Criar uma base de dados

Sistemas Distribuídos

O dono de uma livraria cuja base de dados é administrada por si pediu-lhe para efectuar as seguintes alterações ao preço dos livros:

PROGRAMA DE GESTÃO DOS RECENSEAMENTOS

GESTÃO de PROJECTOS. Gestor de Projectos Informáticos. Luís Manuel Borges Gouveia 1

Soluções de Gestão Integradas SENDYS ERP. Otimize a Gestão do Seu Negócio!

REDES DE COMPUTADORES I 2007/2008 LEIC - Tagus-Park TPC Nº 1. Avaliação sumário da matéria do capítulo 1

Copyright Proibida Reprodução. Prof. Éder Clementino dos Santos

Vale Projecto - Simplificado

Técnicas de Apresentação MANUAL DO CURSO

SYNCING.NET 2.0 Instalação & Configuração

Como Criar Sites Grátis de Sucesso

Perguntas mais frequentes

TÍTULO DE CAPITALIZAÇÃO APLUBCAP POPULAR 636 MODALIDADE POPULAR PAGAMENTO ÚNICO CONDIÇÕES GERAIS SOCIEDADE DE CAPITALIZAÇÃO: APLUB CAPITALIZAÇÃO S. A.

Desenvolvimento de uma Aplicação WEB para monitorização de BD Oracle

ISO 9001:2008. A International Organization for Standardization (ISO) publicou em a nova edição da Norma ISO 9000:

FAQ S PORTARIA DE CERTIFICAÇÃO DE SOFTWARE - ÓPTICA DO UTILIZADOR-

SISTEMAS OPERACIONAIS. Apostila 01 Assunto: Tipos de Sistemas Operacionais UNIBAN

Iniciar o Data Adapter Configuration Wizard. Toolbox Data Duplo clique em OleDbDataAdapter. Botão next na caixa de diálogo

Desenvolvimento Cliente-Servidor 1

TOTAL IMMERSION PROGRAMA D FUSION CONTRATO DE LICENÇA DE UTILIZADOR FINAL

Arquitetura de Computadores I

Introdução. Tipos de Futuros. O que são Futuros?

Manual do Utilizador


INTERNET. TCP/IP protocolo de comunicação sobre o qual se baseia a Internet. (conjunto de regras para a comunicação entre computadores)

PROJETO DE REGULAMENTO N.º ---/SRIJ/2015 REGRAS DOS JOGOS DE MÁQUINAS AUTOMÁTICAS DE FORTUNA OU AZAR

Manual Brother Image Viewer para Android

Transcrição:

Consistência Eventual Sistemas Distribuidos e Tolerância a Falhas Marco Bernardo Departamento de Informática Universidade da Beira Interior 25 de Maio de 2009

Descrição Geral 1 Introdução O Problema Definições Formas de Caracterização de Consistência 2 Sistema de Armazenamento e Processos Tipos de Consistências Variações da Consistência Eventual Combinação de Consistências 3 Perspectiva Consistência Fraca/Eventual 4 5

Introdução O Problema Definições Formas de Caracterização de Consistência Problema: O desenvolvimento de sistemas distribuídos confiáveis numa escala mundial, exige um compromisso entre consistência e disponibilidade. Proposta de solução: Tolerar eventuais consistências de dados em sistemas distribuídos de larga escala. Técnica de solução: Dado o objectivo mundial destes sistemas, usam-se técnicas de replicação de forma ubíqua para garantir performance e alta escalabilidade consistente.

Definições Introdução O Problema Definições Formas de Caracterização de Consistência Sistemas Ubíquos: Têm como objectivo tornar a interacção pessoa-máquina invisível, ou seja, integrar a informática com as acções e comportamentos naturais das pessoas. Amazon SimpleDB: Um Web-Service que fornece as principais funções de uma base de dados, quer a indexação, quer os query s.

O Problema Definições Formas de Caracterização de Consistência Formas de Caracterização de Consistência De acordo com Werner, existem duas formas de caracterizar a consistência: Do ponto de vista do programador/cliente - como são observados e actualizados os dados. Do ponto de vista do servidor - como é processado o fluxo das actualizações através do sistema e que garantias o sistema pode fornecer, no que diz respeito às actualizações.

Considerações Introdução Sistema de Armazenamento e Processos Tipos de Consistências Variações da Consistência Eventual Combinação de Consistências Sob o ponto de vista do cliente, quando se define um modelo de consistência, devem-se considerar os seguintes aspectos: Sistema de armazenamento - Definido como caixa-negra. Deve ser assumido que, por detrás do cenário, está algo em larga escala e altamente distribuído, para garantir durabilidade e disponibilidade. Processo A - Processo que escreve e lê a partir do sistema de armazenamento. Processos B e C - Processos independentes do processo A. Escrevem e lêem a partir do sistema de armazenamento. É importante considerar, que estes processos são independentes e necessitam de comunicar, para partilhar informação.

Tipos de Consistências (1/2) Sistema de Armazenamento e Processos Tipos de Consistências Variações da Consistência Eventual Combinação de Consistências Considerando que o processo A efectuou uma actualização num conjunto de dados, os seguintes exemplos ilustram os diferentes tipos de consistência: Consistência forte - Após a actualização completa, qualquer acesso subsequente (por A, B ou C) fornecerá o valor actualizado. Consistência fraca - O sistema não garante que os acessos subsequentes irão dar o valor actualizado. Um número de condições têm de ser conhecidas antes que o valor seja devolvido. O período entre a actualização e o momento em que é garantido ao observador que irá sempre observar o valor actualizado, é designado de janela de inconsistência.

Tipos de Consistências (2/2) Sistema de Armazenamento e Processos Tipos de Consistências Variações da Consistência Eventual Combinação de Consistências Consistência eventual - É uma forma específica de consistência fraca. O sistema de armazenamento garante que, se nenhuma actualização for feita ao objecto, todos os acessos irão devolver o último valor actualizado. Se não ocorrer nenhum erro, o tamanho máximo da janela de inconsistência pode ser determinado, com base em factores, tais como: Os atrasos de comunicação; A carga no sistema; O número de réplicas envolvidas do esquema de replicação. O sistema mais popular que implementa consistências eventuais é o DNS.

Sistema de Armazenamento e Processos Tipos de Consistências Variações da Consistência Eventual Combinação de Consistências Variações da Consistência Eventual (1/2) O modelo de consistência eventual apresenta um número de variações a considerar: Consistência causal - Se o processo A comunicou ao processo B que actualizou determinada informação, um acesso subsequente pelo processo B irá devolver o valor actualizado, sendo garantida uma nova escrita para substituir a escrita anterior. O acesso pelo processo C, que não tem relação causal com o processo A, está sujeito às regras normais da consistência eventual. Consistência leitura/escrita - Este é um modelo importante no qual o precesso A, após ter actualizado determinada informação, considera sempre o valor actualizado e nunca o anterior. Este é um caso especial da consistência causal.

Sistema de Armazenamento e Processos Tipos de Consistências Variações da Consistência Eventual Combinação de Consistências Variações da Consistência Eventual (2/2) Consistência de sessão - Considera-se como uma versão prática do modelo anterior, onde um processo acede ao sistema de armazenamento no contexto de uma sessão. Desde que exista sessão, o sistema garante consistência de leitura/escrita. Consistência de leitura monótona - Se um processo identificou um valor particular para um objecto, qualquer acesso subsequente nunca vai devolver quaisquer valores anteriores. Consistência de escrita monótona - Neste caso, o sistema garante a colocação em série da escrita pelo mesmo processo.

Combinação de Consistências Sistema de Armazenamento e Processos Tipos de Consistências Variações da Consistência Eventual Combinação de Consistências Um número destas propriedades pode ser combinado, por exemplo: Consistência de: Leitura Monótona Consistência de: Sessão Vantagens da combinação de consistências: Propriedades desejadas num sistema de consistência eventual; Torna mais simples a construção de aplicações; Permite ao sistema de armazenamento melhorar a consistência e fornecer maior disponibilidade.

Nível de Consistência Perspectiva Consistência Fraca/Eventual Sob o ponto de vista do servidor, o nível de consistência depende da forma como as actualizações são propagadas entre a réplica de dados. Isto permite: Melhorar a taxa de transferência; Fornecer escalabilidade.

Contextualização Introdução Perspectiva Consistência Fraca/Eventual A consistência fraca/eventual: Ocorre quando nem todas as réplicas de dados participam na operação de actualização. Este tipo de consistência verifica-se, mais normalmente, nas duas situações seguintes: Replicações sólidas para o escalonamento da leitura; Casos em que o acesso de dados é complicado.

Operação de Actualização Perspectiva Consistência Fraca/Eventual O intervalo de tempo até que todas as réplicas tenham sido actualizadas, é a janela de inconsistência. Na maioria dos sistemas, as actualizações são propagadas de uma maneira lenta para os restantes nodos, no conjunto de réplicas. Todo o sistema é vulnerável para a leitura, a partir de nodos, que ainda não tenham recebido as actualizações.

Melhoria da Consistência Perspectiva Consistência Fraca/Eventual O nível de consistência fornecido por um servidor, pode ser melhorado, através da comunicação, entre o cliente/servidor ou pelo próprio cliente: Dependendo da rigidez dos clientes, para com o servidor que executa o protocolo, podem ser alcançadas as consistências de: Leitura/Escrita; Sessão; Monótonas. Estas consistências são mais fáceis de garantir, se for sempre o mesmo servidor a atender determinado cliente. Com a melhoria das consistências anteriores, é possivel melhorar o modelo de consistência eventual, o que fornece melhores ferramentas para o programador.

O é um sistema de armazenamento, usado internamente em muitos serviços que constituem a plataforma e-commerce, tal como os serviços Web da Amazon. O objectivo da é: Permitir ao proprietário do serviço de aplicação, o qual cria uma instância do sistema de armazenamento Dynamo, fazer as trocas de informação entre: Consistência; Durabilidade; Disponibilidade; Performance.

Introdução A inconsistência de informação nos sistemas distribuídos em larga escala, deve ser tolerada por dois motivos: Melhoria de performance de leitura/escrita sob condições altamente concorrentes; Manuseamento de casos de partição, onde o modelo de maioria deveria realizar parte do trabalho indisponível, mesmo que os nodos estejam a processar. O programador deve: Estar consciente que as garantias da consistência são fornecidas pelo sistema de armazenamento. Ter em consideração a ideia anterior, aquando do desenvolvimento de aplicações.

FIM... Obrigado pela atenção!